[OpenSIPS-Users] Dbtext and avp_db_query()
Bogdan-Andrei Iancu
bogdan at opensips.org
Mon Feb 11 14:34:02 CET 2013
Hi Michael,
What about my idea for the future :
<quote>
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" .
</quote>
Would it help you ?
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 02/10/2013 10:55 AM, Michael Renzmann wrote:
> Hi Bogdan.
>
> Thanks for your input. For now I will go with your second suggestion
> (move AVPs out of the way by prefixing them accordingly).
>
> 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.
>
> Bye, Mike
>
> Bogdan-Andrei Iancu <bogdan at opensips.org> wrote:
>
> 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
> http://www.opensips-solutions.com
>
>
> On 02/06/2013 11:23 AM, Michael Renzmann wrote:
>
> Hi.
>
> IIRC, avp_db_load() should work with dbtext:
>
> yes, it does.
>
> 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.
>
> The avp_db_query which used raw queries is the only one
> not working.
>
> I'll try to deliver information on how to reproduce the crash.
> Bye, Mike
> ------------------------------------------------------------------------
> Users mailing list Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
> --
> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail
> gesendet.
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130211/004ed6f9/attachment-0001.htm>
More information about the Users
mailing list