I pushed two patches, as it required a small adjustment to acc module
for this case -- they are now in master, affecting acc and dialog
modules. Testing and feedback whether it works or not is very appreciated.
I went a different path, considering the case when the bye is coming
from the wire, two callbacks were executed DLGCB_TERMINATED (when bye
was processed) and DLGCB_TERMINATED_CONFIRMED (when it was a reply to
the bye). Same is done now when the bye is generate locally, so it
should match better on the pattern for callbacks.
The callback for DLGCB_EXPIRED is for the case when no bye was involved
and seems better to leave it as it is. The flag you just added can be
used in the callbacks to see if it was a dialog timeout or not (as well
as looking if there is a sip request passwd to the callback function as
parameter).
Thanks for troubleshooting so far and pointing in the code, helped to
identify the issue faster and fix it quickly.
Cheers,
Daniel
On 15/04/15 17:04, Daniel-Constantin Mierla wrote:
On 15/04/15 16:27, Mickael Marrache wrote:
I'm looking at the dlg_ontimeout function [dlg_handlers.c:1369] and I
understand the code, the DLGCB_EXPIRED callbacks are not called when
the send_bye parameter is set to 1.
I'm looking at the block 1399-1408.
Indeed, looking quickly at that part of the code, the callback is not
executed when sending BYE requests at dialog timeout. It needs to be
fixed, if none picks it up, I will look at it with the first chance.
Cheers,
Daniel
*From:*Mickael Marrache [mailto:mickaelmarrache@gmail.com]
*Sent:* Wednesday, April 15, 2015 3:53 PM
*To:* sr-users(a)lists.sip-router.org
*Subject:* RE: No CDR is written when dialog timeouts
I also confirm the cdr_on_create() [acc_cdr.c:718] function is called
since I can see the debug statement "dialog '%p' created!".
*From:*Mickael Marrache [mailto:mickaelmarrache@gmail.com]
*Sent:* Wednesday, April 15, 2015 3:48 PM
*To:* sr-users(a)lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>
*Subject:* No CDR is written when dialog timeouts
Hi,
I'm testing the dialog timeout scenario and I see that no CDR is written.
This is my configuration:
modparam("acc", "cdr_enable", 1)
modparam("acc", "cdr_expired_dlg_enable", 1)
modparam("acc", "cdr_start_on_confirmed", 1)
modparam("acc", "cdr_log_enable", 0)
modparam("acc", "cdr_on_failed", 0)
I can confirm the cdr_on_expired() [acc_cdr.c:684] function is not
called since I don't see the debug statement "dialog '%p'
expired!\n".
(I precise that CDR generation works fine for regular hangup scenario.)
Any idea what can cause the issue?
Thanks,
Mickael
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany -
http://www.kamailioworld.com