Hello,
On 3/23/12 2:00 PM, Charles Chance wrote:
Hi all,
I was wondering if anyone could offer any advice please.
We are using the dialog module and need to be able to find out whether
another dialog exists within a particular profile and having a
specific value, so that we can send the new call to the same gateway.
As far as I am aware, the only way to see other dialogs from the
request route is to query the database (having set db mode to
realtime). This is ok, but the profile/value is not stored in the
database table. Is there a way of fetching the information that I am
missing, or should we just add some customisation to the module so
that it also writes this information to db?
in the last version you can attach variables to dialog and they are
stored in database -- but that requires you to upgrade. Also, devel
version saves the profiles in database, in a json format.
What you can do with 3.0.x:
- use sqlops to write to db table the info you need -- you would have to
update db based on call events, such as initial invite: insert record to
db; 200ok to initial invite, confirm the dialog in the record; bye:
delete the db record; you need to delete also for the case of negative
reply to invite. You can use rtimer to delete old records (those that
don't get bye). This is pretty much what dialog module does, but hides
it in the c code -- all doable in the config
- use htable module to store the details in memory instead of a db table
In summary: upgrading to 3.2.x makes your life much easier. Next major
release comes with a better dialog storage, you may want to play with it
as well.
Cheers,
Daniel
--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/