[SR-Users] force_rtp_proxy/rtpproxy_offer/answer not replacing ip addr.

Carsten Bock carsten at ng-voice.com
Wed Jul 6 12:01:08 CEST 2011


Hi MingHon,

you should start your RTPProxy with "-l <external address>" (instead
of the internal address). The address provided will be used in the
signalling / replacement in the SDP.

Carsten

2011/7/6 MingHon <gminghon at gmail.com>:
> Hi,
> Thanks for your reply..
> RTPProxy and kamailio is running on the same centos box.
> below is the command how i connect both RTPProxy and Kamailio
> /----Kamailio----/
> #!ifdef WITH_NAT
> modparam("rtpproxy", "rtpproxy_sock", "udp:localhost:7722")
> #!endif
> /----RTPProxy----/
> rtpproxy -l 192.168.1.3 -s udp:*:7722 -m 10000 -M 20000 -u user
> /----kamctl fifo nh_show_rtpp----/
> udp:localhost:7722::  set=0
> index:: 0
> disabled:: 0
> weight:: 1
> recheck_ticks:: 0
> /--------/
> im using kamailio ver. 3.1.4 and rtpproxy ver. 1.2.1
>
> Please advice..
> Thank you very much for your help.
>
>
> On Wed, Jul 6, 2011 at 4:16 PM, Carsten Bock <carsten at ng-voice.com> wrote:
>>
>> Hi,
>>
>> Note:
>> The methods of rtpproxy-module will only replace the IP, if the
>> Kamailio can access the RTPProxy.
>>
>> How is your RTPProxy connected to your Kamailio? Socket or TCP? Do you
>> have the Kamailio FIFO enabeld?
>> If you have the fifo enabled, you should check the following:
>>
>> kamctl fifo nh_show_rtpp
>>
>> You should see, that the Kamailio is connected to the RTPProxy. If no,
>> then that is your problem.
>> If the RTPProxy is connected and is listening on the TCP socket, then
>> you can do an ngrep to see the communication between Kamailio and
>> RTPProxy, which might help you further with your investigation.
>>
>> Carsten
>>
>> 2011/7/6 MingHon <gminghon at gmail.com>:
>> > Hi Carsten,
>> > no is not about just rewriting the SDP.
>> > i need my UACs media to relay on my rtpproxy
>> > currently my UACs are sending the media to a private ip.
>> > my rtpproxy is in behind nat and UACs behind another nat.
>> >
>> > On Wed, Jul 6, 2011 at 3:15 PM, Carsten Bock <carsten at ng-voice.com>
>> > wrote:
>> >>
>> >> Hi MingHon,
>> >>
>> >> what do you want to achieve? If it is only about rewritibng the SDP,
>> >> then this will help you:
>> >>
>> >> fix_nated_sdp("10", "<your-ip-here>");
>> >> => 0x02 rewrite media IP address (c=) with the provided IP address
>> >> => 0x08 rewrite IP from origin description (o=) with the provided IP
>> >> address
>> >>
>> >> Kind regards,
>> >> Carsten
>> >>
>> >> 2011/7/6 MingHon <gminghon at gmail.com>:
>> >> > hello List,
>> >> > anyone could give some hints??
>> >> > im still unable to rewrite the sdp body.
>> >> > hope to hear from you all.
>> >> > thanks
>> >> > --
>> >> > Regards,
>> >> >
>> >> > MingHon
>> >> >
>> >> >
>> >> > On Tue, Jul 5, 2011 at 3:49 PM, MingHon <gminghon at gmail.com> wrote:
>> >> >>
>> >> >> Hi List,
>> >> >> im facing an issue that my kamailio proxy did not replace the ip
>> >> >> address
>> >> >> in the invite and 200OK sdp body.
>> >> >> my rtpproxy is running: rtpproxy -l 192.168.1.3 -u:*:7722 -u user
>> >> >> my kamailio is listening on 192.168.1.3, also
>> >> >> define: advertised_address="175.136.223.112";
>> >> >> & advertised_port=5060;
>> >> >> and my asterisk is on 192.168.1.23.
>> >> >> sip signalling and rtp port forwarded to kamailio.
>> >> >> uacs from another nat register successfully.
>> >> >> if i put 2 lines of force_rtp_proxy("fcow","175.136.223.112");
>> >> >> i will get double ip addr in c and o but kamailio ignore my ip addr.
>> >> >> example i will get
>> >> >> c=IN IP4 192.168.1.3192.168.1.3
>> >> >> here is part of my simple script.
>> >> >> hope you can help.
>> >> >> thank you very much.
>> >> >> ---------------cfg-------------------
>> >> >> route[RTPPROXY] {
>> >> >> #!ifdef WITH_NAT
>> >> >> if (is_method("BYE")) {
>> >> >> unforce_rtp_proxy();
>> >> >> } else if (is_method("INVITE")){
>> >> >> force_rtp_proxy("fcow","175.136.223.112");
>> >> >> #force_rtp_proxy("fcow","175.136.223.112");
>> >> >> xlog("L_INFO","offer");
>> >> >> }
>> >> >> if (!has_totag()) add_rr_param(";nat=yes");
>> >> >> #!endif
>> >> >> return;
>> >> >> }
>> >> >> --------------------------------------
>> >> >> and here is the wireshark for uac INVITE and OK.
>> >> >> -----------INVITE-----------------
>> >> >> ve0
>> >> >> EE;p9INVITE sip:102 at 192.168.2.132:5062 SIP/2.0
>> >> >> Record-Route: <sip:192.168.1.3;lr=on;ftag=as032358a3;nat=yes>
>> >> >> Via: SIP/2.0/UDP 192.168.1.3;branch=z9hG4bK09d5.c5e9e8d2.0
>> >> >> Via: SIP/2.0/UDP 192.168.1.23:5080;branch=z9hG4bK71c27189;rport=5080
>> >> >> Max-Forwards: 69
>> >> >> From: "101" <sip:102 at aextddns.dyndns.info>;tag=as032358a3
>> >> >> To: <sip:102 at 192.168.1.3:5060>
>> >> >> Contact: <sip:102 at 192.168.1.23:5080>
>> >> >> Call-ID: 416f6e09674ae9671bb7144a1cb11137 at aextddns.dyndns.info
>> >> >> CSeq: 102 INVITE
>> >> >> User-Agent: Asterisk PBX 1.6.2.18
>> >> >> Date: Tue, 05 Jul 2011 07:20:53 GMT
>> >> >> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY,
>> >> >> INFO
>> >> >> Supported: replaces, timer
>> >> >> Content-Type: application/sdp
>> >> >> Content-Length: 327
>> >> >> v=0
>> >> >> o=root 1639709788 1639709788 IN IP4 192.168.1.3
>> >> >> s=Asterisk PBX 1.6.2.18
>> >> >> c=IN IP4 192.168.1.3
>> >> >> t=0 0
>> >> >> m=audio 10072 RTP/AVP 0 3 8 101
>> >> >> a=rtpmap:0 PCMU/8000
>> >> >> a=rtpmap:3 GSM/8000
>> >> >> a=rtpmap:8 PCMA/8000
>> >> >> a=rtpmap:101 telephone-event/8000
>> >> >> a=fmtp:101 0-16
>> >> >> a=silenceSupp:off - - - -
>> >> >> a=ptime:20
>> >> >> a=sendrecv
>> >> >> a=nortpproxy:yes
>> >> >> -----------200OK---------------
>> >> >> e90
>> >> >> ElE;pX4tSIP/2.0 200 OK
>> >> >> Via: SIP/2.0/UDP
>> >> >>
>> >> >>
>> >> >> 192.168.2.200:5062;rport=2788;received=175.138.21.31;branch=z9hG4bK2086380416
>> >> >> Record-Route: <sip:192.168.1.3;lr=on;ftag=1796959074;nat=yes>
>> >> >> From: "101" <sip:101 at aextddns.dyndns.info>;tag=1796959074
>> >> >> To: <sip:102 at aextddns.dyndns.info>;tag=as2e4c0125
>> >> >> Call-ID: 1985782590 at 192.168.2.200
>> >> >> CSeq: 21 INVITE
>> >> >> Server: Asterisk PBX 1.6.2.18
>> >> >> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY,
>> >> >> INFO
>> >> >> Supported: replaces, timer
>> >> >> Contact: <sip:102 at 192.168.1.23:5080>
>> >> >> Content-Type: application/sdp
>> >> >> Content-Length: 286
>> >> >> v=0
>> >> >> o=root 403900934 403900934 IN IP4 192.168.1.23
>> >> >> s=Asterisk PBX 1.6.2.18
>> >> >> c=IN IP4 192.168.1.23
>> >> >> t=0 0
>> >> >> m=audio 14420 RTP/AVP 0 8 101
>> >> >> a=rtpmap:0 PCMU/8000
>> >> >> a=rtpmap:8 PCMA/8000
>> >> >> a=rtpmap:101 telephone-event/8000
>> >> >> a=fmtp:101 0-16
>> >> >> a=silenceSupp:off - - - -
>> >> >> a=ptime:20
>> >> >> a=sendrecv
>> >> >> ------------------------------------
>> >> >> My kamailio log.
>> >> >> -----------LOG------------------
>> >> >> DEBUG: rtpproxy [rtpproxy_funcs.c:148]: type <application/sdp> found
>> >> >> valid
>> >> >> DEBUG: rtpproxy [rtpproxy.c:2188]: proxy reply: 10070 192.168.1.3
>> >> >> INFO: <script>: offer
>> >> >> -------------------------------------
>> >> >> double force_rtp_proxy
>> >> >> --------kamailio -> asterisk [INVITE]---------
>> >> >> Pyi-}E7V@:#pINVITE sip:102 at aextddns.dyndns.info SIP/2.0
>> >> >> Record-Route: <sip:192.168.1.3;lr=on;ftag=640933430;nat=yes>
>> >> >> Via: SIP/2.0/UDP 192.168.1.3;branch=z9hG4bK89a5.53e9f766.0
>> >> >> Via: SIP/2.0/UDP
>> >> >>
>> >> >>
>> >> >> 192.168.2.200:5062;rport=2788;received=175.138.21.31;branch=z9hG4bK1673765648
>> >> >> From: "101" <sip:101 at aextddns.dyndns.info>;tag=640933430
>> >> >> To: <sip:102 at aextddns.dyndns.info>
>> >> >> Call-ID: 1909950509 at 192.168.2.200
>> >> >> CSeq: 21 INVITE
>> >> >> Contact: <sip:101 at 175.138.21.31:2788>
>> >> >> Content-Type: application/sdp
>> >> >> Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY,
>> >> >> REGISTER,
>> >> >> SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE
>> >> >> Max-Forwards: 69
>> >> >> User-Agent: T20 9.41.0.80
>> >> >> Allow-Events: talk,hold,conference,refer,check-sync
>> >> >> Content-Length: 334
>> >> >> v=0
>> >> >> o=20073 20073 IN IP4 192.168.1.3192.168.1.3
>> >> >> s=SDP data
>> >> >> c=IN IP4 192.168.1.3192.168.1.3
>> >> >> t=0 0
>> >> >> m=audio 1006410064 RTP/AVP 0 8 18 9 101
>> >> >> a=rtpmap:0 PCMU/8000
>> >> >> a=rtpmap:8 PCMA/8000
>> >> >> a=rtpmap:18 G729/8000
>> >> >> a=rtpmap:9 G722/8000
>> >> >> a=fmtp:101 0-15
>> >> >> a=rtpmap:101 telephone-event/8000
>> >> >> a=sendrecv
>> >> >> a=nortpproxy:yes
>> >> >> a=nortpproxy:yes
>> >> >> -----------LOG------------------
>> >> >> DEBUG: rtpproxy [rtpproxy_funcs.c:148]: type <application/sdp> found
>> >> >> valid
>> >> >> DEBUG: rtpproxy [rtpproxy.c:2188]: proxy reply: 10068 192.168.1.3
>> >> >> DEBUG: rtpproxy [rtpproxy_funcs.c:148]: type <application/sdp> found
>> >> >> valid
>> >> >> DEBUG: rtpproxy [rtpproxy.c:2188]: proxy reply: 10068 192.168.1.3
>> >> >> INFO: <script>: offer
>> >> >> -----------LOG------------------
>> >> >>
>> >> >> --
>> >> >> Regards,
>> >> >>
>> >> >> MingHon
>> >>
>> >>
>> >>
>> >> --
>> >> Carsten Bock
>> >> http://www.ng-voice.com
>> >> mailto:carsten at ng-voice.com
>> >>
>> >> Schomburgstr. 80
>> >> 22767 Hamburg
>> >> Germany
>> >>
>> >> Mobile +49 179 2021244
>> >> Office +49 40 34927219
>> >> Fax +49 40 34927220
>> >
>> >
>> >
>> > --
>> > Regards,
>> >
>> > MingHon
>> >
>>
>>
>>
>> --
>> Carsten Bock
>> http://www.ng-voice.com
>> mailto:carsten at ng-voice.com
>>
>> Schomburgstr. 80
>> 22767 Hamburg
>> Germany
>>
>> Mobile +49 179 2021244
>> Office +49 40 34927219
>> Fax +49 40 34927220
>>
>> ~~~~~
>> Checkout SIP-Provider CE:
>> http://www.sipwise.com/products/spce/overview/
>
>
>
> --
> Regards,
>
> MingHon
>



-- 
Carsten Bock
http://www.ng-voice.com
mailto:carsten at ng-voice.com

Schomburgstr. 80
22767 Hamburg
Germany

Mobile +49 179 2021244
Office +49 40 34927219
Fax +49 40 34927220

~~~~~
Checkout SIP-Provider CE:
http://www.sipwise.com/products/spce/overview/



More information about the sr-users mailing list