<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <tt>Hi Michael,<br>
      <br>
      What about my idea for the future :<br>
      <br>
      &lt;quote&gt;<br>
      Maybe the best think to do in the future is to make "avp_db_load"
      to take an optional prefix to use when loading the AVP, so same
      AVP from DB (like "inbound-CCL" ) would be loaded as
      "caller_inbound-CCL"  or "callee_inbound-CCL" .
      <br>
      &lt;/quote&gt;<br>
      <br>
      Would it help you ?<br>
      <br>
      Regards,</tt><br>
    <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
    <br>
    On 02/10/2013 10:55 AM, Michael Renzmann wrote:
    <blockquote
      cite="mid:e57e5675-f683-4067-bf8a-759f1f90ea4b@email.android.com"
      type="cite">Hi Bogdan.<br>
      <br>
      Thanks for your input. For now I will go with your second
      suggestion (move AVPs out of the way by prefixing them
      accordingly).<br>
      <br>
      Your first suggestion won't work in my case, I thonk, since we're
      using db_text as the only db backend (so avp_db_query() is no
      option). Plus it would not help much with avoiding aditional
      queries in thos use-case, as they would still be required to get
      the callee‘s limits.<br>
      <br>
      Bye, Mike<br>
      <br>
      <div class="gmail_quote">Bogdan-Andrei Iancu
        <a class="moz-txt-link-rfc2396E" href="mailto:bogdan@opensips.org">&lt;bogdan@opensips.org&gt;</a> wrote:
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <pre style="white-space: pre-wrap; word-wrap: break-word; font-family: monospace; margin-top: 0px;">Hi Mike,

Some ideas :

1) I do not use the usr_preference like table as I do not like to do an 
extra query for the user profile - usually I put extra attrs in the 
subscriber table (as additional columns) and load them during auth (via 
load_credentials) or via avp_db_query or avp_db_load + db_schema

2) prefix the avp from caller and callee differently - after loading the 
avp, do a "move" with avp_copy().

Maybe the best think to do in the future is to make "avp_db_load" to 
take an optional prefix to use when loading the AVP, so same AVP from DB 
(like "inbound-CCL" ) would be loaded as "caller_inbound-CCL"  or 
"callee_inbound-CCL" .

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a moz-do-not-send="true" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a>


On 02/06/2013 11:23 AM, Michael Renzmann wrote:
<blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid rgb(114, 159, 207); padding-left: 1ex;">Hi.

<blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid rgb(173, 127, 168); padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid rgb(138, 226, 52); padding-left: 1ex;">IIRC, avp_db_load() should work with dbtext:
</blockquote>yes, it does.
</blockquote>Confirmed, we're using this combination successfully already. The reason
why I want to also use avp_db_query() is the following:

We have various attributes for every user in usr_preferences, among them
two called "inbound_channels" and "outbound_channels" meant for limiting
concurrent calls. We check for and apply concurrent call limitations in a
separate route, which is called from REQUEST_ROUTE. This already works
fine for
outbound calls.

Now I'm trying to implement inbound call limitations and face the
following issue for user-to-user calls. The currently loaded AVPs describe
various aspects (inbound_channels, outbound_channels and other stuff) of
the caller. I need to get at least the callee's inbound_channels
attribute. avp_load() cannot easily be used for this purpose, since it
loads all attributes defined for the callee, overwriting those of the
caller which are still required for call processing further down the road.
Using avp_copy() to save/restore caller AVPs doesn't appear like a good
idea, not only because it'd require to explicitly reference all possibly
used attributes in the script (even those that are not necessarily set for
each user). Throwing away all AVPs after the inbound-CCL followed by an
avp_load() to restore the caller's attributes is an even worse idea, I
think - it is additional database load, and it won't
restore those AVPs
which have been set dynamically during call processing before the
CCL-route was called.

With avp_db_query() it would have been possible to query the callee's
inbound_channels attribute and store it in a differently named AVP (say,
callee_inbound_channels). Collission avoided, all well - but unfortunately
not possible with db_text. Switching to another database is no option at
this point.

If you have any ideas how I could solve this in a db_text-compatible way,
I'm all ears.

<blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid rgb(173, 127, 168); padding-left: 1ex;">The avp_db_query which used raw queries is the only one
not working.
</blockquote>I'll try to deliver information on how to reproduce the crash.

Bye, Mike

<hr>
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a moz-do-not-send="true" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></blockquote>
</pre>
        </blockquote>
      </div>
      <br>
      -- <br>
      Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail
      gesendet.
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
  </body>
</html>