Failure to re-register after an IP address change.

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

 



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


-- 
Benny Prijono
http://www.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