<div dir="ltr">Please disregard the follow up question i posted.<div><br></div><div>I misled myself in thinking the variables themselves were being populated by defaulted ports.  rather it's the check to ==myself that's doing it.</div><div><br></div><div>thanks again.</div><div><br></div><div>Karthik</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 20, 2018 at 11:36 AM, Karthik Srinivasan <span dir="ltr"><<a href="mailto:ksriniva2002@gmail.com" target="_blank">ksriniva2002@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 dir="ltr">One follow up question here:<div><br></div><div>Can you point me to the location of the source code that unpacks the request uri/from uri and sticks them into the $ru/$fu pseudo vars please.</div><div><br></div><div>I already have confirmed (via testing) that $ru won't have a defaulted port set to it if no port exists in the request uri.</div><div><br></div><div>I want to confirm within the code that $fu behaves the same.   That is, no default port is going to get set if no port exists in the from uri.  Confirming via code will help me put this issue; provide confidence that i am using the right variables here.</div><div><br></div><div>I did confirm via code (thank to your help) that the variable "from_uri" will have a default port set just like the "uri" variable.</div><div><br></div><div>Thanks,</div><div><br></div><div>Karthik</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 20, 2018 at 10:26 AM, Karthik Srinivasan <span dir="ltr"><<a href="mailto:ksriniva2002@gmail.com" target="_blank">ksriniva2002@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 dir="ltr">Yes, i see it defaulting there.  Thanks again for the help.<div><br></div><div>Karthik</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 20, 2018 at 7:57 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 text="#000000" bgcolor="#FFFFFF">
    <p>The evaluation for uri==myself condition is done inside
      src/core/route.c starting with line 1817. I see there that it
      takes default SIP port if none is set in the r-uri.</p>
    <p>Cheers,<br>
      Daniel<br>
    </p>
    <br>
    <div class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402moz-cite-prefix">On 20.07.18 06:48, Karthik Srinivasan
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>So, i think i have determined the root cause of my issue:</div>
        <div><br>
        </div>
        <div>Background info:</div>
        <div> - I have a request URI of an INVITE that contains no port
          number.</div>
        <div> - My application is not listening on the default port of
          5060  </div>
        <div><br>
        </div>
        <div>The is_myself(...) function handles a 'no port in request
          uri' differently than uri==myself.</div>
        <div><br>
        </div>
        <div>By that i mean, is_myself(...) does not default the port to
          5060 when looking up aliases/(which ip addresses and ports the
          process is bound to); it simply does not take port number into
          account (if no port exists in request uri) when searching the
          alias list.  BUT,  uri==myself does default to 5060 and hence
          tries to find an alias binding to 5060.</div>
        <div><br>
        </div>
        <div>So, is_myself("$ru") passes in my case;  uri==myself
          fails.  </div>
        <div><br>
        </div>
        <div>Can you point me to the place in the source code where 5060
          is being set as default to the uri variable when request uri
          has no port number please?</div>
        <div><br>
        </div>
        <div>I don't intend to change this defaulting behavior; I am
          just curious where it is set.</div>
        <div><br>
        </div>
        <div>Thanks,</div>
        <div><br>
        </div>
        <div>Karthik</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Thu, Jul 19, 2018 at 3:37 PM,
          Karthik Srinivasan <span dir="ltr"><<a href="mailto:ksriniva2002@gmail.com" target="_blank">ksriniva2002@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 dir="ltr">standby,  i have the debug mode spitting out
              tons of logs now.  
              <div><br>
              </div>
              <div>time for me to review. </div>
              <div><br>
              </div>
              <div>will let you know if i need help.</div>
              <div><br>
              </div>
              <div>thanks,</div>
              <div><br>
              </div>
              <div>karthik</div>
            </div>
            <div class="gmail_extra"><br>
              <div class="gmail_quote">On Thu, Jul 19, 2018 at 3:15 PM,
                Karthik Srinivasan <span dir="ltr"><<a href="mailto:ksriniva2002@gmail.com" target="_blank">ksriniva2002@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 dir="ltr">Unfortunately same result as before:
                    <div><br>
                    </div>
                    <div>
                      <div> $var(myself) = 0;</div>
                      <div>   if (uri =~ "<regex string to match>"
                        || uri == myself){</div>
                      <div>      $var(myself) = 1;</div>
                      <div>      xlog("L_INFO", "[$ci] in uri == myself
                        check: var myself = $var(myself)");</div>
                      <div>   }</div>
                      <div><br>
                      </div>
                      <div>   if (uri =~ "<regex string to match>"
                        || is_myself("$ru")){</div>
                      <div>      $var(myself) = 1;</div>
                      <div>      xlog("L_INFO", "[$ci] in is_myself
                        check: var myself = $var(myself)");</div>
                      <div>   }</div>
                    </div>
                    <div><br>
                    </div>
                    <div>The only log that prints out is the one that
                      says 'in is_myself check ...'(the second if
                      statement.)</div>
                    <div><br>
                    </div>
                    <div>I have verified that if there's a regular
                      expression match then both log writes print. 
                      Regular expression match happens when a SIP
                      REGISTER request comes across the pipe.</div>
                    <div><br>
                    </div>
                    <div>Something odd is going on with the computation
                      of 
                      <span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">uri
                        == myself vs is_myself("$ru").</span></div>
                    <div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
                      </span></div>
                    <div>Is there a way i can inspect what myself and
                      uri have in them?   </div>
                    <div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
                      </span></div>
                    <div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Karthik</span></div>
                    <div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
                      </span></div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                  </div>
                  <div class="gmail_extra"><br>
                    <div class="gmail_quote">On Thu, Jul 19, 2018 at
                      2:18 PM, 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 text="#000000" bgcolor="#FFFFFF">
                          <p>Hello,</p>
                          <p>things are different that one may expect
                            from evaluation of an expression compared
                            with other established scripting/programming
                            languages. One thing to be sure you are
                            aware of are the return code evaluation:</p>
                          <p>  -
                            <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-txt-link-freetext" href="https://www.kamailio.org/wiki/tutorials/faq/main#how_is_the_function_return_cod" target="_blank">https://www.kamailio.org/wiki/<wbr>tutorials/faq/main#how_is_the_<wbr>function_return_cod</a></p>
                          <p>To be sure of proper behaviour, you should
                            do:</p>
                          <p>if(uri =~ "<regex string to match>"
                            || uri == myself) {</p>
                          <p>$var(myself) =1;</p>
                          <p>} else {</p>
                          <p>$var(myself) = 0;</p>
                          <p>}</p>
                          <p>Same with is_myself("$ru") instead of uri
                            == myself.</p>
                          <p>Try and see if you get different values for
                            $var(myself).<br>
                          </p>
                          Cheers,<br>
                          Daniel<br>
                          <br>
                          <div class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-cite-prefix">On
                            19.07.18 19:09, Karthik Srinivasan wrote:<br>
                          </div>
                          <blockquote type="cite">
                            <div dir="ltr">Yes, they are used at the
                              very same place. here is a code snippet of
                              where i added it for testing purposes:
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div>
                                <div>
                                  <div>route[INIT_VARS] {</div>
                                </div>
                                <div><br>
                                </div>
                                <div>$var(myself) = uri =~ "<regex
                                  string to match>" || uri == myself;<br>
                                </div>
                                <div>//if i print $var(myself) it prints
                                  0 </div>
                                <div>$var(myself) = uri =~ "<regex
                                  string to match>" ||
                                  is_myself("$ru");<br>
                                </div>
                                <div>//if i print $var(myself) it prints
                                  1 </div>
                                <div><br>
                                </div>
                                <div>// in both cases above the regex
                                  part isn't supposed to match and hence
                                  correctly returns false.</div>
                                <div>...</div>
                                <div><br>
                                </div>
                                <div>}</div>
                                <div><br>
                                </div>
                                <div>route{</div>
                                <div><br>
                                </div>
                                <div>   route(INIT_VARS);</div>
                                <div><br>
                                </div>
                              </div>
                              <div>...</div>
                              <div>}</div>
                              <div><br>
                              </div>
                              <div>Thanks,</div>
                              <div><br>
                              </div>
                              <div>Karthik</div>
                            </div>
                            <div class="gmail_extra"><br>
                              <div class="gmail_quote">On Thu, Jul 19,
                                2018 at 11:46 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">Hello,<br>
                                  <br>
                                  <br>
                                  On 19.07.18 18:32, Karthik Srinivasan
                                  wrote:<br>
                                  > Hello,<br>
                                  ><br>
                                  > Can someone explain to me why
                                  statement A returns True and statement
                                  B<br>
                                  > returns False.<br>
                                  ><br>
                                  > Statement A:<br>
                                  > is_myself("$ru")<br>
                                  ><br>
                                  > Statement B:<br>
                                  > uri == myself<br>
                                  ><br>
                                  ><br>
                                  > Isn't uri and $ru referencing the
                                  same data?   <br>
                                  ><br>
                                  > With my current config i am
                                  expecting the is_myself to return
                                  True;  i<br>
                                  > was expecting the same for
                                  Statement B but unfortunately it is<br>
                                  > returning False.<br>
                                  ><br>
                                  they are supposed to be the same in
                                  this case.<br>
                                  <br>
                                  Are they used at the same place in
                                  config? Note that $ru can be changed<br>
                                  by different functions such as those
                                  from registrar, dispatcher, lcr, ...<br>
                                  <br>
                                  Cheers,<br>
                                  Daniel<span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131HOEnZb"><font color="#888888"><br>
                                              <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114HOEnZb"><font color="#888888"><br>
                                                  -- <br>
                                                  Daniel-Constantin
                                                  Mierla -- <a href="http://www.asipto.com" rel="noreferrer" target="_blank">www.asipto.com</a><br>
                                                  <a href="http://www.twitter.com/miconda" rel="noreferrer" target="_blank">www.twitter.com/miconda</a>
                                                  -- <a href="http://www.linkedin.com/in/miconda" rel="noreferrer" target="_blank">www.linkedin.com/in/miconda</a><br>
                                                  Kamailio World
                                                  Conference -- <a href="http://www.kamailioworld.com" rel="noreferrer" target="_blank">www.kamailioworld.com</a><br>
                                                  <br>
                                                </font></span></font></span></font></span></font></span></blockquote>
                                <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131HOEnZb"><font color="#888888"> </font></span></font></span></font></span></div>
                              <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131HOEnZb"><font color="#888888"> <br><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                                        </font></span></font></span></font></span></font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                            <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131HOEnZb"><font color="#888888"> </font></span></font></span></font></span></font></span></font></span></font></span></blockquote><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                          <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131HOEnZb"><font color="#888888"> <br>
                                      <pre class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-txt-link-abbreviated" href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-txt-link-abbreviated" href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio World Conference -- <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402m_3792596713980379416m_-3440266912605384131m_1364274761674189114moz-txt-link-abbreviated" href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a></pre>
                                    </font></span></font></span></font></span></font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                        <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888">
                          </font></span></font></span></font></span></font></span></blockquote><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                    </font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                    <span class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402HOEnZb"><font color="#888888"><br>
                      </font></span></font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
                </font></span></font></span></font></span></blockquote><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
              </font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
              <br>
            </font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
          </font></span></font></span></font></span></blockquote><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
        </font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
        <br>
      </font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
    </font></span></font></span></font></span></blockquote><span class="HOEnZb"><font color="#888888"><span class="m_-2784925205440613205HOEnZb"><font color="#888888"><span class="m_-2784925205440613205m_7466369299595825611HOEnZb"><font color="#888888">
    <br>
    <pre class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402moz-txt-link-abbreviated" href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402moz-txt-link-abbreviated" href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio World Conference -- <a class="m_-2784925205440613205m_7466369299595825611m_-5750691843256144402moz-txt-link-abbreviated" href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a></pre>
  </font></span></font></span></font></span></div><span class="HOEnZb"><font color="#888888">

</font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br></font></span></div>
</blockquote></div><br></div>
</blockquote></div><br></div>