[OpenSIPS-Users] how do you determine first registration of a device

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon Sep 28 11:59:02 CEST 2009


Alex, take care that the functionality I mentioned exists only in 1.6 
(if you need a backport to 1.5 let me know).

Regards,
Bogdan

Alex G wrote:
> ok I will test this method, this seems better than nothing at this 
> point. Thanks Bogdon!
>
> On Sun, Sep 27, 2009 at 4:33 AM, Bogdan-Andrei Iancu 
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>
>     Hi Alex,
>
>     As said, from SIP point of view, a registrar cannot tell (in a
>     reliable
>     way) if a registration is a first registration or a re-registration.
>     Simply there is no information to help with this. No hocus-pocus with
>     deleting the previous registrations or unregister will not help.
>
>     BUT, the only thing you can use is that during a re-registration the
>     callid may be preserved (and cseq increased), while during a fast
>     reboot, the callid (in REGISTER) will be definitely a new one.
>
>     So, as you can see, you can make 100% distinction between the two
>     cases,
>     but you can identify a first registration (when a new callid is
>     received
>     from the client). So , if it is not a big issue that you may detect
>     "supplementary" first-register events (like a re-register when the
>     client simply decide to change the callid), you can use in 1.6 the new
>     "callid" parameter on the "registered()" param:
>
>     http://www.opensips.org/html/docs/modules/devel/registrar.html#id271243
>
>     like:
>           if (registered("location","$to","$ci")) { -> received callid is
>     already registered -> not a first registration}
>
>
>     Regards,
>     Bogdan
>
>     Alex G wrote:
>     > this still does not solve the issue of a reboot that occurs in under
>     > 60 seconds. if a phone does not unregister on reboot, the record
>     > remains in the db for those 60 seconds. if it comes back up in under
>     > 60 seconds, then to opensips it looks like a reregistration.
>     >
>     > is there someway to discern this scenario from the info in the
>     > location table that is already there? maybe the callid or cseq or
>     > something?
>     >
>     > On Sat, Sep 26, 2009 at 1:43 PM, Alex Balashov
>     > <abalashov at evaristesys.com <mailto:abalashov at evaristesys.com>
>     <mailto:abalashov at evaristesys.com
>     <mailto:abalashov at evaristesys.com>>> wrote:
>     >
>     >     As Inaki said, what you're trying to achieve is a little
>     ridiculous.
>     >
>     >     But, if you must do it, I recommend using a database capable of
>     >     advanced triggers and decent stored procedures (PostgreSQL)
>     and using
>     >     usrloc and registrar with full database backing and no
>     caching or
>     >     synchronisation (changes immediately reflected in database).
>      Then put
>     >     a trigger on your 'location' table.  Trying to do this from
>     the route
>     >     script is silly.
>     >
>     >     Alex G wrote:
>     >
>     >     > I have a scenario where I'm trying to fire a script based
>     on the
>     >     first
>     >     > registration of a device. In normal circumstances I can
>     check the
>     >     > location table using registered() function and if there is an
>     >     entry i
>     >     > know it's not the first registration. My problem is when a
>     phone
>     >     does a
>     >     > quick reboot., it sometimes comes back on line before the
>     >     phone's entry
>     >     > is removed from the location table. In this case, the
>     above solution
>     >     > does not work.
>     >     >
>     >     > Can anyone provide advice on how to determine first
>     registration
>     >     of a
>     >     > phone coming back online in another way?
>     >     >
>     >     >
>     >     >
>     >    
>     ------------------------------------------------------------------------
>     >     >
>     >     > _______________________________________________
>     >     > Users mailing list
>     >     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     <mailto:Users at lists.opensips.org <mailto:Users at lists.opensips.org>>
>     >     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>     >
>     >     --
>     >     Alex Balashov - Principal
>     >     Evariste Systems
>     >     Web     : http://www.evaristesys.com/
>     >     Tel     : (+1) (678) 954-0670
>     >     Direct  : (+1) (678) 954-0671
>     >
>     >     _______________________________________________
>     >     Users mailing list
>     >     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     <mailto: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 <mailto:Users at lists.opensips.org>
>     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>
>
>     _______________________________________________
>     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
>   




More information about the Users mailing list