[OpenSIPS-Devel] [ opensips-Bugs-3554323 ] Duration populated with created time on call timeout

SourceForge.net noreply at sourceforge.net
Mon Aug 13 10:58:24 CEST 2012


Bugs item #3554323, was opened at 2012-08-04 10:22
Message generated for change (Comment added) made by vladut-paiu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=3554323&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: 1.8.x
Status: Open
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Ryan Bullock (rrb3942)
Assigned to: Vladut-Stefan Paiu (vladut-paiu)
Summary: Duration populated with created time on call timeout

Initial Comment:
When doing CDR accounting to a Mysql database, when a call is terminated due to a failed dialog options ping (receives response of 481) the database duration field is populated with the unix timestamp of the dialog created time. The 'created' and 'setuptime' fields do not appear to get populated as well.

This does not appear to happen when CDR accounting to syslog, as the same records accounted to syslog have the correct duration, created, and setuptime.

Opensips information:
version: opensips 1.8.0-notls (x86_64/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: 2:9164M
@(#) $Id: main.c 8772 2012-03-08 11:16:13Z bogdan_iancu $
main.c compiled on 12:53:09 Aug  3 2012 with gcc 4.4.6

I do have extra, and extra_bye variables which are the same for the database and syslog.

Thanks.

----------------------------------------------------------------------

>Comment By: Vladut-Stefan Paiu (vladut-paiu)
Date: 2012-08-13 01:58

Message:
Hello,

In 9164, segfaults were possible since indeed some invalid pointers might
have been passed to the mysql query.

I tried to test your issue in 9198 and I can't seem to replicate it. The
issue you are describing seems to be related to the dialog module, since it
does not find the creation time in the dialog variables. So it doesn't seem
at all related to the previous fix. 

Can you please attach a full OpenSIPS debug for such a call, as well as the
acc & dialog parameters you are using in your script ?

Regards,
Vlad

----------------------------------------------------------------------

Comment By: Ryan Bullock (rrb3942)
Date: 2012-08-12 20:12

Message:
Hello Vlad,

Tried svn revision 9198 for the 1.8 trunk and started getting this message
in my logs:

ERROR:acc:acc_get_created: error getting dialog creation time
ERROR:acc:acc_log_cdrs: cannot get created
ERROR:acc:acc_dlg_callback: Cannot log values

We account to both logs and db, and this revision seems to cause a problem
with getting the creation time. Wasn't sure what was causing this, so I
reverted back to revision 9164.

Another issue related to this on revision 9164 is a segfault. Not sure if
this addressed with the potential fix you implemented. Got this when I
tried to add accounting $si in extra_bye for database accounting. Looks
like a bad pointer can get passed to mysql_real_escape_string when a
timeout occurs and there is no actual request to pull values from. I have
included the backtrace for this as well.

----------------------------------------------------------------------

Comment By: Vladut-Stefan Paiu (vladut-paiu)
Date: 2012-08-08 14:41

Message:
Hello,

I have just committed a fix for this in the SVN trunk and 1.8 branch.
Can you please update your svn and see if it's ok now ?

Regards,
Vlad

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=3554323&group_id=232389



More information about the Devel mailing list