Failure to re-register after an IP address change.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Benny,

The first server response is with my local lan IP 10.0.0.10 (in the 
via), but how does it know this as the register request contain only my 
public IP not my local IP.

Checking the packet with wire shark shows the local IP only in the IP 
header (which should be translated by the router)?

I even changed the local port to 5061 (to see if the server is caching 
some info), and the via changed to
Via: SIP/2.0/UDP 10.0.0.10:5061;..

I am sure if the first server reponce was with my correct IP the rest of 
the registartion would be OK.


Any Ideas?

Regards
Lafras





First register reuest:
 18:09:48.578   pjsua_core.c TX 486 bytes Request msg 
REGISTER/cseq=39721 (tdta0
0F7A830) to UDP 196.46.138.29:5060:
REGISTER sip:sip99.telfreesa.com;lr SIP/2.0
Via: SIP/2.0/UDP 
41.242.134.171:5060;rport;branch=z9hG4bKPjb3bb3d42ff694c7f924a8
25dbcec4e81
Max-Forwards: 70
From: 
<sip:877510521 at sip99.telfreesa.com>;tag=bf55584271494897ac4680d15bf94971
To: <sip:877510521 at sip99.telfreesa.com>
Call-ID: 2f658f89e17d479c8b6920fa536c0dcc
CSeq: 39721 REGISTER
User-Agent: PJSUA v0.8.0-trunk/i686-pc-mingw32
Contact: <sip:877510521 at 41.242.134.171:5060;transport=UDP>
Expires: 300
Content-Length:  0


First responce with local IP in VIA
 18:11:01.328   pjsua_core.c RX 320 bytes Response msg 
100/REGISTER/cseq=39721 (
rdata00F7706C) from UDP 196.46.138.29:5060:
SIP/2.0 100 trying
Via: SIP/2.0/UDP 
10.0.0.10:5060;rport=5060;branch=z9hG4bKPj975a6223ec10482583e68
862376eeb61
To: <sip:877510521 at sip99.telfreesa.com>
From: 
<sip:877510521 at sip99.telfreesa.com>;tag=d647b460d40945b2a02d7b681d39e187
Call-ID: 28b3cc32d3054f1ba2000d824093d387
CSeq: 39721 REGISTER
Content-Length: 0


Benny Prijono wrote:
> Lafras Henning wrote:
>   
>> Hi Benny,
>>
>> I have the following registration situation using PJSUA:
>>
>> Summery from the log:
>>
>> Registers OK then immediately gets an IP address change - Updating 
>> registration.
>>     
>
> This is a new feature in 0.8 to work with symmetric NATs; when
> pjsua-lib detects that the IP address in Contact is different than
> the one in Via received/rport parameter, it will unregister that
> Contact, and at the same time, re-register with the address found in
> the Via header.
>
> But it looks like it didn't work properly with this server (either
> because it was confused by pjsip's multiple REGISTER requests, or
> there may be something in the request that it didn't like, or
> something else). Both the unregistration and re-registration
> actually failed. Lets see the call flow:
>
> Unregistration:
>   Request:
>     REGISTER sip:sip99.telfreesa.com;lr SIP/2.0
>     Contact: <sip:877510521 at 41.242.134.171:5060;transport=UDP>
>     Expires: 0
>
>   Response:
>     SIP/2.0 200 OK
>     Contact: <sip:877510521 at 41.242.134.171:5060;transport=UDP>;expires=180
>     Expires: 180
>
> This is wrong, IMO, as it should reply with expires=0 for the Contact. The 
> re-registration flow is even more peculiar:
>
> Re-registration:
>   Request:
>    REGISTER sip:sip99.telfreesa.com;lr SIP/2.0
>    Contact: <sip:877510521 at 10.0.0.10:5060;transport=UDP>
>    Expires: 300
>
>   Response:
>    SIP/2.0 200 OK
>    Contact: <sip:877510521 at 41.242.134.171:57800;transport=UDP>;expires=180
>    Expires: 180
>
> Now where does this Contact come from?? Perhaps this proxy has some kind 
> of NAT helper feature that messes up with the Contact header?
>
> Because pjsip does not find the Contact that it's registering in the 
> 200/OK response, it treats this as a successful un-registration.
>
> cheers,
>   -benny
>
>
>   
>> Unregistration sent
>>
>> Registration sent
>>
>> Response msg 200/REGISTER (Expires: 180)
>>     
>
>
>
>   
>> Last message says: sip:877510521 at sip99.telfreesa.com: unregistration 
>> success
>>
>> and in the account display it shows:
>>
>> sip:877510521 at sip99.telfreesa.com: 200/OK (expires=-1)
>>
>> Online status: Online
>>
>> If I dial inward to PJSUA the registrar does call PJSUA and the call can 
>> be completed, so it appears PJSUA is registered although it reports 
>> ?expires -1? and does not re-register after the registration interval.
>>
>> I am unable to make a outbound call..
>>
>> Regards
>>
>> Lafras
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Visit our blog: http://blog.pjsip.org
>>
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>     
>
>
>   



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux