[OpenSIPS-Users] Contact list in REGISTER response

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Feb 24 12:03:58 CET 2010


Be careful about the expires value - the usrloc module will choose an 
expire value based on the received expire and the max_expire (module 
param). You need to send back to the UAC exactly the same expire as the 
own determined by usrloc, otherwise the server and client will be out of 
sync from expiration point of view. Like the uac will think it is still 
registered, will the proxy will expire the UAC's contact.

Regards,
Bogdan

mayamatakeshi wrote:
>
>
> On Tue, Feb 16, 2010 at 6:45 PM, Bogdan-Andrei Iancu 
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>
>     Hi,
>
>     Yes, that is the only way - if REGISTRAR module builds the reply, it
>     will do it in RFC way (adding all the registered contacts) and you
>     cannot change this behaviour.
>
>
> Thanks,
> I tested it:
>
>         if (!save("location","rp1")) {
>             sl_reply_error();
>         }
>         append_to_reply("Contact: $ct;expires=40\r\n");
>         sl_send_reply("200","OK");
>
> It works fine.
>
> regards,
> takeshi
>
>  
>
>     mayamatakeshi wrote:
>     >
>     > On Tue, Feb 16, 2010 at 12:54 AM, mayamatakeshi
>     > <mayamatakeshi at gmail.com <mailto:mayamatakeshi at gmail.com>
>     <mailto:mayamatakeshi at gmail.com <mailto:mayamatakeshi at gmail.com>>>
>     wrote:
>     >
>     >     Hello,
>     >     about registration, is it possible somehow to make opensips to
>     >     reply with a "200 OK" containing only the Contact of the
>     >     registering UA instead of all contacts from usrloc?
>     >
>     >     I'm having a problem with eyebeam. It has a bug (at least the
>     >     version I'm testing) and it doesn't parse the Contact header
>     >     correctly and it always gets the value of expires from the first
>     >     contact listed.
>     >     So in the case of a "200 OK" with a Contact like this:
>     >
>     >     Contact: <sip:1000 at 192.168.2.5:5050
>     <http://sip:1000@192.168.2.5:5050>
>     >    
>     <http://sip:1000@192.168.2.5:5050>>;expires=5;received="sip:192.168.2.5:5050
>     <http://192.168.2.5:5050>
>     >     <http://192.168.2.5:5050>", <sip:1000 at 192.168.0.2:8286
>     <http://sip:1000@192.168.0.2:8286>
>     >    
>     <http://sip:1000@192.168.0.2:8286>>;expires=40;received="sip:192.168.128.33:61717
>     <http://192.168.128.33:61717>
>     >     <http://192.168.128.33:61717>"
>     >
>     >     it should get expires=40 but it is getting expires=5. And since
>     >     eyebeam re-registers 5 seconds before expirations, it sends
>     >     REGISTER immediately and this goes on in a loop till the expires
>     >     of the first contact gets greater than 5 (when the other
>     terminal
>     >     re-registers).
>     >
>     >
>     > I have not tested yet, but I think I got it:
>     > I have to call the function save with the flag "r" (no Reply),
>     compose
>     > the Contact header myself and send the reply.
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Users mailing list
>     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>
>
>     --
>     Bogdan-Andrei Iancu
>     www.voice-system.ro <http://www.voice-system.ro>
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list