[OpenSIPS-Users] RTPProxy Problem

Ignacio Gonzalez mylaneza at gmail.com
Thu Nov 15 20:15:36 CET 2012


Hi, I red the RFC 4961 Symetric RTP, i set the flags of rtp_offer "a", and
then i stop receiving packets to the udp port i use to send RTP, but the
audio is not being sent to the port that i set on the SDP message. Do i
have to run rtpproxy with any special parameter to support asymmetric rtp?


2012/11/14 Ignacio Gonzalez <mylaneza at gmail.com>

> I found where the other port is taken from. I use Java, JMF to create the
> RTP part of the UA, I create two RTPManagers, one to send and one to
> receive, and I use two different ports, one is for sending and one for
> receiving, and rtpproxy send me packets to the sending port, I don't know
> if i have to use only one RTPManager to send and receive rtppackets using
> the port I send in the SDP message. This has been always a doubt for me.
>
>
> m=audio 11670 RTP/AVP 0
> a=rtpmap:0 PCMU/8000
> a=sendrecv
>
> this SDP message is the one i send in the INVITE
>
> so i listen to RTP packets in the 11760 udp port
>
> and create a "rtp sender" using another random port chosen by JMF, this
> random port is where packets are sent from rtpproxy.
>
> Thanks for your help.
>
>
>
> 2012/11/14 Ignacio Gonzalez <mylaneza at gmail.com>
>
>> Here is my complete scenario:
>>
>> OPENSIPS is in a private network inside of a virtual machine
>> 192.168.1.220 and is using port 5062 on udp and tcp
>> RTPProxy is in a private network inside of the same virtual machine
>> 192.168.1220 and this is the command line I'm using to run rtpproxy:
>>
>> ./rtpproxy -l 192.168.1.220 -s udp:192.168.1.220:12400 -n tcp:
>> 192.168.1.220:12333 -u user -m 35000 -M 35200
>>
>> The host machine is 192.168.1.200
>>
>> My router create the binding rules for  public_ip:35000 ->
>> 192.168.1.220:35000    to public_ip:35200 -> 192.168.1.220:35200
>>
>> I'm making a call between to UAs outside of the LAN 192.168.1.0, both
>> clients are outside of the LAN.
>>
>>
>> I tried to set the flags "i" and "e" but still not working, I also tried
>> setting the autobridged parameter for the rtpproxy module.
>>
>> Thanks for helping.
>>
>> P.D. I want to see the debug of rtpproxy but I don't know how to do that,
>> can any one help me with this?
>>
>>
>>
>>
>>
>>
>>
>>
>> 2012/11/14 Răzvan Crainea <razvan at opensips.org>
>>
>>>  Hi, Ignacio!
>>>
>>> So you are trying to use RTPProxy in bridge mode (between a private and
>>> a public network). This means that for INVITE you should have a public IP,
>>> and for 200OK a private IP (or the other way around, depending on your
>>> scenario). You have three possible solutions to achieve this:
>>>
>>> 1. For INVITE, call rtpproxy_offer("flags", "PUBLIC_IP") and for 200OK,
>>> rtpproxy_answer("flags", "PRIVATE_IP") (or reverse the IPs in case of a
>>> different scenario). I am not sure this works, as RTPProxy will have no
>>> idea about where exactly is your UAC/UAS - therefore it might use wrong
>>> sockets to send data (for example, it might use a PRIVATE_IP socket to send
>>> RTP to a public ip).
>>> 2. Enable the autobridge mode, by setting the 'rtpproxy_autobrige'
>>> parameter [1]. I've never used this, so I can't confirm whether it works
>>> properly or not.
>>> 3. Call the rtpproxy_offer/answer functions with the 'E' or 'I'
>>> flags[2]. This is the most reliable method I've used I can confirm it works.
>>>
>>> [1] http://www.opensips.org/html/docs/modules/1.8.x/rtpproxy#id250154
>>> [2] http://www.opensips.org/html/docs/modules/1.8.x/rtpproxy#id292744
>>>
>>> Regards,
>>>
>>> Razvan Crainea
>>> OpenSIPS Core Developerhttp://www.opensips-solutions.com
>>>
>>> On 11/14/2012 05:14 PM, Ignacio Gonzalez wrote:
>>>
>>> Ok i will check the flags, I set the domain parameter of rtpproxy_offer
>>> to PUBLIC_IP, i create the rules in my router to bind the ports 35000 to
>>> 35200 of the public_ip to the ports 35000 to 35200 in the PRIVATE_IP of
>>> rtpproxy 192.168.1.220, I'm not sure if this is correct.
>>>
>>> If i don't put the domain parameter in the rtpproxy_offer the SDP
>>> message contains the private ip of the RTPPROXY (192.168.1.220) and my
>>> clients are outside this nat.
>>>
>>> Thanks
>>>
>>>
>>> 2012/11/14 Răzvan Crainea <razvan at opensips.org>
>>>
>>>>  Hi, Ignacio!
>>>>
>>>> The ports you have listed in the SDP snippet belong to a single rtp
>>>> stream - Callee-RTPProxy-Caller. You should also check the ports in the
>>>> 200OK.
>>>> The "nortpproxy_str" parameter you are specifying is used by RTPProxy
>>>> to determine if the SDP has to be changed, or somebody else already changed
>>>> in the path.
>>>> I noticed that you call rtpproxy_offer() function with two parameters:
>>>> 1. "ro" - if the SDP has a private IP, you shouldn't use the "r" flag.
>>>> This flag is used to specify that RTPProxy should accept packages only from
>>>> that IP, whereas in your case he will receive the packets from a public IP.
>>>> 2. "domain" - you shouldn't use this parameter unless you really know
>>>> what you are doing. This overwrites the domain specified by RTPProxy, which
>>>> is not always such a good idea.
>>>>
>>>> I hope these remarks will help you fix your problem.
>>>>
>>>> Regards,
>>>>
>>>> Razvan Crainea
>>>> OpenSIPS Core Developerhttp://www.opensips-solutions.com
>>>>
>>>>  On 11/14/2012 01:11 AM, Ignacio Gonzalez wrote:
>>>>
>>>> I change the attribute using adding this to the opensips configuration
>>>> file
>>>>
>>>> modparam("rtpproxy", "nortpproxy_str", "a=sdpmangled:yes\r\n")
>>>>
>>>>
>>>>
>>>> a=nortpproxy:yes
>>>>
>>>>
>>>> But there is no audio, i check the traffic using wireshark and i see
>>>> that a lot of packets are sent to another port not the one that i send in
>>>> the first message, example:
>>>>
>>>> First SDP
>>>>
>>>> v=0
>>>> o=- 465641 0 IN IP4 10.168.123.201
>>>> s=-
>>>> c=IN IP4 10.168.123.201
>>>> t=0 0
>>>> m=audio 11670 RTP/AVP 0
>>>> a=rtpmap:0 PCMU/8000
>>>> a=sendrecv
>>>>
>>>>
>>>>
>>>> Changed by opensips and rtpproxy to look like
>>>>
>>>>
>>>> v=0
>>>> o=- 465641 0 IN IP4 IP_PUBLIC
>>>> s=-
>>>> c=IN IP4 IP_PUBLIC
>>>> t=0 0
>>>> m=audio 35000 RTP/AVP 0
>>>> a=rtpmap:0 PCMU/8000
>>>> a=sendrecv
>>>>
>>>>
>>>> And packets are being recived on the udp:10.168.123.201:45708
>>>>
>>>>
>>>> Thanks for your help
>>>>
>>>>
>>>>
>>>> 2012/11/13 Ignacio Gonzalez <mylaneza at gmail.com>
>>>>
>>>>> Hello, I change the command line to run rtpproxy and change my
>>>>> configuration file:
>>>>>
>>>>> ./rtpproxy -l timewarnercable.dyndns.org -s udp:192.168.1.220:12333-n tcp:
>>>>> 192.168.1.220:12333 -u syrium -m 35000 -M 35200
>>>>>
>>>>> rtpproxy_offer("ro" , "timewarnercable.dyndns.org");
>>>>>
>>>>> And now the SDP message looks like this:
>>>>>
>>>>> v=0
>>>>> o=- 0 0 IN IP4 PUBLICIP
>>>>> s=-
>>>>> c=IN IP4 PUBLICIP
>>>>> t=0 0
>>>>> m=audio 35134 RTP/AVP 0
>>>>> a=rtpmap:0 PCMU/8000
>>>>> a=sendrecv
>>>>> a=nortpproxy:yes
>>>>>
>>>>> But there is no audio, and I don't know what is the meaning of the
>>>>> a=nortpproxy:yes
>>>>>
>>>>>
>>>>> Thanks for your help.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2012/11/12 Ignacio Gonzalez <mylaneza at gmail.com>
>>>>>
>>>>>> I use the same port but tcp because in the post the answer is that. I
>>>>>> Attach the debug file
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2012/11/12 spady <spady77 at gmail.com>
>>>>>>
>>>>>>> Please, post entire opensips log ( set debug to 6 ).
>>>>>>>
>>>>>>> Why are you using same port for sock and notify_sock ??? Have you
>>>>>>> tried with
>>>>>>> different ports?
>>>>>>>
>>>>>>> Bye
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://opensips-open-sip-server.1449251.n2.nabble.com/RTPProxy-Problem-tp7582930p7582974.html
>>>>>>>  Sent from the OpenSIPS - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Users mailing list
>>>>>>> Users at lists.opensips.org
>>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20121115/38983a25/attachment-0001.htm>


More information about the Users mailing list