[SR-Users] dialog flags vs dialog variables vs dialog profiles

Muhammad Shahzad shaheryarkh at gmail.com
Fri Jun 19 12:14:33 CEST 2015


Hi,

Lasting night i was doing some tests and identified a strange behavior from
dialog module. I am using Kamailio v4.3.0 rev. c6aa95.

I basically wanted to identify if an incoming sequential ACK (from caller
for an answered call) or a BYE (from callee who wants to hangup the call)
belong to an existing dialog.

First I tried to use dialog profiles as they were already enabled in my
kamailio.cfg for every call. Calling the function "is_in_profile" after
loose_route in WITHINDLG route, does not works for ACK, but works for BYE.

Then I added dialog flags to initial INVITE (using function "dlg_setflag")
and check them for ACK and BYE after loose_route (using "dlg_isflagset"
method), i have the same behavior. They worked/matched only for BYE, not
for ACK.

Lastly I set dialog variables (e.g. dlg_var(my_call) = "1") in initial
INVITE and checked for them for ACK and BYE requests after loose_route.
Only they worked perfectly, i.e. i can match them for both incoming ACK and
BYE requests.

Is this correct and expected behavior? Why dialog profile and flags do not
match for a dialog in unconfirmed state (i.e. ACK from caller after
successful call answer)? They only work for confirmed dialogs (e.g. BYE
from callee).On the other hand, dialog variables seems to work everywhere
(i.e. all sequential requests).

Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150619/012fe778/attachment.html>


More information about the sr-users mailing list