Hello,

On 6/4/13 3:14 PM, Eduardo Lejarreta wrote:

Good evening.

 

Playing with latest “dialog module” versions (3.2, 3.3 and 4.0) I think there could be an open “issue” with regard to dialog state management.

 

You can see on “dlg_handlers.c” on “dlg_onroute” function. On this last  when you receive a BYE message it fires some CallBacks.

 

I you receive a close second BYE, this last one destroys the dialog because “dlg_release” function is called from a parallel process avoiding the other processes callback execution.

 

I know a second BYE it’s not a normal circumstance but you know, the real world …

 

I think dialog_ng doesn’t have this issue but also it has no DB support.

can you give more specific details, like the lines of code you think may have an open issue? A quick check, it seems dialog and dialog_ng have the same processing of BYE request in dlg_onroute() and unref is done only on transition state to terminate.
Cheers,
Daniel
-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, San Francisco, USA - June 24-27, 2013
  * http://asipto.com/u/katu *