Hi!

I use the dialog module to count and limit concurrent calls per user. It
worked fine with 4.1.7 but fails with 4.2.2.

My config basically looks like:
route{
  ...
  dlg_manage()
  ...
  authentication (stateless replies + exit)
  ...
  t_on_reply()
  t_on_branch()
  ...
  t_relay()
  exit;
}

initial_cbs_inscript uses the default value 1.


Using 4.1.7, after stateless reply+exit, Kamailio executes dialog
callbacks and deletes the dialog:
[dlg_var.c:55]: dlg_cfg_cb(): new dialog with no trasaction after config
execution
[dlg_hash.c:872]: dlg_unref(): unref dlg 0xb233c3a0 with 1 -> 1
[dlg_hash.c:872]: dlg_unref(): unref dlg 0xb233c3a0 with 1 -> 0
[dlg_hash.c:872]: dlg_unref(): ref <=0 for dialog 0xb233c3a0
[dlg_hash.c:355]: destroy_dlg(): destroying dialog 0xb233c3a0 (ref 0)


With 4.2.2, after stateless reply+exit, Kamailio just exits without
calling any dialog callback (to destroy the dialog)

I think I could work around the problem by creating the transaction
later. Here are some ideas and I would be happy about your comments and
best practices.

- set initial_cbs_inscript to 0

- call dlg_manage() just before t_relay

- do not use dlg_manage() but use the dialog flag and set the flag
somewhere before t_relay


Finally, do t_on_reply() and t_on_branch() already create the
transaction or is it created with t_relay()?

Thanks
Klaus


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to