[Serusers] Re: RTPProxy fails only for Private to Public communication

Greger V. Teigre greger at teigre.com
Thu Apr 7 07:44:23 CEST 2005


Look at this:
U 84.203.148.146:5060 -> 157.190.74.151:5060

  SIP/2.0 200 OK..Via: SIP/2.0/UDP 157.190.74.151;rport=5060;branch=z9hG4bKcd

  17ddd1b59ead49..From: "2092" <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c

  ..To: <sip:2093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID: 8ffc2d18b218

  70b3 at 157.190.74.151..CSeq: 64735 INVITE..User-Agent: Grandstream BT100 1.0.

  5.18..Contact: <sip:2093 at 172.16.3.31>..Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,

  REFER,OPTIONS,INFO,SUBSCRIBE..Content-Type: application/sdp..Supported: rep

  laces..Content-Length: 174....v=0..o=2093 8000 0 IN IP4 172.16.3.31..s=SIP

  Call..c=IN IP4 84.203.148.146..t=0 0..m=audio 35016 RTP/AVP 0..a=sendrecv..

  a=rtpmap:0 PCMU/8000/3..a=ptime:20..a=nortpproxy:yes..



I assume this is where you get an error message. You haven't called fix_nated_contact() for this message, and in fact I believe there may be an error in the ONsip.org example where a line has been lost.

192. onreply_route[1] {

193.

194. if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {

195. if (!search("^Content-Length:\ 0")) {

196. force_rtp_proxy();

197. };

198. } else if (nat_uac_test("1")) {

199. fix_nated_contact();

200. };

201. }

fix_nated_contact() should go in between line 194 and 195.  

Could you please confirm that this works?  I will look at the config file.

g-(



---- Original Message ----
From: Vivienne Curran
To: serusers at lists.iptel.org ; greger at teigre.com
Sent: Wednesday, April 06, 2005 04:12 PM
Subject: Re: RTPProxy fails only for Private to Public communication

> Just as an extra : I have a sniff of the message for when a public
> client (2092)rings a private client (2093)included at the bottom of
> this email. I cant see anything wrong with them but maybe it will
> shed more light on the matter.   
> 
> Vivienne Curran <vivcurran at yahoo.co.uk> wrote:
> I changed the line modparam("nathelper", "rtpproxy_sock",
> "/var/run/rtpproxy.sock") to modparam("nathelper", "rtpproxy_sock",
> "udp:localhost:22222") and started the rtpproxy as ./rtpproxy -s udp
> from the relevant directory and this resulted in a series of
> "rtpp_command: no response from rtpproxy" and rtpproxy temporarily
> disabled" errors. If I return to the original modparam and start it
> as ./rtpproxy then it works but like I said when the private client
> rings the public client, I get "ERROR: send_rtpp_command: cant read
> reply from a RTP Proxy".        
> 
> Any further ideas? Has anyone on the mailing list experienced this? I
> am using the script given in the onsip getting started doc for 0.9.0.
> but am using ser 0.8.14.  
> 
> BR,
> Vivienne
> 
> 
> "Greger V. Teigre" <greger at teigre.com> wrote:
> See inline.
> 
>> Thank you for that Greger. I have altered my script so that it
>> exactly mimics the one in the onsip document besides the has_totag
>> and fix_nated register. All is good when I ring from a private phone
>> to a public phone i.e. the audio is very clear and the following
>> messages are in /var/log.
>> 
>> ERROR: extract_body: message body has length zero
>> ERROR: force_rtp_proxy2: cant extract body from the message.
>> 
>> I assume this is because of the 200 OK to a register message where
>> theres no sdp?? Is this correct?
> 
> That's correct.  You will find code in the example configs where we
> test for an empty body before calling force_rtp_proxy. 
> 
>> However when I try to phone from public into private I get:
>> 
>> ERROR: send_rtpp_command: cant read reply from a RTP Proxy.
>> 
>> I find this confusing because I know the rtpproxy is working.
> 
> This means that rtpproxy is not responding to a particular message. I
> have heard some people have had problems with the socket based
> communication. I only use UDP. This is what you do to set up udp
> (22222 is default port):   
> modparam("nathelper", "rtpproxy_sock", "udp:localhost:22222")
> rtpproxy must be started with -s udp:*
> g-)
> 
>> BR
>> Vivienne.
>> 
>> "Greger V. Teigre" <greger at teigre.com> wrote:
>> Yes, you can use fix_nated_contact instead. It is not entirely
>> RFC-compliant, but that's what you have in 0.8.14.
>> The has_totag() only tests to see if the INVITE has a To header,
>> which means that it is in-dialog and thus is a re-INVITE.  An INVITE
>> will normally not have loose routing unless you have another SIP
>> proxy forwarding an INVITE to you (in which case you should assume
>> that the other proxy handles NAT and thus not trigger NAT-related
>> code).  You can safely remove the has_totag() if you use
>> force_rtp_proxy("l")
>> g-)
>> 
>> ---- Original Message ----
>> From: Vivienne Curran
>> To: Greger V. Teigre ; serusers at lists.iptel.org
>> Sent: Tuesday, April 05, 2005 02:25 PM
>> Subject: Re: [Serusers] Contact Header and SDP not rewritten
>> 
>>> Greger,
>>> 
>>> Since fix_nated_register does not exist with 0.8.14, will
>>> fix_nated_contact do instead? Also if I am leaving out the
>>> has_totag() at the start of the script, will this greatly effect its
>>> functionality?
>>> 
>>> Thank you,
>>> Vivienne
> Send instant messages to your online friends
> http://uk.messenger.yahoo.com 
> U 157.190.74.151:5060 -> 84.203.148.146:5060
>   INVITE sip:2093 at 84.203.148.146 SIP/2.0..Via: SIP/2.0/UDP
> 157.190.74.151;bra 
>   nch=z9hG4bKcd17ddd1b59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aed 
>   c22bd5a3b510c..To: <sip:2093 at 84.203.148.146>..Contact:
> <sip:2092 at 157.190.74 
>   .151>..Supported: replaces..Call-ID:
> 8ffc2d18b21870b3 at 157.190.74.151..CSeq: 
>    64735 INVITE..User-Agent: Grandstream BT100
> 1.0.5.18..Max-Forwards: 70..Al 
>   low:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE..Content-Typ
>   e: application/sdp..Content-Length: 426....v=0..o=2092 8000 0 IN
> IP4 157.19 
>   0.74.151..s=SIP Call..c=IN IP4 157.190.74.151..t=0 0..m=audio 5004
> RTP/AVP 
>   0 8 4 18 2 15 99 9 101..a=sendrecv..a=rtpmap:0
> PCMU/8000/3..a=rtpmap:8 PCMA 
>   /8000/3..a=rtpmap:4 G723/8000/3..a=rtpmap:18
> G729/8000/3..a=rtpmap:2 G726-3 
>   2/8000/3..a=rtpmap:15 G728/8000/3..a=rtpmap:99
> iLBC/8000/3..a=fmtp:99 mode= 
>   20..a=rtpmap:9 G722/8000/3..a=ptime:20..a=rtpmap:101
> telephone-event/8000/3 
>   ..a=fmtp:101 0-11..
> 
> U 84.203.148.146:5060 -> 157.190.74.151:5060
>   SIP/2.0 100 trying -- your call is important to us..Via:
> SIP/2.0/UDP 157.19 
>   0.74.151;branch=z9hG4bKcd17ddd1b59ead49;rport=5060..From: "2092"
> <sip:2092@ 
>   84.203.148.146>;tag=aedc22bd5a3b510c..To:
> <sip:2093 at 84.203.148.146>..Call-I 
>   D: 8ffc2d18b21870b3 at 157.190.74.151..CSeq: 64735 INVITE..Server: Sip
> EXpress 
>    router (0.8.14 (i386/linux))..Content-Length: 0..Warning: 392
> 84.203.148.1 
>   46:5060 "Noisy feedback tells:  pid=8990 req_src_ip=157.190.74.151
> req_src_ 
>   port=5060 in_uri=sip:2093 at 84.203.148.146
> out_uri=sip:2093 at 84.203.148.14:506 
>   0 via_cnt==1"....
> 
> U 84.203.148.146:5060 -> 84.203.148.14:5060
>   INVITE sip:2093 at 84.203.148.14:5060 SIP/2.0..Via: SIP/2.0/UDP
> 84.203.148.146 
>   ;branch=z9hG4bKf51e.b169be72.0..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060; 
>   branch=z9hG4bKcd17ddd1b59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag= 
>   aedc22bd5a3b510c..To: <sip:2093 at 84.203.148.146>..Contact:
> <sip:2092 at 157.190 
>   .74.151:5060>..Supported: replaces..Call-ID:
> 8ffc2d18b21870b3 at 157.190.74.15 
>   1..CSeq: 64735 INVITE..User-Agent: Grandstream BT100
> 1.0.5.18..Max-Forwards 
>   : 69..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE..Con 
>   tent-Type: application/sdp..Content-Length: 445....v=0..o=2092 8000
> 0 IN IP 
>   4 157.190.74.151..s=SIP Call..c=IN IP4 84.203.148.146..t=0
> 0..m=audio 35014 
>    RTP/AVP 0 8 4 18 2 15 99 9 101..a=sendrecv..a=rtpmap:0
> PCMU/8000/3..a=rtpm 
>   ap:8 PCMA/8000/3..a=rtpmap:4 G723/8000/3..a=rtpmap:18
> G729/8000/3..a=rtpmap 
>   :2 G726-32/8000/3..a=rtpmap:15 G728/8000/3..a=rtpmap:99
> iLBC/8000/3..a=fmtp 
>   :99 mode=20..a=rtpmap:9 G722/8000/3..a=ptime:20..a=rtpmap:101
> telephone-eve 
>   nt/8000/3..a=fmtp:101 0-11..a=nortpproxy:yes..
> 
> U 84.203.148.14:5060 -> 84.203.148.146:5060
>   SIP/2.0 100 Trying..Via: SIP/2.0/UDP
> 84.203.148.146;branch=z9hG4bKf51e.b169 
>   be72.0..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd17ddd1b5 
>   9ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c..To: <s 
>   ip:2093 at 84.203.148.146>..Call-ID:
> 8ffc2d18b21870b3 at 157.190.74.151..CSeq: 64 
>   735 INVITE..User-Agent: Grandstream BT100 1.0.5.18..Content-Length:
> 0.... 
> 
> U 84.203.148.14:5060 -> 84.203.148.146:5060
>   SIP/2.0 180 Ringing..Via: SIP/2.0/UDP
> 84.203.148.146;branch=z9hG4bKf51e.b16 
>   9be72.0..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd17ddd1b 
>   59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c..To: < 
>   sip:2093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b21870b3 at 15 
>   7.190.74.151..CSeq: 64735 INVITE..User-Agent: Grandstream BT100
> 1.0.5.18..C 
>   ontent-Length: 0....
> 
> U 84.203.148.146:5060 -> 157.190.74.151:5060
>   SIP/2.0 180 Ringing..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG 
>   4bKcd17ddd1b59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3 
>   b510c..To: <sip:2093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d1 
>   8b21870b3 at 157.190.74.151..CSeq: 64735 INVITE..User-Agent:
> Grandstream BT100 
>    1.0.5.18..Content-Length: 0....
> 
> U 84.203.148.14:5060 -> 84.203.148.146:5060
>   SIP/2.0 200 OK..Via: SIP/2.0/UDP
> 84.203.148.146;branch=z9hG4bKf51e.b169be72 
>   .0..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd17ddd1b59ead 
>   49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c..To: <sip:2 
>   093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b21870b3 at 157.190 
>   .74.151..CSeq: 64735 INVITE..User-Agent: Grandstream BT100
> 1.0.5.18..Contac 
>   t: <sip:2093 at 172.16.3.31>..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTION 
>   S,INFO,SUBSCRIBE..Content-Type: application/sdp..Supported:
> replaces..Conte 
>   nt-Length: 152....v=0..o=2093 8000 0 IN IP4 172.16.3.31..s=SIP
> Call..c=IN I 
>   P4 172.16.3.31..t=0 0..m=audio 5004 RTP/AVP
> 0..a=sendrecv..a=rtpmap:0 PCMU/ 
>   8000/3..a=ptime:20..
> 
> U 84.203.148.146:5060 -> 157.190.74.151:5060
>   SIP/2.0 200 OK..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd 
>   17ddd1b59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c 
>   ..To: <sip:2093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b218 
>   70b3 at 157.190.74.151..CSeq: 64735 INVITE..User-Agent: Grandstream
> BT100 1.0. 
>   5.18..Contact: <sip:2093 at 172.16.3.31>..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY, 
>   REFER,OPTIONS,INFO,SUBSCRIBE..Content-Type:
> application/sdp..Supported: rep 
>   laces..Content-Length: 174....v=0..o=2093 8000 0 IN IP4
> 172.16.3.31..s=SIP 
>   Call..c=IN IP4 84.203.148.146..t=0 0..m=audio 35016 RTP/AVP
> 0..a=sendrecv.. 
>   a=rtpmap:0 PCMU/8000/3..a=ptime:20..a=nortpproxy:yes..
> 
> U 84.203.148.14:5060 -> 84.203.148.146:5060
>   SIP/2.0 200 OK..Via: SIP/2.0/UDP
> 84.203.148.146;branch=z9hG4bKf51e.b169be72 
>   .0..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd17ddd1b59ead 
>   49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c..To: <sip:2 
>   093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b21870b3 at 157.190 
>   .74.151..CSeq: 64735 INVITE..User-Agent: Grandstream BT100
> 1.0.5.18..Contac 
>   t: <sip:2093 at 172.16.3.31>..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTION 
>   S,INFO,SUBSCRIBE..Content-Type: application/sdp..Supported:
> replaces..Conte 
>   nt-Length: 152....v=0..o=2093 8000 1 IN IP4 172.16.3.31..s=SIP
> Call..c=IN I 
>   P4 172.16.3.31..t=0 0..m=audio 5004 RTP/AVP
> 0..a=sendrecv..a=rtpmap:0 PCMU/ 
>   8000/3..a=ptime:20..
> 
> U 84.203.148.146:5060 -> 157.190.74.151:5060
>   SIP/2.0 200 OK..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd 
>   17ddd1b59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c 
>   ..To: <sip:2093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b218 
>   70b3 at 157.190.74.151..CSeq: 64735 INVITE..User-Agent: Grandstream
> BT100 1.0. 
>   5.18..Contact: <sip:2093 at 172.16.3.31>..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY, 
>   REFER,OPTIONS,INFO,SUBSCRIBE..Content-Type:
> application/sdp..Supported: rep 
>   laces..Content-Length: 174....v=0..o=2093 8000 1 IN IP4
> 172.16.3.31..s=SIP 
>   Call..c=IN IP4 84.203.148.146..t=0 0..m=audio 35016 RTP/AVP
> 0..a=sendrecv.. 
>   a=rtpmap:0 PCMU/8000/3..a=ptime:20..a=nortpproxy:yes..
> 
> U 84.203.148.14:5060 -> 84.203.148.146:5060
>   SIP/2.0 200 OK..Via: SIP/2.0/UDP
> 84.203.148.146;branch=z9hG4bKf51e.b169be72 
>   .0..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd17ddd1b59ead 
>   49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c..To: <sip:2 
>   093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b21870b3 at 157.190 
>   .74.151..CSeq: 64735 INVITE..User-Agent: Grandstream BT100
> 1.0.5.18..Contac 
>   t: <sip:2093 at 172.16.3.31>..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTION 
>   S,INFO,SUBSCRIBE..Content-Type: application/sdp..Supported:
> replaces..Conte 
>   nt-Length: 152....v=0..o=2093 8000 2 IN IP4 172.16.3.31..s=SIP
> Call..c=IN I 
>   P4 172.16.3.31..t=0 0..m=audio 5004 RTP/AVP
> 0..a=sendrecv..a=rtpmap:0 PCMU/ 
>   8000/3..a=ptime:20..
> 
> U 84.203.148.146:5060 -> 157.190.74.151:5060
>   SIP/2.0 200 OK..Via: SIP/2.0/UDP
> 157.190.74.151;rport=5060;branch=z9hG4bKcd 
>   17ddd1b59ead49..From: "2092"
> <sip:2092 at 84.203.148.146>;tag=aedc22bd5a3b510c 
>   ..To: <sip:2093 at 84.203.148.146>;tag=acd725e00242a605..Call-ID:
> 8ffc2d18b218 
>   70b3 at 157.190.74.151..CSeq: 64735 INVITE..User-Agent: Grandstream
> BT100 1.0. 
>   5.18..Contact: <sip:2093 at 172.16.3.31>..Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY, 
>   REFER,OPTIONS,INFO,SUBSCRIBE..Content-Type:
> application/sdp..Supported: rep 
>   laces..Content-Length: 174....v=0..o=2093 8000 2 IN IP4
> 172.16.3.31..s=SIP 
>   Call..c=IN IP4 84.203.148.146..t=0 0..m=audio 35016 RTP/AVP
> 0..a=sendrecv.. 
>   a=rtpmap:0 PCMU/8000/3..a=ptime:20..a=nortpproxy:yes..
> 
> Send instant messages to your online friends
> http://uk.messenger.yahoo.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20050407/cd6b1163/attachment.htm>


More information about the sr-users mailing list