[Freeswitch-users] External profile, client before nat.

Mimiko vbvbrj at gmail.com
Sat Dec 15 15:09:22 MSK 2012


Hello.

External profile is bind to port 5080 on public IP of FS server 
connected directly to server. Server has a public IP for serving 
external connections to some local services like IVR without any 
registration.

client -> internet -> FS -- is ok.
client -> nat -> internet -> FS -- no sound.

I don't need any client registration for this calls, so no directory 
users are used. The external sip profile is from git. Only sip-ip and 
rtp-ip is equal to ext-sip-ip and ext-rtp-ip and is equal to external IP 
of FS server.

When a client behind a nat calls, in FS log remote SDP shows client's 
local lan ip, not public IP of the router thru which client get access 
to internet. Also channel name is sofia/external/internal-ip. I've tried 
aggressive-nat-detection, NDLB-force-rport, NDLB-sendrecv-in-session in 
sofia profile "external" ad even:

<extension name="sip_nat_detected" continue="true">
   <condition field="${sip_nat_detected}" expression="^true$">
     <action application="set" inline="true" 
data="sip-force-contact=NDLB-connectile-dysfunction"/>
   </condition>
</extension>

in public.xml to no available. I tried two different soft phones. One 
does not get audio at all, other softphone get audio after about 5 sec, 
and in log I see that remote SDP IP had changed to client's public ip.

Interesting thing that the same softphone which never gets audio, does 
not have problem to connect to FS conference server.

What I am missing?
-- 
Mimiko desu.



Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list