[Freeswitch-users] How to get the network address of registered Endpoint (NAT Problem)
Mitja
unau0 at gmx.de
Tue Jan 7 11:38:33 MSK 2014
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 at 1.2.3.4@internal> sofia status profile internal reg
Registrations:
=================================================================================================
Call-ID: aeac7f28-a6a0-4ba1-9d7c-30934924726d
User: 270 at 1.2.3.4
Contact: "user" <sip:270 at 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 at 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 at 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 at 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
Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users
mailing list