<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <tt>Hi Julien,<br>
      <br>
      yes, signaling based events (like a rejection or timeout from the
      user) may be considered a good reason to delete his registration.<br>
      <br>
      Now, on Transport related error from OpenSIPS itself:<br>
      &nbsp;&nbsp;&nbsp; UDP - there is no way to get the potential ICMP errors :(<br>
      &nbsp;&nbsp;&nbsp; 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.<br>
      <br>
      Let me add these 2 things on the TODO list for 1.10 - removing
      contacts and NET indication from t_relay .<br>
      <br>
      Regards,<br>
    </tt>
    <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
    <br>
    On 02/12/2013 06:20 PM, Julien Chavanton wrote:
    <blockquote
cite="mid:CAKmcL2maLjzg773SC0zOKPhBiAksT0h8UMkV4-DYeJOCvmfjmw@mail.gmail.com"
      type="cite">Hi,<br>
      <br>
      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.<br>
      <br>
      Some equipments are generating 503 when they face a transport
      layer failure, we found out that this is quite reliable.<br>
      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.<br>
      <br>
      Is there a way to detecting transport layer failure in Opensips ?&nbsp;
      (TCP RST)<br>
      <br>
      <br>
      <pre>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.



</pre>
      <br>
      <br>
      <br>
      <div class="gmail_quote">On Tue, Feb 12, 2013 at 4:46 PM,
        Bogdan-Andrei Iancu <span dir="ltr">&lt;<a
            moz-do-not-send="true" href="mailto:bogdan@opensips.org"
            target="_blank">bogdan@opensips.org</a>&gt;</span> wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000"> <tt>Hi Julien,<br>
              <br>
              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)<br>
              <br>
              Regards,<br>
            </tt>
            <pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a moz-do-not-send="true" href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
            <div>
              <div class="h5"> <br>
                On 02/12/2013 11:02 AM, Julien Chavanton wrote: </div>
            </div>
            <blockquote type="cite">
              <div>
                <div class="h5">Hi, I have a case where is would be
                  helpful to delete a binding from the location
                  database.<br>
                  <br>
                  For example, when we receive a socket reset or
                  time-out while trying to use it.<br>
                  <br>
                  I believe it can be done trough the MI : <br>
                  <br>
                  ul rm &lt;username&gt; [&lt;contact URI&gt;]....
                  delete user's usrloc entries<br>
                  <br>
                  But I just wanted to confirm that currently it can not
                  be done directly from the routing script ?<br>
                  <br>
                </div>
              </div>
              <pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a moz-do-not-send="true" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a moz-do-not-send="true" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
            </blockquote>
          </div>
        </blockquote>
      </div>
      <br>
    </blockquote>
  </body>
</html>