[Serusers] Nathelper/RTPProxy not working for agents behind NAT

Greger V. Teigre greger at teigre.com
Sat Apr 2 09:59:48 CEST 2005


> Thank you for your comments. However for the moment I would like to
> stay with 0.8.14 [If you don't mind ;)]. I implemented the
> nathelper/rtpproxy script given in the onsip getting started
> document. The only difference is that I removed the "has_totag()"
> from the loose route section. I have two questions.    

For NAT, the difference is not really that big.  However, 0.9.0 has a lot of new features and has proven stable in many large-scale setups. However, 0.8.14 is fine for the basics.
 
> 1) In the route[2] section, should the sl_send_reply("100",
> "Trying"); be sl_send_reply("200", "OK");?? I couldnt register unless
> I changed this line and this route deals with the SIP REGISTER
> message.   

No, this only sends an OK when things not really are OK. save("location") will send the 200 OK if you get there.  You are probably stopped by the check_to(). If username (before@) is different from auth name in your client, you will not be authorized.
 
> 2) After I changed this I tried to make a call between two phones (on
> public addresses) and got a 404 message. Could there be an obvious
> reason for this? I am eager to stay with this script as it must
> obviously work and would be more reliable than my own script which is
> patched together from variors posts on the mailing list.    

Because you are not registered (never reached save() ).
g-)

> Regards,
> Vivienne.
> 
> "Greger V. Teigre" <greger at teigre.com> wrote:
> Dear Vivienne,
> I wrote the rtpproxy section, so I'll respond for Paul.
> See inline.
> g-)
> ---- Original Message ----
> From: Vivienne Curran
> To: Java Rockx ; serusers at lists.iptel.org
> Sent: Friday, April 01, 2005 12:25 PM
> Subject: Re: [Serusers] Nathelper/RTPProxy not working for agents
> behind NAT
> 
>> Hello Paul,
>> 
>> Thank you for responding. I have now read the getting started
>> document. I am confused as to why my config should have supported two
>> private clients on the same subnet communicating via rtpproxy [even
>> though again i acknowledge its not the most efficient way to process
>> the call] but anyhow I have decided to try to modify my script
>> according to the sample rtpproxy/nathelper enabled scripted in the
>> onsip document version 3. I will work from this as it will provide me
>> with a solid basis.
> 
> Please note that the example in the document is based on the setup
> (figure) found at the beginning of the document.  The tests done to
> detect NAT will match for your two private clients as they will have
> private addresses.  Thus, calls between the two will be proxied even
> though it is not necessary (as I believe you want). The
> nat_uac_test() function can be modifed to do other tests if you have
> some knowledge (due to registration or other processing) about
> whether the caller/callee is NATed or not.       
> 
> As to the Grandstream config, there is no need to have them listen on
> different ports as they will have different IP addresses. Do you
> register to SER with the server's public IP address or the private?
> If you use the public, SIP messaging will go through your NAT and if
> you have a SIP ALG (application layer gateway), it will attempt to
> change the addresses to public for the phone using port 5060 and
> (maybe) not for the one using 5061.  The simplest is to use the
> private address in the Grandstream phones as SIP server address.     
> 
> 
>> I have a few simple questions though. I am getting an error with the
>> parameter "has_totag()". The /var/log/messages says I am missing the
>> loadmodule. What loadmodule supports the above parameter? Also I was
>> unable to load the module uri_db.so. Is this module usually included
>> with 0.8.14?
> 
> The Getting Started document is built on 0.9.0, which will shortly be
> released as stable (according to the core team).  The has_totag() can
> be found in the uri module. Please verify that have the latest
> rtpproxy.cfg file as there were a couple of issues with an early
> version.    
> I recommend that you download the 0.9.0 Getting Started source
> package on http://onsip.org/ and forget about 0.8.14 unless you have
> some very special reasons for not doing so.  
> 
> Regards,
> Greger
> 
>> Java Rockx <javarockx at gmail.com> wrote:
>> Perhaps our "getting started" document at http://www.onsip.org/ will
>> help you. It's based on ser-0.9.x, but it does cover both mediaproxy
>> and rtpproxy.
>> 
>> Regards,
>> Paul
>> 
>> 
>> On Thu, 31 Mar 2005 19:22:23 +0100 (BST), Vivienne Curran
>> wrote:
>>> 
>>> 
>>> Hi,
>>> 
>>> 
>>> 
>>> I am having problems troubleshooting a problem I am experiencing
>>> with my SER configuration. I have ser 0.8.14 running with rtpproxy
>>> and nathelper enabled. I have two phones on the same subnet behind
>>> nat and I would like to make a call between the two. I want to
>>> invoke rtpproxy for this as they both have private address [I know
>>> this isn't the most efficient way as they're both on the same subnet
>>> but I can worry about that later].
>>> 
>> ! >
>>> 
>>> When I ring from the phone 1 ( 2092) to phone 2 (2093), 2092 can
>>> hear voice but 2093 can't. When 2093 ring 2092, there's no audio.
>>> These phones are Grandstream BT100's. They have been configured to
>>> listen on different SIP and RTP ports.
>>> 
>>> 
>>> 
>>> 2092: SIP Port: 5060
>>> 
>>> 2092: RTP Port: 5004
>>> 
>>> 2093: SIP Port: 5061
>>> 
>>> 2093: RTP Port: 5005
>>> 
>>> 
>>> 
>>> I have tried to include my ser.cfg and SER message dumps but
>>> serbouncers said the attachment was too big. I can try adding them
>>> again if requiredI can confirm that my rtpproxy is working
>>> (originally I thought it wasn't) by using "strace -d -f -F". I can
>>> see a signal being returned.
>>> 
>>> 
>>> 
>>> Any help would be appreciated or advise as to! how I can proceed
>>> troubleshooting.
>>> 
>>> Kindest Regards,
>>> 
>>> Vivienne.
>>> 
>>> Send instant messages to your on line friends
>>> http://uk.messenger.yahoo.com
>>> _______________________________________________
>>> Serusers mailing list
>>> serusers at lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
>>> 
>>> 
>>> 
>> 
>> Send instant messages to your online friends
>> http://uk.messenger.yahoo.com
>> 
>> 
>> 
>> _______________________________________________
>> Serusers mailing list
>> serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
> 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/20050402/f90eab85/attachment.htm>


More information about the sr-users mailing list