2009/4/9 Iñaki Baz Castillo <ibc(a)aliax.net>et>:
Yes, using the flag it just didn't work at all.
Using dlg_manage() it worked. However I saw duplicate dialog entries
(in both memory and DB table).
Profiles don't work for me at all.
Forget the above, now I've re-checked it:
----
Kamailio rev 5772
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "db_mode", 1)
----
I've checked basically the following two cases:
a)
setflag(FLAG_DIALOG);
set_dlg_profile("inbound");
b)
dlg_manage();
set_dlg_profile("inbound");
In both cases I add:
[[ in-dialog section ]]
is_in_profile("inbound"))
xlog("L_CRIT", "*********** this request belongs to a inbound
call\n");
if(dlg_isflagset("1"))
xlog("L_CRIT", "*********** Dialog Flag is SET \n");
Results:
a)
- Dialog entries are created correctly in memory and DB.
- Dialog profiles are not created:
profile:: name=inbound value= count=0
- is_in_profile("inbound")) obviously doesn't work.
- if(dlg_isflagset("1")) doesnt' work for in_dialog request (it just
works if I check it in the initial INVITE request after setting it, so
it behaves as a script flag).
b)
- Dialog entries are created correctly in memory and DB.
- Dialog profiles are correctly created:
profile:: name=inbound value= count=1
- is_in_profile("inbound")) doesn't work for in-dialog requests,
neither in the initial INVITE after setting:
set_dlg_profile("inbound");
- if(dlg_isflagset("1")) doesnt' work for in_dialog request (it just
works if I check it in the initial INVITE request after setting it, so
it behaves as a script flag).
There are some things I son't know (documentation is not very
extended). For example, I don't know if I must use dlg_manage() when
processing in-dialog requests, perhaps it's enough with running this
function when proccesing the initial request?
Also, the order in which functions as dlg_manage() and
set_dlg_profile() is not documented. Doesn't it matter?
Regards.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>