<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:10pt">Hi ALL,<br><br>According to 14.1 and 14.2 of RFC 3261 after receiving 491 the UAC will retry again after 2.1-4.0 seconds if it owns the CALL-ID or 0.0.-2.0 if not.<br><br>So <br>If UAS have an ongoing in-dialog ping and receive another one let it send 491 and drop the request (the end point will retry it later).<br><br>// Binan.<br><br>  <div style="font-family: times new roman, new york, times, serif; font-size: 10pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">Från:</span></b> Bogdan-Andrei Iancu &lt;bogdan@opensips.org&gt;<br> <b><span style="font-weight: bold;">Till:</span></b> OpenSIPS users mailling list &lt;users@lists.opensips.org&gt; <br><b><span style="font-weight:
 bold;">Kopia:</span></b> OpenSIPS devel mailling list &lt;devel@lists.opensips.org&gt; <br> <b><span style="font-weight: bold;">Skickat:</span></b> torsdag, 1 november 2012 12:02<br> <b><span style="font-weight: bold;">Ämne:</span></b> Re: [OpenSIPS-Users] [OpenSIPS-Devel] [RELEASES] Planing OpenSIPS 1.9.0 major release<br> </font> </div> <br>
Hi Dan,<br><br>Well, as Ovidiu said, it is prone. BUT, this is not something particular <br>to re-INVITE, but to whatever in-dialog pinging you may have from a <br>mid-proxy.<br><br>On the other hand, as Ryan pointed out here, the need to check the <br>dialog health from proxy side, without relying on special end-UA <br>features (like SST), is really critical.<br><br>So, I see two approaches:<br>&nbsp; &nbsp;  1) either simply live with the fact that races may occure and calls <br>may be dropped during a re-INVITE, but at least is a clear drop /cut<br>&nbsp; &nbsp;  2) theoretically we can try to address the race at dialog modules <br>level : (a) If you have ongoing in-dialog transaction, do not do your <br>ping , (b) if you have an ongoing in-dialog ping and receive another <br>in-dilog request from end point, try to delay it until your pinging is <br>done.....just some ideas....<br><br><br>Regards,<br><br>Bogdan-Andrei Iancu<br>OpenSIPS Founder and
 Developer<br>http://www.opensips-solutions.com<br><br><br>On 10/31/2012 09:03 PM, Dan Pascu wrote:<br>&gt; On 29 Oct 2012, at 12:11, Bogdan-Andrei Iancu wrote:<br>&gt;<br>&gt;&gt; Hi Saul,<br>&gt;&gt;<br>&gt;&gt; We were thinking at re-INVITE pinging from OpenSIPs level towards the caller and callee. There will be 2 modes (at least this is the current plan).<br>&gt;&gt;&nbsp; &nbsp;  1) remember all the time the last SDPs from each side and re-use them when pining the other sides (just to trick the SDP negotiation)<br>&gt;&gt;&nbsp; &nbsp;  2) start with a lateSDP negotiation on one side and do normal SDP on the other side (to avoid SDP storing), but this means at least one of the parties should support late SDP negotiations<br>&gt;&gt;&nbsp; &nbsp;  3) open to other suggestions....<br>&gt; I think this invites trouble as it is prone to race conditions. If any of the clients send a re-INVIVITE of their own while OpenSIPs does it's pinging, it will fail
 as there is already an active unanswered re-INVITE in progress. The client will be confused as it didn't send another re-INVITE itself and the negative reply to its own re-INVITE will probably just prompt the client to terminate the session thinking there is some issue with it.<br>&gt;<br>&gt; I cannot see this working without a full B2BUA, where OpenSIPs would queue the client requests if there is a ping in progress and only forward them after it has finished the ping transaction.<br>&gt;<br>&gt;&gt; About the GRUU stuff, could you detail a bit :D ?<br>&gt;&gt;<br>&gt;&gt; Regards,<br>&gt;&gt;<br>&gt;&gt; Bogdan-Andrei Iancu<br>&gt;&gt; OpenSIPS Founder and Developer<br>&gt;&gt; <a href="http://www.opensips-solutions.com/" target="_blank">http://www.opensips-solutions.com</a><br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; On 10/26/2012 06:51 PM, Saúl Ibarra Corretgé wrote:<br>&gt;&gt;&gt; Hi,<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; On Oct 26, 2012, at 5:20 PM,
 Bogdan-Andrei Iancu wrote:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Hi all,<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; I would like to start a discussion about the next OpenSIPS major release - and in this discussion anyone is welcomed with options, ideas, critics and other. Your feedback is important to drive the project into a direction that reflects the user's needs!.<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; So, I will here the starting points, for both release planing and release content.<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Content<br>&gt;&gt;&gt;&gt; -------<br>&gt;&gt;&gt;&gt; What was done:<br>&gt;&gt;&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  http://www.opensips.org/Main/Ver190#toc2<br>&gt;&gt;&gt;&gt; What is planned:<br>&gt;&gt;&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  http://www.opensips.org/Main/Ver190#toc9<br>&gt;&gt;&gt;&gt; Planned items have priorities (for being addressed); it is a must to have all items done for the next release,
 as we need to fit into a time frame. Whatever is not done, will be left for the next release (1.10)<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Planing<br>&gt;&gt;&gt;&gt; -------<br>&gt;&gt;&gt;&gt; Release candidate:<br>&gt;&gt;&gt;&gt;&nbsp; &nbsp;  second half of January 2012, depending on the progress with the items to be done.<br>&gt;&gt;&gt;&gt; Testing phase:<br>&gt;&gt;&gt;&gt;&nbsp; &nbsp;  1 month allocated (it may be extended if critical problems show up)<br>&gt;&gt;&gt;&gt; Stable release:<br>&gt;&gt;&gt;&gt;&nbsp; &nbsp;  second half of February (after the testing phase is done).<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Once again, your feedback on these matters is important to us.<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt; I'll edit the wiki with the items we've been working on for presence.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Can you give a bit more detail on the dialog ping with re-INVITEs? re-INVITEs are
 particularly troublesome, because there can only be one of them at a time.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Also, can we add the in-dialog requests when using GRUU bug to the wishlist? :-)<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Keep up the good work guys!<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Regards,<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; --<br>&gt;&gt;&gt; Saúl Ibarra Corretgé<br>&gt;&gt;&gt; AG Projects<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; _______________________________________________<br>&gt;&gt;&gt; Devel mailing list<br>&gt;&gt;&gt; <a ymailto="mailto:Devel@lists.opensips.org" href="mailto:Devel@lists.opensips.org">Devel@lists.opensips.org</a><br>&gt;&gt;&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/devel" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/devel</a><br>&gt;&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Users mailing
 list<br>&gt;&gt; <a ymailto="mailto:Users@lists.opensips.org" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>&gt;&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>&gt;&gt;<br>&gt;<br>&gt; --<br>&gt; Dan<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Users mailing list<br>&gt; <a ymailto="mailto:Users@lists.opensips.org" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>&gt;<br><br>_______________________________________________<br>Users mailing list<br><a ymailto="mailto:Users@lists.opensips.org" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br><a
 href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br><br><br> </div> </div>  </div></body></html>