[asterisk-users] Asterisk SIP with no RTP audio port (was Internode weirdness)

Da Rock asterisk-users at herveybayaustralia.com.au
Sat Jan 22 18:18:19 CST 2011


On 01/22/11 22:04, Da Rock wrote:
> On 01/22/11 20:00, Da Rock wrote:
>> On 01/21/11 20:28, Da Rock wrote:
>>> On 01/21/11 03:19, Tom Rymes wrote:
>>>> On 01/19/2011 10:34 PM, Da Rock wrote:
>>>>
>>>>> WARNING[988]: chan_sip.c:19069 handle_response_invite: Re-invite to
>>>>> non-existing call leg on other UA. SIP dialog
>>>>> '481cf0543743e6bb7006991d409ed3bc at 150.101.178.33:5060'. Giving up.
>>>>
>>>> Have you tried disallowing re-invites?
>>> Sorry for the delay, but I've tried both yes and no- one of the 
>>> first things I tried, but I get your reasoning.
>>>
>>> Thanks
>> Some more information has come to light- bit of luck this clue happen 
>> to come to my attention: My provider could be using a Broadworks 
>> system. Does that change things much?
>>
>> In my sip debug for the peer it flashed up realm="Broadworks" from 
>> the peer.
> Being very new to asterisk and SIP I'm still trying to learn the 
> "protocol". Perhaps someone here may be able to correct my 
> understanding if necessary (and a point in the right direction would 
> help significantly).
>
> What I wasn't realising was that if I set sip debug on it output the 
> entire sip message. So my output looks like this:
>
> -- Executing [0871271201 at users:1] Goto("SIP/<local ata>-00000017", 
> "internode-outgoing,0871271201,1") in new stack
>     -- Goto (internode-outgoing,0871271201,1)
>     -- Executing [0871271201 at internode-outgoing:1] Dial("SIP/<local 
> ata>-00000017", "SIP/0871271201 at sip-out") in new stack
> Audio is at 5060
> Video is at <asterisk ip>:5060
> Text is at <asterisk ip>:5060
> Adding codec 0x4 (ulaw) to SDP
> Adding codec 0x2 (gsm) to SDP
> Adding codec 0x8 (alaw) to SDP
> Adding codec 0x10 (g726aal2) to SDP
> Adding codec 0x20 (adpcm) to SDP
> Adding codec 0x40 (slin) to SDP
> Adding codec 0x80 (lpc10) to SDP
> Adding codec 0x200 (speex) to SDP
> Adding codec 0x400 (ilbc) to SDP
> Adding codec 0x800 (g726) to SDP
> Adding codec 0x1000 (g722) to SDP
> Adding codec 0x8000 (slin16) to SDP
> Adding video codec 0x100000 (h263p) to SDP
> Adding text codec 0x4000000 (red) to SDP
> Adding text codec 0x8000000 (t140) to SDP
> Adding non-codec 0x1 (telephone-event) to SDP
> Reliably Transmitting (no NAT) to 203.2.134.1:5060:
> INVITE sip:0871271201 at sip.internode.on.net SIP/2.0
> Via: SIP/2.0/UDP <asterisk ip>:5060;branch=z9hG4bK41104eea
> Max-Forwards: 70
> From: "Skinner's Home" <sip:<local ata>@<asterisk ip>>;tag=as6683ffea
> To: <sip:0871271201 at sip.internode.on.net>
> Contact: <sip:<local ata>@<asterisk ip>:5060>
> Call-ID: 5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060
> CSeq: 102 INVITE
> User-Agent: Asterisk PBX 1.8.1.1
> Date: Sat, 22 Jan 2011 11:23:35 GMT
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, 
> INFO, PUBLISH
> Supported: replaces, timer
> Content-Type: application/sdp
> Content-Length: 736
>
> v=0
> o=root 189870721 189870721 IN IP4 <asterisk ip>
> s=Asterisk PBX 1.8.1.1
> c=IN IP4 <asterisk ip>
> b=CT:384
> t=0 0
> m=audio 17220 RTP/AVP 0 3 8 112 5 10 7 110 97 111 9 118 101
> a=rtpmap:0 PCMU/8000
> a=rtpmap:3 GSM/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:112 AAL2-G726-32/8000
> a=rtpmap:5 DVI4/8000
> a=rtpmap:10 L16/8000
> a=rtpmap:7 LPC/8000
> a=rtpmap:110 speex/8000
> a=    -- Called 0871271201 at sip-out
>
> <--- SIP read from UDP:203.2.134.1:5060 --->
> SIP/2.0 100 Trying
> Via: SIP/2.0/UDP <asterisk ip>:5060;received=<my ext 
> ip>;branch=z9hG4bK41104eea;rport=61533
> From: "<local ata>" <sip:<local ata>@<asterisk ip>>;tag=as6683ffea
> To: <sip:0871271201 at sip.internode.on.net>
> Call-ID: 5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060
> CSeq: 102 INVITE
>
> <------------->
> --- (6 headers 0 lines) ---
> Reliably Transmitting (no NAT) to 203.2.134.1:5060:
> OPTIONS sip:sip.internode.on.net SIP/2.0
> Via: SIP/2.0/UDP <asterisk ip>:5060;branch=z9hG4bK7ab229d7
> Max-Forwards: 70
> From: "Unknown" <sip:Unknown@<asterisk ip>>;tag=as72e93b63
> To: <sip:sip.internode.on.net>
> Contact: <sip:Unknown@<asterisk ip>:5060>
> Call-ID: 068700ad12b1d48a5059a1837a04a8b3@<asterisk ip>:5060
> CSeq: 102 OPTIONS
> User-Agent: Asterisk PBX 1.8.1.1
> Date: Sat, 22 Jan 2011 11:24:00 GMT
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, 
> INFO, PUBLISH
> Supported: replaces, timer
> Content-Length: 0
>
>
> ---
>
> <--- SIP read from UDP:203.2.134.1:5060 --->
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP <asterisk ip>:5060;received=<my ext 
> ip>;branch=z9hG4bK7ab229d7;rport=61533
> From: "Unknown" <sip:Unknown@<asterisk ip>>;tag=as72e93b63
> To: <sip:sip.internode.on.net>;tag=488684762-1295695493625
> Call-ID: 068700ad12b1d48a5059a1837a04a8b3@<asterisk ip>:5060
> CSeq: 102 OPTIONS
> Allow-Events: 
> call-info,line-seize,dialog,message-summary,as-feature-event
> Content-Length: 0
>
> <------------->
> --- (8 headers 0 lines) ---
> Really destroying SIP dialog 
> '068700ad12b1d48a5059a1837a04a8b3@<asterisk ip>:5060' Method: OPTIONS
> Reliably Transmitting (no NAT) to 203.2.134.1:5060:
> OPTIONS sip:sip.internode.on.net SIP/2.0
> Via: SIP/2.0/UDP <asterisk ip>:5060;branch=z9hG4bK53bdf76d
> Max-Forwards: 70
> From: "Unknown" <sip:Unknown@<asterisk ip>>;tag=as2a328631
> To: <sip:sip.internode.on.net>
> Contact: <sip:Unknown@<asterisk ip>:5060>
> Call-ID: 42d9681e4b8dcad66879b54c697d7e32@<asterisk ip>:5060
> CSeq: 102 OPTIONS
> User-Agent: Asterisk PBX 1.8.1.1
> Date: Sat, 22 Jan 2011 11:24:00 GMT
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, 
> INFO, PUBLISH
> Supported: replaces, timer
> Content-Length: 0
>
>
> ---
>
> <--- SIP read from UDP:203.2.134.1:5060 --->
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP <asterisk ip>:5060;received=<my ext 
> ip>;branch=z9hG4bK53bdf76d;rport=61533
> From: "Unknown" <sip:Unknown@<asterisk ip>>;tag=as2a328631
> To: <sip:sip.internode.on.net>;tag=1907972657-1295695493739
> Call-ID: 42d9681e4b8dcad66879b54c697d7e32@<asterisk ip>:5060
> CSeq: 102 OPTIONS
> Allow-Events: 
> call-info,line-seize,dialog,message-summary,as-feature-event
> Content-Length: 0
>
> <------------->
> --- (8 headers 0 lines) ---
> Really destroying SIP dialog 
> '42d9681e4b8dcad66879b54c697d7e32@<asterisk ip>:5060' Method: OPTIONS
>
> <--- SIP read from UDP:203.2.134.1:5060 --->
> SIP/2.0 408 Request Timeout
> Via: SIP/2.0/UDP <asterisk ip>:5060;received=<my ext 
> ip>;branch=z9hG4bK41104eea;rport=61533
> From: "<local ata>" <sip:<local ata>@<asterisk ip>>;tag=as6683ffea
> To: <sip:0871271201 at sip.internode.on.net>;tag=aprqngfrt-3s5u6r20000c6
> Call-ID: 5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060
> CSeq: 102 INVITE
>
> <------------->
> --- (6 headers 0 lines) ---
> [Jan 22 21:24:08] WARNING[993]: chan_sip.c:19069 
> handle_response_invite: Re-invite to non-existing call leg on other 
> UA. SIP dialog '5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060'. 
> Giving up.
> Transmitting (no NAT) to 203.2.134.1:5060:
> ACK sip:0871271201 at sip.internode.on.net SIP/2.0
> Via: SIP/2.0/UDP <asterisk ip>:5060;branch=z9hG4bK41104eea
> Max-Forwards: 70
> From: "<local ata>" <sip:<local ata>@<asterisk ip>>;tag=as6683ffea
> To: <sip:0871271201 at sip.internode.on.net>;tag=aprqngfrt-3s5u6r20000c6
> Contact: <sip:<local ata>@<asterisk ip>:5060>
> Call-ID: 5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060
> CSeq: 102 ACK
> User-Agent: Asterisk PBX 1.8.1.1
> Content-Length: 0
>
>
> ---
> Scheduling destruction of SIP dialog 
> '5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060' in 6400 ms 
> (Method: INVITE)
>     -- SIP/sip-out-00000018 is circuit-busy
> Scheduling destruction of SIP dialog 
> '5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060' in 6400 ms 
> (Method: INVITE)
>   == Everyone is busy/congested at this time (1:0/1/0)
>     -- Executing [0871271201 at internode-outgoing:2] Answer("SIP/<local 
> ata>-00000017", "2") in new stack
>     -- Executing [0871271201 at internode-outgoing:3] 
> Playback("SIP/<local ata>-00000017", "ss-noservice") in new stack
>     -- <SIP/<local ata>-00000017> Playing 'ss-noservice.gsm' (language 
> 'en')
>   == Spawn extension (internode-outgoing, 0871271201, 3) exited 
> non-zero on 'SIP/<local ata>-00000017'
> Really destroying SIP dialog 
> '5cf55909146ff03907fcc86437809bcc@<asterisk ip>:5060' Method: INVITE
> [Jan 22 21:24:36] NOTICE[993]: chan_sip.c:12142 sip_reregister:    -- 
> Re-registration for  0731292848 at sip.internode.on.net
> > doing dnsmgr_lookup for 'sip.internode.on.net'
> > ast_get_srv: SRV lookup for '_sip._udp.sip.internode.on.net' mapped 
> to host sip.internode.on.net, port 5060
> REGISTER 11 headers, 0 lines
> Reliably Transmitting (no NAT) to 203.2.134.1:5060:
> REGISTER sip:sip.internode.on.net SIP/2.0
> Via: SIP/2.0/UDP <asterisk ip>:5060;branch=z9hG4bK07b4e860
> Max-Forwards: 70
> From: <sip:0731292848 at sip.internode.on.net>;tag=as1f1ee1a8
> To: <sip:0731292848 at sip.internode.on.net>
> Call-ID: 597b79434d3c224a3b484fd718502b34@<asterisk ip>
> CSeq: 1440 REGISTER
> User-Agent: Asterisk PBX 1.8.1.1
> Authorization: Digest username="0731292848", realm="BroadWorks", 
> algorithm=MD5, uri="sip:sip.internode.on.net", 
> nonce="BroadWorksXgj5g2j3vTbun57kBW", 
> response="4a529cc44fa4c19924fed72fed1da2e2", qop=auth, 
> cnonce="44b80039", nc=0000053a
> Expires: 120
> Contact: <sip:0731292848@<asterisk ip>:5060>
> Content-Length: 0
>
>
> ---
>
> <--- SIP read from UDP:203.2.134.1:5060 --->
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP <asterisk ip>:5060;received=<my ext 
> ip>;branch=z9hG4bK07b4e860;rport=61533
> From: <sip:0731292848 at sip.internode.on.net>;tag=as1f1ee1a8
> To: <sip:0731292848 at sip.internode.on.net>;tag=aprqcauh8h3-7m1v3j200810a
> Call-ID: 597b79434d3c224a3b484fd718502b34@<asterisk ip>
> CSeq: 1440 REGISTER
> Contact: <sip:0731292848@<asterisk ip>:5060>;expires=150
>
> <------------->
> --- (7 headers 0 lines) ---
> Scheduling destruction of SIP dialog 
> '597b79434d3c224a3b484fd718502b34@<asterisk ip>' in 6400 ms (Method: 
> REGISTER)
> [Jan 22 21:24:36] NOTICE[993]: chan_sip.c:19502 
> handle_response_register: Outbound Registration: Expiry for 
> sip.internode.on.net is 150 sec (Scheduling reregistration in 135 s)
>
> From this it looks to me that the call is gong through, but asterisk 
> is not acting on it- is that right? Or am I misreading it?
>
> I see the outgoing call and an sip message generated and sent the 
> provider, the provider calls back trying, and then sends 2x 200 
> messages saying ok. The provider then gets no response and sends back 
> a 408. And then asterisk acts on it and tries to attach to a non 
> existent leg.
>
> Internode insist on simply opening up the firewall on a dmz to allow 
> complete access to the asterisk server with theirs, but I have 2 
> points to contend with that:
>
> 1. What about spoofing? They may have HA cluster attached to that IP, 
> but what about an attack on my server? Couldn't someone spoof the IP 
> for their own purposes? (Or I could be paranoid too :) )
>
> 2. I aim to setup a hosting solution, so I can allow clients to peer 
> with my asterisk (not using my trunk though) so I need to be security 
> conscious, and allow more than just the nodephone server to connect.
>
> Any help?
>
> Cheers
Ok. With no confirmation I'm actually on the right track, I've now run 
full tcpdumps from both the asterisk server and pf. Here is my findings:

I make an incoming call and I find an RTP peer audio port in the debug 
output which I can also see in the tcpdump on both systems.

I make an outgoing call and I cannot find any RTP audio port. I also 
cannot see any ports opening in the tcpdumps from either system. WTF?!

Any clues? Please?



More information about the asterisk-users mailing list