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

Carsten Bock carsten at ng-voice.com
Wed Jul 6 14:34:51 CEST 2011


Hi MingHon,

can the RTPProxy actually use the External-Address? If i understood
you correctly you do NAT and port-forwarding between your Box and the
Internet on a firewall.
So, that is your problem. The RTPProxy tries to open an Port on the
External Address (which is not local) and fails. Thus he cannot relay
RTP-Traffic, and replies with an error to your kamailio box. If you
would move your RTPProxy to the world-wide-web, then you would not
have any problems. An RTPProxy behind NAT is horrible and you may run
into trouble.

Carsten

2011/7/6 MingHon <gminghon at gmail.com>:
> Hi Carsten,
> i tried before putting external address but once i put external address i
> will get error on my /var/log/messages
> Jul  6 18:06:56 c5 /usr/local/sbin/kamailio[20025]: ERROR: rtpproxy
> [rtpproxy.c:2211]: incorrect port 0 in reply from rtpproxy
> Jul  6 18:06:56 c5 /usr/local/sbin/kamailio[20024]: ERROR: rtpproxy
> [rtpproxy.c:2211]: incorrect port 0 in reply from rtp proxy
> Jul  6 18:06:57 c5 /usr/local/sbin/kamailio[20025]: ERROR: rtpproxy
> [rtpproxy.c:2211]: incorrect port 0 in reply from rtp proxy
> both kamailio and rtpproxy is in one box and behind nat with one interface
> ip address 192.168.1.3
> in the router i already port forward 5060 udp and 10000-20000 udp to
> 192.168.1.3.
> Please adv.
> Thank you very much. :)
>
> On Wed, Jul 6, 2011 at 6:01 PM, Carsten Bock <carsten at ng-voice.com> wrote:
>>
>> 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/
>
>
>
> --
> 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