<div dir="ltr">Hello,<div>I checked the docs and indeed sip.js supports GRUU (haven't heard of this before).</div><div>I will try with it.</div><div>Thanks,<br>Takeshi</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 11, 2016 at 6:01 AM, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
if the client UA does GRUU (iirc, jssip supports that, sip.js
started as a fork of jssip) and you enable that in Kamailio (see
registrar module), it should be enough that the client UA reconnects
on websocket for SIP singaling, no need for re-INVITE, unless the
IP/ports for media stream change. The BYE or other requests within
dialog will be routed properly to the new contact address after the
reconnect.<br>
<br>
But you have to check with your UA and see how it behaves in order
to build the proper solution on server side.<br>
<br>
Cheers,<br>
Daniel<div><div class="h5"><br>
<br>
<div>On 10/02/16 20:57, mayamatakeshi wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Daniel,
<div>originally I was thinking that i should just terminate or
allow the dialog module to terminate the call if
websocket:closed happens.</div>
<div>However, I believe the sip.js library I am using in the
client will do a re-INVITE after websocket connection is
reestablished so that requests from the other end will come to
the right socket so I am thinking in just reduce the dlg
timeout and if the re-INVITE happens, reset it to its usual
value.</div>
<div>I have not checked yet if sip.js does this re-INVITE but I
believe it is reasonable to assume it does and if it doesn't I
think it should not be difficult to patch it to do so.</div>
<div><br>
</div>
<div>I will check the other alternatives you mentioned.</div>
<div>Thank you.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Takeshi<br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Feb 10, 2016 at 10:23 PM,
Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank"></a><a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello Takeshi,<br>
<br>
so do you expect a re-INVITE after the websocket
connection is closed?<br>
<br>
You may want to check also the dialog keepalive
features, it might just be enough to enable it, but of
course it may take longer to detect when one leg of
the call is gone.<br>
<br>
Also, typically with PSTN gateways works to set
session timers (see sst module).<br>
<br>
Cheers,<br>
Daniel
<div>
<div><br>
<br>
<div>On 10/02/16 12:27, mayamatakeshi wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Daniel,
<div><br>
</div>
<div>Yes, that will solve it.</div>
<div>Then when i get the in-dialog INVITE i
can revert the lifetime back to the original
value.</div>
<div>Thanks and regards,</div>
<div>Takeshi<br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Feb 10,
2016 at 5:59 PM, Daniel-Constantin
Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank"></a><a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
perhaps you can just lower the
dialog lifetime in the websocket
event route, then dialog will take
care of sending the BYEs, without
the need to store additional
information in hash table.<br>
<br>
Cheers,<br>
Daniel
<div>
<div><br>
<br>
<div>On 09/02/16 23:37,
mayamatakeshi wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">Hello,
<div>I am using module
websocket and it works
very well.</div>
<div>However I would like to
send BYE to the other end
if event
[websocket:closed]
happens.</div>
<div>From the docs I can see
websocket module itself
doesn't provide for this.</div>
<div><br>
</div>
<div>I was considering doing
something like this:</div>
<div> - use module htable
to match $si:$sp to
dialogs</div>
<div> - use
event_route[dialog:start]
to insert dialog info to
my htable under $si:$sp of
Websocket side of the call</div>
<div> - use
event_route[dialog:end] to
remove dialog info from
htable</div>
<div> -
use event_route[websocket:closed]
to iterate over entries in
the htable under key
$si:$sp and call dlg_get()
and dlg_bye().</div>
<div><br>
</div>
<div>Obs: in the above,
there is a risk of losing
some dialogs as insertion
in htable cannot be done
atomically, but I am fine
with it as it it not
expected to happen as
WebSocket users would only
infrequently generate
simultaneous calls. </div>
<div><br>
</div>
<div>However before going
with this, I would like to
ask for other possible
approaches.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Takeshi</div>
<div><br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><span><font color="#888888">
</font></span></pre>
<span><font color="#888888"> </font></span></blockquote>
<span><font color="#888888"> <br>
<pre cols="72">--
Daniel-Constantin Mierla
<a href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://miconda.eu" target="_blank">http://miconda.eu</a></pre>
</font></span></div>
<br>
_______________________________________________<br>
SIP Express Router (SER) and Kamailio
(OpenSER) - sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://miconda.eu" target="_blank">http://miconda.eu</a></pre>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a href="http://twitter.com/#!/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://miconda.eu" target="_blank">http://miconda.eu</a></pre>
</div></div></div>
</blockquote></div><br></div>