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 .

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com


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 ? (TCP RST)


8.1.3.1 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 <[email protected] <mailto:[email protected]>> 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
    [email protected]  <mailto:[email protected]>
    http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to