Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Mickael Marrache
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:mickaelmarra...@gmail.com] 
Sent: Wednesday, April 15, 2015 3:48 PM
To: 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@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


[SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Mickael Marrache
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@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Daniel-Constantin Mierla


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:mickaelmarra...@gmail.com]
 *Sent:* Wednesday, April 15, 2015 3:53 PM
 *To:* sr-users@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:mickaelmarra...@gmail.com]
 *Sent:* Wednesday, April 15, 2015 3:48 PM
 *To:* sr-users@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@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

___
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


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Alex Balashov
  ‎Why are you using the dialog start/end hooks? They work well for standard scenarios clearly understood by the dialog module. For nonstandard scenarios, use the TM local-request route to catch and log endogenously generated BYEs.--AlexBalashov|Principal|EvaristeSystemsLLC303PerimeterCenterNorth,Suite300Atlanta,GA30346UnitedStatesTel:+1-800-250-5920(toll-free)/+1-678-954-0671(direct)Web:http://www.evaristesys.com/,http://www.csrpswitch.com/SentfrommyBlackBerry.From: Mickael MarracheSent: Wednesday, April 15, 2015 10:28To: sr-users@lists.sip-router.orgReply To: Kamailio (SER) - Users Mailing ListSubject: Re: [SR-Users] No CDR is written when dialog timeoutsI'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.From: Mickael Marrache [mailto:mickaelmarra...@gmail.com] Sent: Wednesday, April 15, 2015 3:53 PMTo: sr-users@lists.sip-router.orgSubject: RE: No CDR is written when dialog timeoutsI 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:mickaelmarra...@gmail.com] Sent: Wednesday, April 15, 2015 3:48 PMTo: sr-users@lists.sip-router.orgSubject: No CDR is written when dialog timeoutsHi,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@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Mickael Marrache
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.

 

From: Mickael Marrache [mailto:mickaelmarra...@gmail.com] 
Sent: Wednesday, April 15, 2015 3:53 PM
To: sr-users@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:mickaelmarra...@gmail.com] 
Sent: Wednesday, April 15, 2015 3:48 PM
To: 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@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Alex Balashov
  Hook, route, whatever you want to call it. The bottom line is that you cannot rely on the proxy's dialog layer, already a tenuous concept inasmuch as it's implemented strictly on top of transaction state specifically and derived solely from SIP signalling generally, to expose to you all conceivable outcomes, including outcomes that do not conform to a standard transition of dialog states.The dialog module is just a tool. It cannot replace the fundamentals.--AlexBalashov|Principal|EvaristeSystemsLLC303PerimeterCenterNorth,Suite300Atlanta,GA30346UnitedStatesTel:+1-800-250-5920(toll-free)/+1-678-954-0671(direct)Web:http://www.evaristesys.com/,http://www.csrpswitch.com/SentfrommyBlackBerry.  

___
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


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Daniel-Constantin Mierla
Actually there is nothing special to rely on what so ever prerogatives
in this case. Writing cdrs based on dialog module was added by 11 long
time ago (iirc) and they have couple of millions of subscribers and tons
of calls, so this approach might have been better for them from various
reasons. In big telcos, cdrs are aggregated from many sources, and a lot
of nodes collect CDRs just for statistics or monitoring.

The fact is that the dialog can be discarded on timeout without sending
bye, being the default behaviour -- in this case the cdr is produced.
When enabling to send bye, the cdr is not produced -- it doesn't seem to
be anything more clear that this is a bug.

I rely on transaction accounting (acc alone), finding it more flexible
to store various events, even during the call. I guess most of the
people do the same in a proxy. On the other hand, dialog module adds a
call-stateful proxy layer, which I use extensively for limiting active
call as well as terminating on timeout with byes. But like you, I write
the stop event for cdrs from tm local request event.

Cheers,
Daniel

On 15/04/15 17:25, Alex Balashov wrote:
 Fair enough. It is your prerogative to take a definitive stance on the
 issue. I was just voicing personal view that truly complete accounting
 can only be done from SIP message-oriented perspective in software
 that does not formally have a dialog layer.

 --
 Alex Balashov | Principal | Evariste Systems LLC
 303 Perimeter Center North, Suite 300
 Atlanta, GA 30346
 United States

 Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
 Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

 Sent from my BlackBerry.
 *From: *Daniel-Constantin Mierla
 *Sent: *Wednesday, April 15, 2015 10:59
 *To: *Kamailio (SER) - Users Mailing List
 *Reply To: *mico...@gmail.com
 *Subject: *Re: [SR-Users] No CDR is written when dialog timeouts


 Looks like the topic diverged in side discussion, irrelevant to the issue.

 The report was related to the fact that the dialog+acc is not
 recording the CDRs when sending the BYE on timeout. That is obviously
 an issue because there is dedicated functionality for this case. I am
 not the original developer of the feature, but it appears that it
 covered the case when dialog was not configured to send the BYE on
 timeout, just silenty discard the associated structure. So this has to
 be fixed. It is no relation with what proxy can do or not, sending BYE
 at the end of the dialog is not breaking anything in the existing
 dialog, it just terminates it on both sides.

 Cheers,
 Daniel

 On 15/04/15 16:45, Alex Balashov wrote:
 Hook, route, whatever you want to call it. The bottom line is that
 you cannot rely on the proxy's dialog layer, already a tenuous
 concept inasmuch as it's implemented strictly on top of transaction
 state specifically and derived solely from SIP signalling generally,
 to expose to you all conceivable outcomes, including outcomes that do
 not conform to a standard transition of dialog states.

 The dialog module is just a tool. It cannot replace the fundamentals.

 --
 Alex Balashov | Principal | Evariste Systems LLC
 303 Perimeter Center North, Suite 300
 Atlanta, GA 30346
 United States

 Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
 Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

 Sent from my BlackBerry.



 ___
 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

 -- 
 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



 ___
 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

-- 
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

___
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


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Daniel-Constantin Mierla
Looks like the topic diverged in side discussion, irrelevant to the issue.

The report was related to the fact that the dialog+acc is not recording
the CDRs when sending the BYE on timeout. That is obviously an issue
because there is dedicated functionality for this case. I am not the
original developer of the feature, but it appears that it covered the
case when dialog was not configured to send the BYE on timeout, just
silenty discard the associated structure. So this has to be fixed. It is
no relation with what proxy can do or not, sending BYE at the end of the
dialog is not breaking anything in the existing dialog, it just
terminates it on both sides.

Cheers,
Daniel

On 15/04/15 16:45, Alex Balashov wrote:
 Hook, route, whatever you want to call it. The bottom line is that you
 cannot rely on the proxy's dialog layer, already a tenuous concept
 inasmuch as it's implemented strictly on top of transaction state
 specifically and derived solely from SIP signalling generally, to
 expose to you all conceivable outcomes, including outcomes that do not
 conform to a standard transition of dialog states.

 The dialog module is just a tool. It cannot replace the fundamentals.

 --
 Alex Balashov | Principal | Evariste Systems LLC
 303 Perimeter Center North, Suite 300
 Atlanta, GA 30346
 United States

 Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
 Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

 Sent from my BlackBerry.



 ___
 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

-- 
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

___
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


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Alex Balashov
  Fair enough. It is your prerogative to take a definitive stance on the issue. I was just voicing personal view that truly complete accounting can only be done from SIP message-oriented perspective in software that does not formally have a dialog layer.   --AlexBalashov|Principal|EvaristeSystemsLLC303PerimeterCenterNorth,Suite300Atlanta,GA30346UnitedStatesTel:+1-800-250-5920(toll-free)/+1-678-954-0671(direct)Web:http://www.evaristesys.com/,http://www.csrpswitch.com/SentfrommyBlackBerry.From: Daniel-Constantin MierlaSent: Wednesday, April 15, 2015 10:59To: Kamailio (SER) - Users Mailing ListReply To: mico...@gmail.comSubject: Re: [SR-Users] No CDR is written when dialog timeouts
  

  
  
Looks like the topic diverged in side discussion, irrelevant to the
issue.

The report was related to the fact that the dialog+acc is not
recording the CDRs when sending the BYE on timeout. That is
obviously an issue because there is dedicated functionality for this
case. I am not the original developer of the feature, but it appears
that it covered the case when dialog was not configured to send the
BYE on timeout, just silenty discard the associated structure. So
this has to be fixed. It is no relation with what proxy can do or
not, sending BYE at the end of the dialog is not breaking anything
in the existing dialog, it just terminates it on both sides.

Cheers,
Daniel

On 15/04/15 16:45, Alex Balashov wrote:


  Hook, route,
whatever you want to call it. The bottom line is that you cannot
rely on the proxy's dialog layer, already a tenuous concept
inasmuch as it's implemented strictly on top of transaction
state specifically and derived solely from SIP signalling
generally, to expose to you all conceivable outcomes, including
outcomes that do not conform to a standard transition of dialog
states.
  
  
  The dialog
module is just a tool. It cannot replace the fundamentals.
  
  
  --
AlexBalashov|Principal|EvaristeSystemsLLC
303PerimeterCenterNorth,Suite300
Atlanta,GA30346
UnitedStates

Tel:+1-800-250-5920(toll-free)/+1-678-954-0671(direct)
Web:http://www.evaristesys.com/,http://www.csrpswitch.com/

SentfrommyBlackBerry.
  
  
  
  
  ___
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



-- 
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
  



___
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


Re: [SR-Users] No CDR is written when dialog timeouts

2015-04-15 Thread Daniel-Constantin Mierla
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:mickaelmarra...@gmail.com]
 *Sent:* Wednesday, April 15, 2015 3:53 PM
 *To:* sr-users@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:mickaelmarra...@gmail.com]
 *Sent:* Wednesday, April 15, 2015 3:48 PM
 *To:* sr-users@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@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

-- 
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

___
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