[prev in list] [next in list] [prev in thread] [next in thread] 

List:       serusers
Subject:    Re: [SR-Users] Access via script to location data in the memory
From:       Social Boh <social () bohboh ! info>
Date:       2021-07-31 17:02:31
Message-ID: 62aa60e4-7d7c-2610-884e-3e6ac8b2c098 () bohboh ! info
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


So, my final configuration is:

One domain with AWS Route53 same weight configuration: 50% server1 and 
50% server2

The user register over the domain.

Two Kamailio Servers with DMQ and DMQ_USRLOC modules configured; 1.2.3.4 
first server IP and 5.6.7.8 second server IP

Most important configurations *Server1*:

/*listen=udp:1.2.3.4:5060
listen=udp:1.2.3.4:5222*/

/*# ---- dmq params ----
modparam("dmq", "server_address", "sip:1.2.3.4")
modparam("dmq", "notification_address", "sip:5.6.7.8")
modparam("dmq", "multi_notify", 0)
modparam("dmq", "num_workers", 4)
modparam("dmq", "ping_interval", 30)

# ---- dmq_usrloc params ----
modparam("dmq_usrloc", "enable", 1)
modparam("dmq_usrloc", "sync", 1)
modparam("dmq_usrloc", "batch_size", 10)
modparam("dmq_usrloc", "batch_usleep", 1000)
modparam("dmq_usrloc", "batch_msg_size", 60000)
modparam("dmq_usrloc", "batch_msg_contacts", 50)
modparam("dmq_usrloc", "usrloc_domain", "location")
modparam("dmq_usrloc", "replicate_socket_info", 0)
modparam("dmq_usrloc", "usrloc_delete", 1)*/

before the block begin with:

/*$avp(oexten) = $rU;
         if (!lookup("location")) {*/

I put

/*if (!dmq_is_from_node()) {*//*
*//*if(reg_fetch_contacts("location", "$ru", "contacto")) {*//*
*//*if($(ulc(contacto=>socket))) == 0 {*//*
*//*rewritehost("5.6.7.8");*//*
*//*                        }*//*
*//*                        route(RELAY);*//*
*//*                }*//*
*//*        }*/

If the socket value is null (0) means the user is registered on the 
second Kamailio so send INVITE to second Kamailio

/*route[AUTH] {*//*
*//*#!ifdef WITH_AUTH*//*
*//*
*//*if (dmq_is_from_node()) {*//*
*//*        $ru = $tu;*//*
*//*return;*//*
*//*}*/

If INVITE comes from other DMQ node don't need authentication but I have 
to change RURI with To URI because I work in a multidomain setting and 
I'm  using the does_uri_exist function to know if the request is local 
or not.

*Server2*:

/*listen=udp:5.6.7.8:5060
listen=udp:5.6.7.8:5222*/

/**/

/*# ---- dmq params ----
modparam("dmq", "server_address", "sip:5.6.7.8")
modparam("dmq", "notification_address", "sip:1.2.3.4")
modparam("dmq", "multi_notify", 0)
modparam("dmq", "num_workers", 4)
modparam("dmq", "ping_interval", 30)

# ---- dmq_usrloc params ----
modparam("dmq_usrloc", "enable", 1)
modparam("dmq_usrloc", "sync", 1)
modparam("dmq_usrloc", "batch_size", 10)
modparam("dmq_usrloc", "batch_usleep", 1000)
modparam("dmq_usrloc", "batch_msg_size", 60000)
modparam("dmq_usrloc", "batch_msg_contacts", 50)
modparam("dmq_usrloc", "usrloc_domain", "location")
modparam("dmq_usrloc", "replicate_socket_info", 0)
modparam("dmq_usrloc", "usrloc_delete", 1)*/

before the block begin with:

/*$avp(oexten) = $rU;
         if (!lookup("location")) {*/

/**/

/*if (!dmq_is_from_node()) {*//*
*//*                if(reg_fetch_contacts("location", "$ru", 
"contacto")) {*//*
*//*                        if($(ulc(contacto=>socket))) == 0 {*//*
*//*                                rewritehost("1.2.3.4");*//*
*//*                        }*//*
*//*                        route(RELAY);*//*
*//*                }*//*
*//*        }*/

If the socket value is null (0) means the user is registered on the 
first Kamailio so send INVITE to first Kamailio

/*route[AUTH] {
#!ifdef WITH_AUTH

if (dmq_is_from_node()) {
         $ru = $tu;
return;
}*/

If INVITE comes from other DMQ node don't need authentication but I have 
to change RURI with To URI because I work in a multidomain setting and 
I'm  using the does_uri_exist function to know if the request is local 
or not.

LIMITATIONS:

  * works only with a device for user. If a user registered from two o
    more devices I don't know how achieve the same behavior
  * works with Two Kamailio due to rewritehost function...
  * maybe the routing can be better

Regards

---
I'm SoCIaL, MayBe

El 31/07/2021 a las 5:23 a. m., Henning Westerholt escribió:
> 
> Great, thanks for the confirmation.
> 
> Henning
> 
> *From:* sr-users <sr-users-bounces@lists.kamailio.org> *On Behalf Of 
> *Social Boh
> *Sent:* Friday, July 30, 2021 8:36 PM
> *To:* Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
> *Subject:* Re: [SR-Users] Access via script to location data in the memory
> 
> Works!
> 
> I can access location data presents only in the memory. Now, next step 
> is using $(ulc(contacto=>socket)) to decide which Kamailio have to 
> process the call.
> 
> Thank you
> 
> ---
> I'm SoCIaL, MayBe
> 
> El 30/07/2021 a las 11:51 a. m., Henning Westerholt escribió:
> 
> Hi,
> 
> just quickly looked in the registrar code, it uses the standard
> usrloc functions to get data from memory or database.
> 
> Maybe just give it a try, I think it should work also in
> in-memory/dmq mode.
> 
> Cheers,
> 
> Henning
> 
> *From:* sr-users <sr-users-bounces@lists.kamailio.org>
> <mailto:sr-users-bounces@lists.kamailio.org> *On Behalf Of *Social Boh
> *Sent:* Friday, July 30, 2021 6:42 PM
> *To:* Kamailio (SER) - Users Mailing List
> <sr-users@lists.kamailio.org> <mailto:sr-users@lists.kamailio.org>
> *Subject:* Re: [SR-Users] Access via script to location data in
> the memory
> 
> Hello,
> 
> reg_fetch_contacts use a table (I understood) to looking for data
> about a user.
> 
> I'm using USRLOC module without database.
> 
> Regards
> 
> ---
> 
> I'm SoCIaL, MayBe
> 
> El 30/07/2021 a las 11:18 a. m., Henning Westerholt escribió:
> 
> Hello,
> 
> have you looked to the reg_fetch_contact as already pointed
> out? Then you can access e.g. the socket with the $ulc PV, see
> the end of the registrar docs for an example.
> 
> Cheers,
> 
> Henning
> 
> -- 
> 
> Henning Westerholt – https://skalatan.de/blog/
> <https://skalatan.de/blog/>
> 
> Kamailio services – https://gilawa.com <https://gilawa.com/>
> 
> *From:* sr-users <sr-users-bounces@lists.kamailio.org>
> <mailto:sr-users-bounces@lists.kamailio.org> *On Behalf Of
> *Social Boh
> *Sent:* Friday, July 30, 2021 6:11 PM
> *To:* Kamailio (SER) - Users Mailing List
> <sr-users@lists.kamailio.org> <mailto:sr-users@lists.kamailio.org>
> *Subject:* Re: [SR-Users] Access via script to location data
> in the memory
> 
> Hello,
> 
> maybe is better I explain what I'd like to achieve:
> 
> I have two Kamailio using DMQ and DMQ_USRLOC modules so each
> REGISTER is replicate on each Kamailio. I'm using DNS weight
> to distribute the REGISTERs between the 2 Kamailios.
> 
> The only difference I have seen in the location data, with
> *kamctl ul show* command, is the Kamailio receives REGISTER
> have socket parameter with transport, ip, y port like
> udp:1.2.3.4:5060 where 1.2.3.4 is Kamailio public IP; the
> other Kamailio have this field empty.
> 
> When a call arrive to one Kamailio, querying the Socket field
> I can known if I have to send the INVITE locally or forward
> the INVITE to second Kamailio.
> 
> I don't know if there is other way to achieve this goal.
> 
> I think PATH protocol not apply here because If I reply the
> REGISTER to the second Kamailio adding path header, I don't
> need DMQ_USRLOC.
> 
> The idea is to take advantage of using these DMQ related modules.
> 
> Regards
> 
> ---
> 
> I'm SoCIaL, MayBe
> 
> El 29/07/2021 a las 5:16 p. m., Henning Westerholt escribió:
> 
> Hello,
> 
> 
> 
> There are different functions in the registrar module, check them \
> out:https://kamailio.org/docs/modules/devel/modules/registrar.html#idm576  \
> <https://kamailio.org/docs/modules/devel/modules/registrar.html#idm576> 
> 
> 
> reg_fetch_contacts(..) might be something you could use.
> 
> 
> 
> Cheers,
> 
> 
> 
> Henning
> 
> 
> 


[Attachment #5 (text/html)]

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font size="-1">So, my final configuration is:</font></p>
    <p><font size="-1">One domain with AWS Route53 same weight
        configuration: 50% server1 and 50% server2</font></p>
    <p><font size="-1">The user register over the domain.<br>
      </font></p>
    <p><font size="-1">Two Kamailio Servers with DMQ and DMQ_USRLOC
        modules configured; 1.2.3.4 first server IP and 5.6.7.8 second
        server IP<br>
      </font></p>
    <p><font size="-1">Most important configurations <b>Server1</b>:</font></p>
    <p><i><b><font size="-1">listen=udp:1.2.3.4:5060<br>
            listen=udp:1.2.3.4:5222</font></b></i></p>
    <p><i><b><font size="-1"># ---- dmq params ----<br>
            modparam("dmq", "server_address", <a class="moz-txt-link-rfc2396E" \
                href="sip:1.2.3.4">"sip:1.2.3.4"</a>)<br>
            modparam("dmq", "notification_address", <a class="moz-txt-link-rfc2396E" \
href="sip:5.6.7.8">"sip:5.6.7.8"</a>)<br>  modparam("dmq", "multi_notify", 0)<br>
            modparam("dmq", "num_workers", 4)<br>
            modparam("dmq", "ping_interval", 30)<br>
            <br>
            # ---- dmq_usrloc params ----<br>
            modparam("dmq_usrloc", "enable", 1)<br>
            modparam("dmq_usrloc", "sync", 1)<br>
            modparam("dmq_usrloc", "batch_size", 10)<br>
            modparam("dmq_usrloc", "batch_usleep", 1000)<br>
            modparam("dmq_usrloc", "batch_msg_size", 60000)<br>
            modparam("dmq_usrloc", "batch_msg_contacts", 50)<br>
            modparam("dmq_usrloc", "usrloc_domain", "location")<br>
            modparam("dmq_usrloc", "replicate_socket_info", 0)<br>
            modparam("dmq_usrloc", "usrloc_delete", 1)</font></b></i></p>
    <p><font size="-1">before the block begin with:</font></p>
    <p><i><b><font size="-1">$avp(oexten) = $rU;<br>
                    if (!lookup("location")) {</font></b></i></p>
    <p><font size="-1">I put<br>
      </font></p>
    <p><font size="-1"><i><b>if (!dmq_is_from_node()) {</b></i><i><b><br>
          </b></i><i><b>               
            if(reg_fetch_contacts("location", "$ru", "contacto")) {</b></i><i><b><br>
          </b></i><i><b>                       
            if($(ulc(contacto=&gt;socket))) == 0 {</b></i><i><b><br>
          </b></i><i><b>                               
            rewritehost("5.6.7.8");</b></i><i><b><br>
          </b></i><i><b>                        }</b></i><i><b><br>
          </b></i><i><b>                        route(RELAY);</b></i><i><b><br>
          </b></i><i><b>                }</b></i><i><b><br>
          </b></i><i><b>        }</b></i><br>
      </font></p>
    <p><font size="-1">If the socket value is null (0) means the user is
        registered on the second Kamailio so send INVITE to second
        Kamailio</font></p>
    <p><font size="-1"><i><b>route[AUTH] {</b></i><i><b><br>
          </b></i><i><b>#!ifdef WITH_AUTH</b></i><i><b><br>
          </b></i><i><b><br>
          </b></i><i><b>if (dmq_is_from_node()) {</b></i><i><b><br>
          </b></i><i><b>        $ru = $tu;</b></i><i><b><br>
          </b></i><i><b>return;</b></i><i><b><br>
          </b></i><i><b>}</b></i><br>
      </font></p>
    <p><font size="-1">If INVITE comes from other DMQ node don't need
        authentication but I have to change RURI with To URI because I
        work in a multidomain setting and I'm  using the does_uri_exist
        function to know if the request is local or not.</font></p>
    <p><font size="-1"><b>Server2</b>:</font></p>
    <p><i><b><font size="-1">listen=udp:5.6.7.8:5060<br>
            listen=udp:5.6.7.8:5222</font></b></i></p>
    <i><b>
      </b></i>
    <p><i><b><font size="-1"># ---- dmq params ----<br>
            modparam("dmq", "server_address", <a class="moz-txt-link-rfc2396E" \
                href="sip:5.6.7.8">"sip:5.6.7.8"</a>)<br>
            modparam("dmq", "notification_address", <a class="moz-txt-link-rfc2396E" \
href="sip:1.2.3.4">"sip:1.2.3.4"</a>)<br>  modparam("dmq", "multi_notify", 0)<br>
            modparam("dmq", "num_workers", 4)<br>
            modparam("dmq", "ping_interval", 30)<br>
            <br>
            # ---- dmq_usrloc params ----<br>
            modparam("dmq_usrloc", "enable", 1)<br>
            modparam("dmq_usrloc", "sync", 1)<br>
            modparam("dmq_usrloc", "batch_size", 10)<br>
            modparam("dmq_usrloc", "batch_usleep", 1000)<br>
            modparam("dmq_usrloc", "batch_msg_size", 60000)<br>
            modparam("dmq_usrloc", "batch_msg_contacts", 50)<br>
            modparam("dmq_usrloc", "usrloc_domain", "location")<br>
            modparam("dmq_usrloc", "replicate_socket_info", 0)<br>
            modparam("dmq_usrloc", "usrloc_delete", 1)</font></b></i></p>
    <p><font size="-1">before the block begin with:</font></p>
    <p><i><b><font size="-1">$avp(oexten) = $rU;<br>
                    if (!lookup("location")) {</font></b></i></p>
    <i><b>
      </b></i>
    <p><font size="-1"><i><b>if (!dmq_is_from_node()) {</b></i><i><b><br>
          </b></i><i><b>
                            if(reg_fetch_contacts("location", "$ru",
            "contacto")) {</b></i><i><b><br>
          </b></i><i><b>
                                    if($(ulc(contacto=&gt;socket))) == 0
            {</b></i><i><b><br>
          </b></i><i><b>
                                            rewritehost("1.2.3.4");</b></i><i><b><br>
          </b></i><i><b>
                                    }</b></i><i><b><br>
          </b></i><i><b>
                                    route(RELAY);</b></i><i><b><br>
          </b></i><i><b>
                            }</b></i><i><b><br>
          </b></i><i><b>
                    }</b></i><br>
      </font></p>
    <p><font size="-1">If the socket value is null (0) means the user is
        registered on the first Kamailio so send INVITE to first
        Kamailio</font></p>
    <p><i><b><font size="-1">route[AUTH] {<br>
            #!ifdef WITH_AUTH<br>
            <br>
            if (dmq_is_from_node()) {<br>
                    $ru = $tu;<br>
            return;<br>
            }</font></b></i></p>
    <p><font size="-1"><font size="-1">If INVITE comes from other DMQ
          node don't need authentication but I have to change RURI with
          To URI because I work in a multidomain setting and I'm  using
          the does_uri_exist function to know if the request is local or
          not.</font></font></p>
    <p><font size="-1"><font size="-1">LIMITATIONS:<br>
        </font></font></p>
    <ul>
      <li>works only with a device for user. If a user registered from
        two o more devices I don't know how achieve the same behavior<br>
      </li>
      <li>works with Two Kamailio due to rewritehost function...</li>
      <li>maybe the routing can be better<br>
      </li>
    </ul>
    <p>Regards<br>
    </p>
    <pre class="moz-signature" cols="72">---
I'm SoCIaL, MayBe</pre>
    <div class="moz-cite-prefix">El 31/07/2021 a las 5:23 a. m., Henning
      Westerholt escribió:<br>
    </div>
    <blockquote type="cite"
cite="mid:PAXPR05MB8558D7682340D9259A58DCBAC5ED9@PAXPR05MB8558.eurprd05.prod.outlook.com">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}pre
	{mso-style-priority:99;
	mso-style-link:"HTML Vorformatiert Zchn";
	margin:0cm;
	font-size:10.0pt;
	font-family:"Courier New";}span.HTMLVorformatiertZchn
	{mso-style-name:"HTML Vorformatiert Zchn";
	mso-style-priority:99;
	mso-style-link:"HTML Vorformatiert";
	font-family:Consolas;}span.E-MailFormatvorlage22
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}div.WordSection1
	{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="mso-fareast-language:EN-US"
            lang="EN-GB">Great, thanks for the confirmation.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="mso-fareast-language:EN-US"
            lang="EN-GB"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="mso-fareast-language:EN-US"
            lang="EN-GB">Henning<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="mso-fareast-language:EN-US"
            lang="EN-GB"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal" style="margin-left:35.4pt"><b>From:</b>
              sr-users <a class="moz-txt-link-rfc2396E" \
href="mailto:sr-users-bounces@lists.kamailio.org">&lt;sr-users-bounces@lists.kamailio.org&gt;</a>
  <b>On Behalf Of </b>Social Boh<br>
              <b>Sent:</b> Friday, July 30, 2021 8:36 PM<br>
              <b>To:</b> Kamailio (SER) - Users Mailing List
              <a class="moz-txt-link-rfc2396E" \
href="mailto:sr-users@lists.kamailio.org">&lt;sr-users@lists.kamailio.org&gt;</a><br> \
<b>Subject:</b> Re: [SR-Users] Access via script to  location data in the \
memory<o:p></o:p></p>  </div>
        </div>
        <p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
        <p style="margin-left:35.4pt"><span \
style="font-size:10.0pt">Works!</span><o:p></o:p></p>  <p \
style="margin-left:35.4pt"><span style="font-size:10.0pt">I  can access location data \
presents only in the memory. Now,  next step is using $(ulc(contacto=&gt;socket)) to \
decide  which Kamailio have to process the call.</span><o:p></o:p></p>
        <p style="margin-left:35.4pt"><span style="font-size:10.0pt">Thank
            you</span><o:p></o:p></p>
        <pre style="margin-left:35.4pt">---<o:p></o:p></pre>
        <pre style="margin-left:35.4pt">I'm SoCIaL, MayBe<o:p></o:p></pre>
        <div>
          <p class="MsoNormal" style="margin-left:35.4pt">El 30/07/2021
            a las 11:51 a. m., Henning Westerholt escribió:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal" style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" \
lang="EN-GB">Hi,</span><o:p></o:p></p>  <p class="MsoNormal" \
                style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB"> </span><o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB">just
              quickly looked in the registrar code, it uses the standard
              usrloc functions to get data from memory or \
database.</span><o:p></o:p></p>  <p class="MsoNormal" \
                style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB"> </span><o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB">Maybe just
              give it a try, I think it should work also in
              in-memory/dmq mode.</span><o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB"> </span><o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" \
lang="EN-GB">Cheers,</span><o:p></o:p></p>  <p class="MsoNormal" \
                style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB"> </span><o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" \
lang="EN-GB">Henning</span><o:p></o:p></p>  <p class="MsoNormal" \
                style="margin-left:35.4pt"><span
              style="mso-fareast-language:EN-US" lang="EN-GB"> </span><o:p></o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0cm 0cm 0cm">
              <p class="MsoNormal" style="margin-left:70.8pt"><b>From:</b>
                sr-users <a
                  href="mailto:sr-users-bounces@lists.kamailio.org"
                  moz-do-not-send="true">
                  &lt;sr-users-bounces@lists.kamailio.org&gt;</a> <b>On
                  Behalf Of </b>Social Boh<br>
                <b>Sent:</b> Friday, July 30, 2021 6:42 PM<br>
                <b>To:</b> Kamailio (SER) - Users Mailing List <a
                  href="mailto:sr-users@lists.kamailio.org"
                  moz-do-not-send="true">
                  &lt;sr-users@lists.kamailio.org&gt;</a><br>
                <b>Subject:</b> Re: [SR-Users] Access via script to
                location data in the memory<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal" style="margin-left:70.8pt"> <o:p></o:p></p>
          <p style="margin-left:70.8pt"><span \
                style="font-size:10.0pt">Hello,</span><o:p></o:p></p>
          <p style="margin-left:70.8pt"><span \
style="font-size:10.0pt">reg_fetch_contacts  use a table (I understood) to looking \
for data about a  user.
            </span><o:p></o:p></p>
          <p style="margin-left:70.8pt"><span style="font-size:10.0pt">I'm
              using USRLOC module without database.</span><o:p></o:p></p>
          <p style="margin-left:70.8pt"><span \
style="font-size:10.0pt">Regards</span><o:p></o:p></p>  <p \
style="margin-left:70.8pt"> <o:p></o:p></p>  <pre \
                style="margin-left:70.8pt">---<o:p></o:p></pre>
          <pre style="margin-left:70.8pt">I'm SoCIaL, MayBe<o:p></o:p></pre>
          <div>
            <p class="MsoNormal" style="margin-left:70.8pt">El
              30/07/2021 a las 11:18 a. m., Henning Westerholt \
escribió:<o:p></o:p></p>  </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US">Hello,</span><o:p></o:p></p>
            <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" lang="EN-GB">have you
                looked to the reg_fetch_contact as already pointed out?
                Then you can access e.g. the socket with the $ulc PV,
                see the end of the registrar docs for an \
example.</span><o:p></o:p></p>  <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" lang="EN-GB"> \
</span><o:p></o:p></p>  <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" \
lang="EN-GB">Cheers,</span><o:p></o:p></p>  <p class="MsoNormal" \
                style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" lang="EN-GB"> \
</span><o:p></o:p></p>  <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" \
lang="EN-GB">Henning</span><o:p></o:p></p>  <p class="MsoNormal" \
                style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" lang="EN-GB"> \
</span><o:p></o:p></p>  <div>
              <p class="MsoNormal" style="margin-left:70.8pt"><span
                  style="mso-fareast-language:EN-US" lang="EN-GB">--
                </span><o:p></o:p></p>
              <p class="MsoNormal" style="margin-left:70.8pt"><span
                  style="mso-fareast-language:EN-US" lang="EN-GB">Henning
                  Westerholt –
                </span><span style="mso-fareast-language:EN-US"><a
                    href="https://skalatan.de/blog/"
                    moz-do-not-send="true"><span style="color:#0563C1"
                      \
lang="EN-GB">https://skalatan.de/blog/</span></a></span><o:p></o:p></p>  <p \
class="MsoNormal" style="margin-left:70.8pt"><span  \
style="mso-fareast-language:EN-US" lang="EN-GB">Kamailio  services –
                </span><span style="mso-fareast-language:EN-US"><a
                    href="https://gilawa.com/" moz-do-not-send="true"><span
                      style="color:#0563C1" \
lang="EN-GB">https://gilawa.com</span></a>  </span><o:p></o:p></p>
            </div>
            <p class="MsoNormal" style="margin-left:70.8pt"><span
                style="mso-fareast-language:EN-US" lang="EN-GB"> \
</span><o:p></o:p></p>  <div>
              <div style="border:none;border-top:solid #E1E1E1
                1.0pt;padding:3.0pt 0cm 0cm 0cm">
                <p class="MsoNormal" style="margin-left:106.2pt"><b>From:</b>
                  sr-users <a
                    href="mailto:sr-users-bounces@lists.kamailio.org"
                    moz-do-not-send="true">
                    &lt;sr-users-bounces@lists.kamailio.org&gt;</a> <b>On
                    Behalf Of </b>Social Boh<br>
                  <b>Sent:</b> Friday, July 30, 2021 6:11 PM<br>
                  <b>To:</b> Kamailio (SER) - Users Mailing List <a
                    href="mailto:sr-users@lists.kamailio.org"
                    moz-do-not-send="true">
                    &lt;sr-users@lists.kamailio.org&gt;</a><br>
                  <b>Subject:</b> Re: [SR-Users] Access via script to
                  location data in the memory<o:p></o:p></p>
              </div>
            </div>
            <p class="MsoNormal" style="margin-left:106.2pt"> <o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">Hello,</span><o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">maybe is better I explain what
                I'd like to achieve:</span><o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">I have two Kamailio using DMQ
                and DMQ_USRLOC modules so each REGISTER is replicate on
                each Kamailio. I'm using DNS weight to distribute the
                REGISTERs between the 2 Kamailios.</span><o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">The only difference I have seen
                in the location data, with
                <b>kamctl ul show</b> command, is the Kamailio receives
                REGISTER have socket parameter with transport, ip, y
                port like udp:1.2.3.4:5060 where 1.2.3.4 is Kamailio
                public IP; the other Kamailio have this field \
empty.</span><o:p></o:p></p>  <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">When a call arrive to one
                Kamailio, querying the Socket field I can known if I
                have to send the INVITE locally or forward the INVITE to
                second Kamailio.</span><o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">I don't know if there is other
                way to achieve this goal.
              </span><o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">I think PATH protocol not apply
                here because If I reply the REGISTER to the second
                Kamailio adding path header, I don't need \
DMQ_USRLOC.</span><o:p></o:p></p>  <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">The idea is to take advantage
                of using these DMQ related modules.</span><o:p></o:p></p>
            <p style="margin-left:106.2pt"><span
                style="font-size:10.0pt">Regards</span><o:p></o:p></p>
            <pre style="margin-left:106.2pt">---<o:p></o:p></pre>
            <pre style="margin-left:106.2pt">I'm SoCIaL, MayBe<o:p></o:p></pre>
            <div>
              <p class="MsoNormal" style="margin-left:106.2pt">El
                29/07/2021 a las 5:16 p. m., Henning Westerholt
                escribió:<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <pre style="margin-left:106.2pt">Hello,<o:p></o:p></pre>
              <pre style="margin-left:106.2pt"> <o:p></o:p></pre>
              <pre style="margin-left:106.2pt">There are different functions in the \
registrar module, check them out: <a \
href="https://kamailio.org/docs/modules/devel/modules/registrar.html#idm576" \
moz-do-not-send="true">https://kamailio.org/docs/modules/devel/modules/registrar.html#idm576</a><o:p></o:p></pre>
  <pre style="margin-left:106.2pt"> <o:p></o:p></pre>
              <pre style="margin-left:106.2pt">reg_fetch_contacts(..) might be \
something you could use.<o:p></o:p></pre>  <pre style="margin-left:106.2pt"> \
<o:p></o:p></pre>  <pre style="margin-left:106.2pt">Cheers,<o:p></o:p></pre>
              <pre style="margin-left:106.2pt"> <o:p></o:p></pre>
              <pre style="margin-left:106.2pt">Henning<o:p></o:p></pre>
              <pre style="margin-left:106.2pt"> <o:p></o:p></pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>



__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
  * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic