[OpenSIPS-Users] delete a binding in location database from the routing script

Bogdan-Andrei Iancu bogdan at opensips.org
Tue Feb 12 20:37:11 CET 2013

Hi Julien,

yes, signaling based events (like a rejection or timeout from the user) 
may be considered a good reason to delete his registration.

Now, on Transport related error from OpenSIPS itself:
     UDP - there is no way to get the potential ICMP errors :(
     TCP - the t_relay() function do return with error if it failed to 
put the message on the network. We need to work out some specific return 
code to indicate a net err.

Let me add these 2 things on the TODO list for 1.10 - removing contacts 
and NET indication from t_relay .


Bogdan-Andrei Iancu
OpenSIPS Founder and Developer

On 02/12/2013 06:20 PM, Julien Chavanton wrote:
> Hi,
> With Opensips we can use timeout, for example after sending an INVITE 
> if we do not receive any provisional responses after 32 seconds, this 
> registration binding should be refreshed / recreated.
> Some equipments are generating 503 when they face a transport layer 
> failure, we found out that this is quite reliable.
> In our case it would be best to delete the binding to avoid loosing 
> time trying to use when we know is is not working.
> Is there a way to detecting transport layer failure in Opensips ?  
> Transaction Layer Errors
>     In some cases, the response returned by the transaction layer will
>     not be a SIP message, but rather a transaction layer error.  When a
>     timeout error is received from the transaction layer, it MUST be
>     treated as if a 408 (Request Timeout) status code has been received.
>     If a fatal transport error is reported by the transport layer
>     (generally, due to fatal ICMP errors in UDP or connection failures in
>     TCP), the condition MUST be treated as a 503 (Service Unavailable)
>     status code.
> On Tue, Feb 12, 2013 at 4:46 PM, Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>     Hi Julien,
>     Indeed, from script level you cannot remove a contact - but will
>     not be hard to add something like that. Nevertheless, may I ask
>     how do you figure out from script level if a registration must be
>     removed ? (socket related evens are not visible from the script level)
>     Regards,
>     Bogdan-Andrei Iancu
>     OpenSIPS Founder and Developer
>     http://www.opensips-solutions.com
>     On 02/12/2013 11:02 AM, Julien Chavanton wrote:
>>     Hi, I have a case where is would be helpful to delete a binding
>>     from the location database.
>>     For example, when we receive a socket reset or time-out while
>>     trying to use it.
>>     I believe it can be done trough the MI :
>>     ul rm <username> [<contact URI>].... delete user's usrloc entries
>>     But I just wanted to confirm that currently it can not be done
>>     directly from the routing script ?
>>     _______________________________________________
>>     Users mailing list
>>     Users at lists.opensips.org  <mailto:Users at lists.opensips.org>
>>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130212/2f4a3b72/attachment.htm>

More information about the Users mailing list