Hi all,
Concerning portability again :-)
Is there any way I can add in the memory all the numbers with
portability? (2.000.000 rows)?
And also reload these data a few times a day and access this data from
the Kamailio script?
while I advise usage of sqlops/sql_query() instead of
avpops/avp_db_query(), if you want to load such data in memory should be
in shared memory. For that look at htable or maybe you can re-use pdt.
Cheers,
Daniel
Cheers
Alex
On Tue, Dec 22, 2009 at 12:56 AM, Henning Westerholt
<henning.westerholt(a)1und1.de <mailto:henning.westerholt@1und1.de>> wrote:
On Mon, December 21, 2009 9:50 pm, Alex Balashov wrote:
[..]
Having said that, AVPs are still very useful and necessary
because they
persist across the lifetime of a transaction, so
you can access
them in
subsequent reply and failure routes. This is not
true of user
pseudovariables ($var(...)), nor, as far as I know, of any other
class
of pseudovariable at this point except special
transaction-persistent
ones exported by modules.
As a result, it is often necessary for me to take data from $dbr
(sqlops) and load it into arrays of AVPs, such as for example
when doing
custom fail-over in failure_route that uses logic
for which
dispatcher
is not suitable. I store a set of gateways in an
AVP array
along with
another AVP value indicating the current array
index and iterate
over
them in failure_route, and so on.
Daniel taught me how to use AVP arrays once, although I noticed
this is
not mentioned anywhere in the avpops
documentation. It should be
published somewhere, as it is one of the most useful programmatic
features of Kamailio.
Henning/Daniel, does Kamailio 3/SR offer any kind of better
substitute
for what I am doing with AVPs as described above?
In other
words, are
there any transaction-persistent pseudovariables
and/or namespace
containers that are easier to deal with syntactically, and
provide more
advanced data structure primitives like arrays?
I am aware of
htable,
but I need something local to a transaction, not
global.
There are the $var PVs you already mentioned, and then also the
$shv that
are shared variables. But they are (process) global, and not
transactional. Daniel proposed and developed the new xavp type for sr
which are basically extended AVPs. More informations can be found
here:
http://sip-router.org/wiki/devel/xavp
Regards,
Henning
_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users(a)lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users