<div dir="ltr"><div>Thanks, have been working on this and it is working.<br><br></div>Btw, I would like to know, is there a way to resume route while using async avp_db_query? As currently setting/declaring another async route for DB query, looking for resume route in main routing script.<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 24, 2017 at 6:45 AM, Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</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">
    <tt>Hi Ahmed,<br>
      <br>
      Note the $rc holds the return code of the LAST executed
      statement/instruction/function in the script. In the first case
      you do it right by saving the ret code of the avp_db_query into a
      separate variable, so you can use it even later.<br>
      <br>
      In the sync script, the $rc, when entering the resume route, it
      will hold the return code of the avp_db_query() function. But the
      $rc will be changed when doing the xlog(), the if(), etc...So when
      you do the last xlog(), the $rc will have nothing to do with the </tt><tt>avp_db_query().
      If you need it later in the script, better save it, as you do in
      the first example.<br>
      <br>
      Regards,<br>
    </tt>
    <pre class="m_8980027315952255566moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="m_8980027315952255566moz-txt-link-freetext" href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.<wbr>com</a></pre><div><div class="h5">
    <div class="m_8980027315952255566moz-cite-prefix">On 01/20/2017 01:31 AM, Ahmed Munir
      wrote:<br>
    </div>
    </div></div><blockquote type="cite"><div><div class="h5">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>Hi,<br>
                  <br>
                </div>
                Currently I'm trying to use async fucntion for
                avp_db_query. The issue I'm facing while using it as not
                retrieving or returning correct return code and not
                execute later part of the routing script. See old &
                new DB queries;<br>
                <br>
              </div>
              Without Async:<br>
              ----------------------<br>
              route[1]{<br>
              ...<br>
              <br>
               if($var(Outpluseflag) == 0) {<br>
                            avp_db_query("SELECT Outpulse_number,setid
              FROM Prefix_data where Program_prefix =
              '$var(pg_prefix)'", "$avp(outpluse), $avp(trunkid)");<br>
                              $var(res) = $retcode; # or you can just
              use $retcode!<br>
                              xlog("--------- OB Route 1-1 DB fetched
              value outpluse -> $avp(outpluse) | trunkid ->
              $avp(trunkid) | Return Code: $rc | Var Res:
              $var(res)-------");<br>
                              if ($var(res) > 0) {<br>
                                         cache_store("local", "DID_$tU",
              "$avp(outpluse)", 60);<br>
                                         cache_store("local",
              "Trunk_$tU", "$avp(trunkid)", 60);<br>
                              }<br>
                              #xlog("DB fetched value outpluse ->
              $avp(outpluse) | trunkid -> $avp(trunkid) | Return Code
              -> $var(res)");<br>
                              xlog("--------- OB Route 1-2 DB fetched
              value outpluse -> $avp(outpluse) | trunkid ->
              $avp(trunkid) | Return Code: $rc | Var Res:
              $var(res)-------");<br>
              }<br>
            </div>
            }<br>
            <br>
            With Async:<br>
            -------------------<br>
          </div>
          route[1]{<br>
          <br>
        </div>
        <div>...<br>
          <br>
          <div>
            <div>
              <div>
                <div>if($var(Outpluseflag) == 0) {<br>
                       async(avp_db_query("SELECT Outpulse_number,setid
                  FROM Prefix_data where Program_prefix =
                  '$var(pg_prefix)'", "$avp(outpluse),
                  $avp(trunkid)"),ob_route_1);<br>
                  }<br>
                  }<br>
                  <br>
                </div>
                <div>route[ob_route_1]{<br>
                          xlog("--------- OB Route 1-1 DB fetched value
                  outpluse -> $avp(outpluse) | trunkid ->
                  $avp(trunkid) | Return Code: $rc-------");<br>
                  <br>
                          if ($rc > 0) {<br>
                                 cache_store("local", "DID_$tU",
                  "$avp(outpluse)", 60);<br>
                                 cache_store("local", "Trunk_$tU",
                  "$avp(trunkid)", 60);<br>
                          }<br>
                         xlog("--------- OB Route 1-2 DB fetched value
                  outpluse -> $avp(outpluse) | trunkid ->
                  $avp(trunkid) | Return Code: $rc-------");<br>
                  <br>
                  }<br clear="all">
                </div>
                <div>
                  <div><br>
                    <br>
                  </div>
                  <div>The records in xlog I'm getting without using
                    async;<br>
                    <br>
                    Jan 19 18:05:39 qorblpsisprxyd1
                    /usr/sbin/opensips[14040]: --------- OB Route 1-1 DB
                    fetched value outpluse -> <a href="tel:(609)%20902-0000" value="+16099020000" target="_blank">6099020000</a> | trunkid
                    -> 117 | Return Code: 1 | Var Res: 1-------<br>
                    Jan 19 18:05:39 qorblpsisprxyd1
                    /usr/sbin/opensips[14040]: --------- OB Route 1-2 DB
                    fetched value outpluse -> <a href="tel:(609)%20902-0000" value="+16099020000" target="_blank">6099020000</a> | trunkid
                    -> 117 | Return Code: 1 | Var Res: 1-------<br>
                    <br>
                    <div>Whereas, records in xlog I'm getting using
                      async;<br>
                      <br>
                      Jan 19 18:10:07 qorblpsisprxyd1
                      /usr/sbin/opensips[14109]: --------- OB Route 1-1
                      DB fetched value outpluse -> <a href="tel:(609)%20902-0000" value="+16099020000" target="_blank">6099020000</a> |
                      trunkid -> 117 | Return Code: 1-------<br>
                      Jan 19 18:10:07 qorblpsisprxyd1
                      /usr/sbin/opensips[14109]: --------- OB Route 1-2
                      DB fetched value outpluse -> <a href="tel:(609)%20902-0000" value="+16099020000" target="_blank">6099020000</a> |
                      trunkid -> 117 | Return Code: 0-------<br>
                      <br>
                    </div>
                    <div>Is there is way to properly retain the
                      $retcode/$rc in version 2.2.2? Seems like using
                      async return code(s) are not properly set or the
                      avp variables are not setting up correct using
                      async statement.<br>
                      <br>
                    </div>
                    <div>Please advise, if the above async db statement
                      is correct as shared in sample above.<br>
                    </div>
                    <br>
                    <br>
                  </div>
                  <div>-- <br>
                    <div class="m_8980027315952255566gmail_signature">Regards,<br>
                      <br>
                      Ahmed Munir Chohan<br>
                      <br>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="m_8980027315952255566mimeAttachmentHeader"></fieldset>
      <br>
      </div></div><pre>______________________________<wbr>_________________
Users mailing list
<a class="m_8980027315952255566moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a class="m_8980027315952255566moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Regards,<br><br>Ahmed Munir Chohan<br><br></div>
</div></div>