[SR-Users] fix_nated_sdp()

Bernhard Suttner bernhard.suttner at winet.ch
Tue Jan 25 21:06:44 CET 2011


Hi,

thanks for your response. I think I understand the scenario very good - but im not so familiar with the fix_nated_sdp() functionality. 

Currently the SDP will be modified with the source IP of the message. This does work good but currently I only do that for some special devices (matching the User-Agent / Server string). I want to do that fix_nated_sdp() in all cases and not only for some special devices. 

The FreeSWITCH RTP-Auto Adjustment does work in nearly every case but in one (currently known) scenario it does not. 

Maybe I should just give it a try to do fix_nated_sdp() in combination with nat_uac_test (RFC1918 private address in SDP).

Thanks a lot for this discussion. 

Best Regards,
Bernhard

----- Original Message -----
From: Ovidiu Sas [mailto:osas at voipembedded.com]
To: Bernhard Suttner [mailto:bernhard.suttner at winet.ch]
Cc: Carsten Bock [mailto:lists at bock.info], sr-users at lists.sip-router.org
Sent: Tue, 25 Jan 2011 20:38:14 +0100
Subject: Re: [SR-Users] fix_nated_sdp()


> You need to experiment with nathelper module and while doing that, you
> need to inspect the SIP messages in order to understand how it works.
> Only when you fully understand your scenarios, you will be able to
> properly configure, debg and setup kamailio.
> 
> Best thing to do here is to use rtpproxy and relay media if needed.
> 
> Another option would be to let the SDP untouched and let freeswitch do
> it's magic (if it can).  Not sure if this will work in all scenarios.
> 
> Calling fix_nated_sdp() on the SBC will definitely not work (you are
> just messing with the IP on the SDP and you don't know if the real RTP
> port on the NATed side will match the advertised port in your "fixed"
> SDP).
> 
> 
> Regards,
> Ovidiu Sas
> 
> On Tue, Jan 25, 2011 at 1:23 PM, Bernhard Suttner
> <bernhard.suttner at winet.ch> wrote:
> > Hi,
> >
> > thanks for your answer.
> >
> > The question was about, if the fix_nated_sdp() (in the example below)
> could maybe break something. I am sure, that the fix_nated_sdp() would work
> in "some" cases but I am not sure, if the function could break something:
> >
> >
> >  if (method==INVITE && has_sdp() && nat_uac_test(8)) fix_nated_sdp(3)
> >
> >  and within the onreply route:
> >
> >  if (status=~(180|183|200) && has_sdp() && nat_uac_test(8))
> fix_nated_sdp(3)
> >
> >
> > Or is there a better solution to fix these damend NAT scenarios?
> >
> > Best regards,
> > Bernhard
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: kaiserbock2 at googlemail.com [mailto:kaiserbock2 at googlemail.com] Im
> Auftrag von Carsten Bock
> > Gesendet: Dienstag, 25. Januar 2011 18:56
> > An: Bernhard Suttner
> > Cc: sr-users at lists.sip-router.org
> > Betreff: Re: [SR-Users] fix_nated_sdp()
> >
> > Hi Bernhard,
> >
> > have you checked the SDP which is going to and from the
> > Freeswitch-Server? Is it modified?
> >
> > If yes: You may want to check your NAT-Firewall. A working (but not
> > nice) solution might be to relay the RTP through an proxy in this
> > case...
> > If No: Verify the result of "nat_uac_test": Why is it returning "false"?
> >
> > Carsten
> >
> > 2011/1/25 Bernhard Suttner <bernhard.suttner at winet.ch>:
> >> Hi,
> >>
> >> someone has an idea?
> >>
> >> Thanks in advance!
> >>
> >> Best regards,
> >> Bernhard
> >>
> >> -----Ursprüngliche Nachricht-----
> >> Von: sr-users-bounces at lists.sip-router.org
> [mailto:sr-users-bounces at lists.sip-router.org] Im Auftrag von Bernhard
> Suttner
> >> Gesendet: Montag, 24. Januar 2011 20:38
> >> An: sr-users at lists.sip-router.org
> >> Betreff: [SR-Users] fix_nated_sdp()
> >>
> >> Hi,
> >>
> >> I have a question about the fix_nated_sdp() function. Different devices
> (phones, pbxes, gateways) are using Kamailio as SBC. The SBC does t_relay()
> the message to a pool of FreeSWITCH Servers.
> >>
> >> The scenario does work quite well but:
> >>
> >> if a call is initiated from one of the freeswitch server, pass it through
> kamailio to the PBX and the PBX does have a forwarding back to kamailio and
> in the end to freeswitch I have no audio because the PBX is behind a NAT and
> uses private ip addresses in all the SDP of 200 OK and 183 Session Progress.
> Therefore FreeSWITCH could not do the (very cool) RTP Auto-Adjustment (check
> if IP in incoming packet is different to the IP in the SDP) to detect the
> real IP address.
> >>
> >> Therefore I have to use fix_nated_sdp(). I am not sure, what this
> function could break therefore I want to be very sure and use it only, if
> really necessary. Test which User-Agent or Server the peer (in this example
> the PBX) has, is not really possible because some devices does not send this
> header.
> >>
> >> What do you think about the follwoing pseudo code:
> >>
> >> if (method==INVITE && has_sdp() && nat_uac_test(8)) fix_nated_sdp(3)
> >>
> >> and within the onreply route:
> >>
> >> if (status=~(180|183|200) && has_sdp() && nat_uac_test(8))
> fix_nated_sdp(3)
> >>
> >> Somebody has a better idea to handle this? What could go wrong?
> >>
> >> Thanks in advance.
> >>
> >> Best regards,
> >> Bernhard Suttner
> >>
> >> _______________________________________________
> >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> >> sr-users at lists.sip-router.org
> >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >>
> >>
> >> _______________________________________________
> >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> >> sr-users at lists.sip-router.org
> >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >>
> >
> >
> >
> > --
> > Carsten Bock
> > Schomburgstr. 80
> > 22767 Hamburg
> > Germany
> >
> > Mobile +49 179 2021244
> > Home +49 40 34927217
> > Büro (Verl) +49 5246 801427
> > Fax +49 40 34927218
> > mailto:carsten at bock.info
> >
> >
> > _______________________________________________
> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> > sr-users at lists.sip-router.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >
> 



More information about the sr-users mailing list