Vodafone [UK] FTTH residential VoIP service

configuration
siptrunk
Tags: #<Tag:0x00007f7024fcde10> #<Tag:0x00007f7024fcdcd0>

(United Kingdom) #1

Hi all,

I’ve recently had Vodafone’s FTTH broadband installed and along with the package you get a phone line delivered via VoIP. Unfortunately the way this is delivered is via their router which only allows you to plug a standard phone handset into the back.

I’d like to ditch the supplied router in favour of my own and use a separate FreePBX box to connect to the phone service.

Vodafone (rather surprisingly) supplied me with the following details…

SIP_LINE1_USERNAME - voiXXXXXXXXX
SIP_LINE1_PASSWORD - XXXXXXXXXX
SIP_LINE1_URI - voiXXXXXXXXX
SIP_OUTBOUND_PROXY - 10a.Z4.bbvoice.vodafone . co . uk
SIP_REGISTRAR_SERVER - resvoip.vodafone . co . uk

Only problem is I can’t get them to work with either a softphone or old Polycom SoundPoint IP331. Neither the proxy or the registrar server resolve.

I decided to use Wireshark to capture the traffic between the router and the ONT box on the wall which gave me a few clues. Once the router has booted and the connection is up the router first of all does an SRV lookup on the above mentioned proxy address but adds a couple of bits to the address first - ‘_sip._udp.10a.Z4.bbvoice.vodafone . co . uk’

After that following the registration process seems normal but it still uses the ‘resvoip.vodafone . co . uk’ address while registering.

This is the capture of the register packet… (there’s lots of X’s!)

Session Initiation Protocol (REGISTER)
    Request-Line: REGISTER sip:resvoip.vodafone.co.uk SIP/2.0
        Method: REGISTER
        Request-URI: sip:resvoip.vodafone.co.uk
            Request-URI Host Part: resvoip.vodafone.co.uk
        [Resent Packet: False]
    Message Header
        From: <sip:voiXXXXXXXXX@resvoip.vodafone.co.uk>;tag=XXXXXXXX-XXXXXXXX-XXXX-XXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
            SIP from address: sip:voiXXXXXXXXX@resvoip.vodafone.co.uk
                SIP from address User Part: voiXXXXXXXXX
                SIP from address Host Part: resvoip.vodafone.co.uk
            SIP from tag: XXXXXXXX-XXXXXXXX-XXXX-XXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
        To: <sip:voiXXXXXXXXX@resvoip.vodafone.co.uk>
            SIP to address: sip:voiXXXXXXXXX@resvoip.vodafone.co.uk
                SIP to address User Part: voiXXXXXXXXX
                SIP to address Host Part: resvoip.vodafone.co.uk
        Call-ID: XXXXXXXX-XXXXXXXX-XXXX-XXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
        [Generated Call-ID: XXXXXXXX-XXXXXXXX-XXXX-XXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX]
        CSeq: 1 REGISTER
            Sequence Number: 1
            Method: REGISTER
        Via: SIP/2.0/UDP X.X.X.X:5065;rport;branch=XXXXXXX-XXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
            Transport: UDP
            Sent-by Address: X.X.X.X
            Sent-by port: 5065
            RPort: rport
            Branch: XXXXXXX-XXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
        Max-Forwards: 70
        Supported: replaces,100rel,timer
        X-Serialnumber: [SERIAL NUMBER OF ROUTER]
        User-Agent: Vox 3.0v Build 19.2.0307-3261 --  [SERIAL NUMBER OF ROUTER]
        Expires: 3600
        Contact: <sip:voiXXXXXXXXX@X.X.X.X:5065>
            Contact URI: sip:voiXXXXXXXXX@X.X.X.X:5065
                Contact URI User Part: voiXXXXXXXXX
                Contact URI Host Part: X.X.X.X
                Contact URI Host Port: 5065
        Content-Length: 0

This picture shows the whole sequence. I can post more info from the capture if needed.

Either way, I’m stuck on trying to get the connection working within FreePBX as a chan_sip trunk. Vodafone reckon that I can use 3rd party equipment with the service but so far I haven’t had any luck. If anyone can give me any pointers with this I’d be really grateful.

Thanks :slight_smile:


#2

Too many x’s, cant’t compute :wink:


(Ricardo) #3

Just in case of Polycom soundpoint IP331, have added user name onto server address setting?
user_name@server_address (Polycom field help message) Enter a line identification address that the phone uses to register with the server. The address may include a user name, the host of the phone’s SIP URI

SIP_LINE1_USERNAME @resvoip.vodafone.co.uk


(United Kingdom) #4

Yes, I’ve tried that and I don’t seem to get anywhere. The phone won’t register and I’ve literally spent ages trying various things with FreePBX to make this work.

Looking at the original packet capture from the router I noticed two things, first of all in the register string, there’s as custom header…

X-Serialnumber: [SERIAL NUMBER OF ROUTER]

This custom header is sent in all communications. So I’m wondering if I need to make sure this is present in the FreePBX configuration. How I’d go about this I’m not sure. I’ve found topic on inserting custom headers when making a call but not on how to insert a custom header for a trunk to use at all times (if that makes sense)

When watching with the traffic with Wireshark between either the Soundpoint phone or FreePBX, I see the request to REGISTER, but, I never get a response from the remote server.

Looking at the original capture using Vodafone’s router I can see a 100 Trying response followed by a 407 Proxy Authentication Required response. The capture goes on to show the router completing the registration by authenticating with the proxy server…

Snippet of the authentication packet

    Proxy-Authorization:
    Authentication Scheme: Digest
    Username: "voiXXXXXXXXX"
    Realm: "Realm"
    Nonce Value: "XxXxX"
    Authentication URI: "sip:resvoip.vodafone.co.uk:5060"
    Digest Authentication Response: "XxXxX"
    Algorithm: MD5
    CNonce Value: "XxXxX"
    QOP: auth
    Nonce Count: 00000001

I’m wondering if the fact the custom header isn’t present means I never get a response from the remote server. Assuming I could get that header in, can I get FreePBX to authenticate with the proxy server in the same way as above?? I’m struggling to get anywhere at all at the moment.

I’m using the following details in the Outgoing section of the SIP settings…

host=resvoip.vodafone.co.uk
username=voiXXXXXXXX
secret=XXXX
type=friend
qualify=yes
outboundproxy=10a.Z4.bbvoice.vodafone.co.uk
insecure=no
fromdomain=resvoip.vodafone.co.uk
fromuser=voiXXXXXXXX
callreinvite=no
trustrpid=yes
sendrpid=yes
transport=UDP

and this as the registration string in the incoming section…

'voiXXXXXXX@resvoip.vodafone.co.uk:XXXX@s1.bshn07.10a.bbvoice.vodafone.co.uk:5060/voiXXXXXXX`

In the registration string I’m manually using the address that a SRV lookup shows with regards to the outbound proxy as the outboundproxy string isn’t resolved when watching Wireshark. It doesn’t add the_udp._sip. bit at the beginning to perform the SRV lookup.

This is turning into far more than I thought it would be, don’t like to be beaten though :confused:

Any help would again be greatly appreciated.

Thanks,


#6

I tried from here with dummy data and also didn’t get a response from s1.bshn07.10a.bbvoice.vodafone.co.uk

My suggestion is that you take the successful REGISTER packet that you captured and save it to a file on your PBX. Using ncat, send the UDP packet to 195.89.27.232 port 5060 and see whether you get the expected 407 response. If you do, then try various edits (such as removing the X-Serialnumber header), to determine what ‘secret sauce’ is needed to get a reply.