[OpenSIPS-Users] RTPProxy Problem

Ignacio Gonzalez mylaneza at gmail.com
Fri Nov 16 23:48:36 CET 2012


Hello, I have implemented my RTP according to RFC 4961 Symmetric RTP and
works, I'm using the flags "ro" in the rtp_offer function, but I don't know
how to use asymmetric rtp with rtpproxy, adding the "a" to my flags doesn't
fix it. I think rtpproxy needs more documentation and maybe a webinar.


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

> 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/20121116/132fd9c6/attachment-0001.htm>


More information about the Users mailing list