<div dir="ltr">After re-reading the original question, it appears that it isn't about Asterisk at all, it was a simple reference to it, the actual question being how to get RTT in Kamailios's usloc.<div><br></div><div>Apologies for the confusion. Let's carry on with the topic, lol.</div><div><br></div><div>Cheers,</div><div>--Sergiu </div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 16, 2019 at 9:55 AM Sergiu Pojoga <<a href="mailto:pojogas@gmail.com">pojogas@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Correct me if I'm wrong, but wasn't the original poster looking for Asterisk (behind Kamailio) to show the round-trip of its peers based on qualify OPTIONS requests that Asterisk sends out to the peer?<div><br></div><div>If so, I'm curious what is the impediment not to accept the previously suggested sip PATH approach? Aside from elegance and simplicity to implement, it isn't even subject to the UDP limitation you've brought up.</div><div><br></div><div>Not that the topic of usrloc qualify isn't of interest, but it just feels like we are drifting into another topic, although somehow related to the original one.</div><div><br></div><div>Best regards,</div><div>--Sergiu </div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 16, 2019 at 7:59 AM Nuno Ferreira <<a href="mailto:nferreira@fuze.com" target="_blank">nferreira@fuze.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hello Daniel,<div><br></div><div>I'm reading this thread with some interests. We were planning to use nat_traversal module to do keepalive, but we came across the UDP only limitation. In our use case, we wanted to offload the registrar from doing keepalive. Of course, that's an option, but it has yet another limitation when having active/active registrar servers using dmq_usrloc. If one of the registrars goes down which server will be in charge of doing keepalive for the contacts previously registered on the faulty registrar? That was one of the reasons for us to seek doing keeplive on the edge with nat_traversal, but again it's only valid for UDP.</div><div>If usrloc/dmq_usrloc provides some automatic election mechanism to keepalive orphan AORs, I would prefer going with it for the task. Another benefit like I read from your words is that we would automatically have available latency/rtt attached to each contact and that is a big plus.</div><div><br></div><div>Regards,</div><div><br></div><div>Nuno</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail_attr">On Wed, Jan 16, 2019 at 12:26 PM Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>Hello,</p>
<p>maybe we can just add this feature to the usrloc module -- right
now the nat keepalive is done from nathelper module, which queries
usrloc module to retrieve the list of the contacts to send OPTIONS
to. Of course, the nathelper has the other variant witj 4-bytes
pings, but I expect not many are using it these days.</p>
<p>Furthermore, because the nathelper has some options to forge the
source ip address as well as willing to be lightweight, it sends
the packets directly, no relying on tm module.</p>
<p>However, it seems that it is an increase interest in having more
feedback based on these keepalives. Including the ability to do
mirroring for sipcapture (a feature request being open in the
tracker). Other request in the past was to send OPTIONS also for
non-UDP contacts, nathelper does it only for UDP.</p>
<p>So we can consider adding a transaction based keepalive layer,
which of course might take a bit more resources that current
nathelper implementation, but can bring extra benefits. I think we
can leave nathelper as it is and add this feature directly in the
usrloc module, avoiding to pass data between modules, but also
because we have to set/updates some fields in the contract
structure (like this round trip time).</p>
<p>There are other modules that do keepalive, some mentioned
dispatcher, there is a dedicated one named keepalive, and, afaik,
also nat_traversal can do it. I am listing them so others can
assert where it would be better to add the new feature -- as said,
I would do it in usrloc, but I am open for other suggestions as
well (eventually accompanied with a pull request).</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-cite-prefix">On 15.01.19 21:12, Julien Chavanton
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div>Depending on the use case, you could use the dispatcher
module latency stats.</div>
<div><br>
</div>
<div><a href="https://kamailio.org/docs/modules/devel/modules/dispatcher.html#dispatcher.p.ds_ping_latency_stats" target="_blank">https://kamailio.org/docs/modules/devel/modules/dispatcher.html#dispatcher.p.ds_ping_latency_stats</a><br>
</div>
<div><br>
</div>
<div>Regards</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Jan 15, 2019 at 2:29 AM Daniel Tryba <<a href="mailto:d.tryba@pocos.nl" target="_blank">d.tryba@pocos.nl</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On
Sun, Jan 13, 2019 at 10:08:31PM +0300, Soltanici Ilie wrote:<br>
> With Asterisk, we are able to get some peer round-trip
connection statistic by setting qualify=yes for the specified
peer. <br>
> It sends periodic OPTIONS to the peer and calculates the
time round trip time.<br>
> It's something like - "Status: OK (30 ms)".<br>
> Is there any way to achieve this in Kamailio by using
nathelper??module, or any other?<br>
<br>
I think the only way to do this is to make this yourself (tm).
In your<br>
favorite scripting language, query the locations and fire
OPTIONS and<br>
measure the time for a response (if any) on basis of the
"random" callid<br>
you create. If you route these requests through kamailio you
will<br>
prevent any NAT problems or connection with TCP endpoints.<br>
<br>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote>
</div>
<br>
<fieldset class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911mimeAttachmentHeader"></fieldset>
<pre class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-quote-pre">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a>
<a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-signature" cols="72">--
Daniel-Constantin Mierla -- <a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-abbreviated" href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-abbreviated" href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio World Conference - May 6-8, 2019 -- <a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-abbreviated" href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a>
Kamailio Advanced Training - Mar 4-6, 2019 in Berlin; Mar 25-27, 2019, in Washington, DC, USA -- <a class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail-m_8162478082262995911moz-txt-link-abbreviated" href="http://www.asipto.com" target="_blank">www.asipto.com</a></pre>
</div>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-2230583780302449299gmail-m_6164505625294083935gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><p style="font-family:Arial;color:rgb(0,0,0);font-size:12px"><b style="font-family:Arial,sans-serif">Nuno Ferreira</b> | Architect, CoreUC | <a href="mailto:nferreira@fuze.com" target="_blank">nferreira@fuze.com</a> | +351 308805903<br style="font-family:Arial,sans-serif">Rua Carlos Silva Melo Guimarães 23, 3800-126 Aveiro, Portugal</p><p style="font-family:Arial;color:rgb(0,0,0);font-size:12px"><a href="http://www.facebook.com/fuze" style="font-family:Arial,sans-serif" target="_blank"><img src="http://www.fuze.com/sites/all/themes/fuzev3/medias/hosted/Social-Facebook.png" height="13" width="6"></a> <a href="http://www.twitter.com/fuze" style="font-family:Arial,sans-serif" target="_blank"><img src="http://www.fuze.com/sites/all/themes/fuzev3/medias/hosted/Social-Twitter.png" height="12" width="16"></a> <a href="https://www.linkedin.com/company/fuze-inc" style="font-family:Arial,sans-serif" target="_blank"><img src="http://www.fuze.com/sites/all/themes/fuzev3/medias/hosted/Social-Linkedin.png" height="14" width="15"></a> <a href="https://plus.google.com/110150232345018024360" style="font-family:Arial,sans-serif" target="_blank"><img src="http://www.fuze.com/sites/all/themes/fuzev3/medias/hosted/Social-GooglePlus.png" height="12" width="13"></a> <a href="https://www.instagram.com/fuze_hq/" style="font-family:Arial,sans-serif" target="_blank"><img src="http://www.fuze.com/sites/all/themes/fuzev3/medias/hosted/Social-Instagram.png" height="13" width="13"></a></p><p style="font-family:Arial;color:rgb(0,0,0);font-size:12px"><a href="http://www.fuze.com/" style="font-family:Arial,sans-serif;font-size:medium" target="_blank"><img src="http://www.fuze.com/sites/all/themes/fuzev3/medias/hosted/Fuze-logo-hor-purple-emailSignature.jpg" height="74" width="130"></a></p></div></div></div></div></div></div></div></div></div></div></div></div>
<br>
<span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">*Confidentiality Notice: The information contained in this e-mail and any</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments may be confidential. If you are not an intended recipient, you</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">are hereby notified that any dissemination, distribution or copying of this</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">e-mail is strictly prohibited. If you have received this e-mail in error,</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">please notify the sender and permanently delete the e-mail and any</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments immediately. You should not retain, copy or use this e-mail or</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">any attachment for any purpose, nor disclose all or any part of the</span><br style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">contents to any other person. Thank you.*</span>_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>
</blockquote></div>