<div dir="ltr"><div><div>Hi,<br><br></div>Lasting night i was doing some tests and identified a strange behavior from dialog module. I am using Kamailio v4.3.0 rev. c6aa95.<br><br></div><div>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.<br><br></div><div>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.<br><br></div><div>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.<br><br></div><div>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.<br><br></div><div>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).<br></div><div><br></div><div>Thank you.<br></div><div><br><br></div></div>