See http://wiki.freeswitch.org/wiki/NDLB Try NDLB-connectile-dysfunction... it'll rewrite the contact header to where the REGISTER packet came from. On 7 January 2014 08:38, Mitja <unau0@gmx.de> wrote:
Hello there,
Im trying to solve NAT related Problem which is caused by missbehaving SIP phone. Up Front: I searched the wiki and the web for all the NAT related sites/mailling list. I think its a error of the invoxia IPhone docking station (the missbehaving SIP phone), thus I did not open a jira for it.
We have a freeswitch server with internet accessibility and a Phone behind a natting router (Fritz!Box). FreeSWITCH (1.2.3.4) <-> (10.11.12.13) NAT (192.168.0.1) <-> (192.168.0.2) SIP Phone
The Phone is able to register and initiate calls. But when someone else to call that endpoint, its unreachable.
I did some research and the problem seems to be that the phone registers with a Contact containing the private IP Adress (192.168.0.2).
freeswitch@1.2.3.4@internal> sofia status profile internal reg
Registrations:
=================================================================================================
Call-ID: aeac7f28-a6a0-4ba1-9d7c-30934924726d User: 270@1.2.3.4 Contact: "user" <sip:270@192.168.0.2:52767;ob> Agent: invoxia-lemonvoice-v6.17.4 Status: Registered(UDP)(unknown) EXP(2014-01-06 13:06:35) EXPSECS(134) Host: ippbx-border IP: 10.11.12.13 Port: 52767 Auth-User: 270 Auth-Realm: 1.2.3.4 MWI-Account: 270@1.2.3.4
Other devices in the same Setup have their NAT IP [+Port] (10.11.12.13:52767) in their Contact Header which then works fine. In this setup however the FreeSWITCH tries to send the INVITE Message to 192.168.0.2 and even when a NAT Table on the firewall manages to map it to 10.11.12.13:52767 the answer from 10.11.12.13 is discarded.
Normally I use bridge with user/270@1.2.3.4 with the dialstring "{presence_id=${dialed_user}@ ${dialed_domain}}${sofia_contact(internal/${dialed_user}@ ${dialed_domain})}". I tried to force freeswitch to use the NAT IP address by calling bridge with "sofia/internal/sip:270@10.11.12.13:52767;ob" which worked fine. The IP address is of course not static but if I would be able to extract the IP information which is stored in sofia registry (see above) I could arrange my dialplan in a way that would fix that phones missbehaviour.
So after all that describing text (sorry for that), heres my question: Is there a way (an API or Dialplan command) to get the IP Information which is stored the sofia registry.
Thanks in advance
Regards, Mitja
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org