[SR-Users] Kamailio v4.0.2, iPhone, TCP connection and PJLIB

Daniel-Constantin Mierla miconda at gmail.com
Wed Aug 14 11:31:13 CEST 2013


Hello,

On 8/14/13 11:26 AM, Roberto Fichera wrote:
> On 08/14/2013 11:20 AM, Daniel-Constantin Mierla wrote:
>
> Hi,
>
>> Hello,
>>
>> On 8/14/13 11:16 AM, Roberto Fichera wrote:
>>> On 08/14/2013 10:19 AM, Daniel-Constantin Mierla wrote:
>>>
>>> Hi,
>>>
>>>> Hello,
>>>>
>>>> as you can see in the REGISTER, the phone give a public IP where it can be contacted and kamailio tries to deliver to
>>>> that address sip:528 at 94.94.X.X:1274;transport=TCP
>>>>
>>>> REGISTER comes from another port, but that is allowed in SIP.
>>> Yep! That's the problem
>>>
>>>> You should disable stun in the client and let the server care of nat traversal.
>>> As already said all client doesn't use any stun-
>> then how they discover the public IP address if they are behind NAT? Or did I misunderstand that they are behind NAT?
> Yes! They are behind NAT! Shouldn't kamailio detect such behaviour so it will change the contact header and the other
> fields accordingly using the nat_fix_XXXX functions?
detection of whether a device is behind nat is done based on comparing 
source IP of the packet with the IP addresses in the SIP message. It is 
no other way from application point of view.

If you look at the trace, the REGISTER has only public IP addresses, no 
private address. Also, the Via header is perfectly matching the the 
source IP and port of the packet.

Therefore, if the device is behind a nat in a private network, how does 
it discover the public IP or the NAT router? Is the nat router running a 
SIP ALG? Can you get the SIP trace on the device itself?
Cheers,
Daniel

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda




More information about the sr-users mailing list