Commit Graph

47 Commits

Author SHA1 Message Date
Steve Murphy
141ab56b86 (closes issue #12694)
Reported by: yraber
Patches:
      12694.2nd.diff uploaded by murf (license 17)
Tested by: murf, laurav

Thanks to file (Joshua Colp) for his IAX fix.

the change to cdr.c allows no-answer to percolate
up into CDR's, and feels like the right place to
locate this fix; if BUSY is done here, no-answer
should be, too.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@159316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 22:41:10 +00:00
Kevin P. Fleming
1a56159a79 instead of comparing the string pointer to 0, let's compare the value that was actually parsed out of the string (found by sparse)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@152811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-30 16:53:48 +00:00
Steve Murphy
32218b2529 I am turning the warnings generated in ast_cdr_free and post_cdr into verbose level 2 messages. Really, they matter little to end users. You either get the CDR's you wanted, or you don't, and it is a bug.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@140747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-02 23:36:56 +00:00
Steve Murphy
811faa8612 (closes issue #13263)
Reported by: brainy
Tested by: murf

The specialized reset routine is tromping on the
flags field of the CDR. I made a change to not
reset the DISABLED bit. This should get rid of this
problem.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@139074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-20 17:14:55 +00:00
Steve Murphy
ee8adb313e (closes issue #12982)
Reported by: bcnit
Tested by: murf

I discovered that also, in the previous bug fixes and changes,
the cdr.conf 'unanswered' option is not being obeyed, so
I fixed this.

And, yes, there are two 'answer' times involved in this
scenario, and I would agree with you, that the first 
answer time is the time that should appear in the CDR.
(the second 'answer' time is the time that the bridge
was begun).

I made the necessary adjustments, recording the first
answer time into the peer cdr, and then using that to
override the bridge cdr's value.

To get the 'unanswered' CDRs to appear, I purposely
output them, using the dial cmd to mark them as
DIALED (with a new flag), and outputting them if
they bear that flag, and you are in the right mode.

I also corrected one small mention of the Zap device
to equally consider the dahdi device.

I heavily tested 10-sec-wait macros in dial, and
without the macro call; I tested hangups while the
macro was running vs. letting the macro complete
and the bridge form. Looks OK. Removed all the
instrumentation and debug.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-05 23:13:20 +00:00
Michiel van Baak
4a3a733924 remove 4 lines of redundant code.
(closes issue #13080)
Reported by: gknispel_proformatique
Patches:
      trunk_ast_cdr_setapp.patch uploaded by gknispel (license 261)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@131012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-15 17:47:15 +00:00
Steve Murphy
e9f5152eba The CDRfix4/5/6 omnibus cdr fixes.
(closes issue #10927)
Reported by: murf
Tested by: murf, deeperror

(closes issue #12907)
Reported by: falves11
Tested by: murf, falves11


(closes issue #11849)
Reported by: greyvoip

As to 11849, I think these changes fix the core problems 
brought up in that bug, but perhaps not the more global
problems created by the limitations of CDR's themselves
not being oriented around transfers.

Reopen if necc, but bug reports are not the best
medium for enhancement discussions. We need to start
a second-generation CDR standardization effort to cover
transfers.

(closes issue #11093)
Reported by: rossbeer
Tested by: greyvoip, murf




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@127663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-03 00:16:25 +00:00
Steve Murphy
50449140e8 Arkadia tried to warn me, but the code added to ast_cdr_busy, _failed, and _noanswer was redundant. Didn't spot it until I was resolving conflicts in trunk. Ugh. Redundant code removed. It wasn't harmful. Just dumb.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 14:51:44 +00:00
Steve Murphy
5c2cf0f3c0 (closes issue #10668)
Reported by: arkadia
Tested by: murf, arkadia

Options added to forkCDR() app and the CDR() func to
remove some roadblocks for CDR applications.

The "show application ForkCDR" output was upgraded
to more fully explain the inner workings of forkCDR.

The A option was added to forkCDR to force the
CDR system to NOT change the disposition on the
original CDR, after the fork. This involves
ast_cdr_answer, _busy, _failed, and so on.

The T option was added to forkCDR to force 
obedience of the cdr LOCKED flag in the
ast_cdr_end, all the disposition changing
funcs (ast_cdr_answer, etc), and in the
ast_cdr_setvar func.

The CHANGES file was updated to explain ALL
the new options added to satisfy this bug report
(and some requests made verbally and via 
email, irc, etc, over the past months/year)

The 's' option was added to the CDR() func,
to force it to skip LOCKED cdr's in the
chain.

Again, the new options should be totally transparent
to existing apps! Current behavior of CDR,
forkCDR, and the rest of the CDR system should
not change one little bit. Until you add the
new options, at least!



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 13:47:34 +00:00
Steve Murphy
e58b5c63c6 (closes issue #10668)
(closes issue #11721)
(closes issue #12726)
Reported by: arkadia
Tested by: murf

These changes:

1. revert the changes made via bug 10668; 
   I should have known that such changes,
   even tho they made sense at the time,
   seemed like an omission, etc, were actually
   integral to the CDR system via forkCDR.
   It makes sense to me now that forkCDR didn't
   natively end any CDR's, but rather depended
   on natively closing them all at hangup time
   via traversing and closing them all, whether
   locked or not. I still don't completely 
   understand the benefits of setvar and answer
   operating on locked cdrs, but I've seen 
   enough to revert those changes also, and
   stop messing up users who depended on that
   behavior. bug 12726 found reverting the changes
   fixed his changes, and after a long review
   and working on forkCDR, I can see why.
2. Apply the suggested enhancements proposed
   in 10668, but in a completely compatible
   way. ForkCDR will behave exactly as before,
   but now has new options that will allow some
   actions to be taken that will slightly 
   modify the outcome and side-effects of
   forkCDR. Based on conversations I've had 
   with various people, these small tweaks
   will allow some users to get the behavior
   they need. For instance, users executing
   forkCDR in an AGI script will find the
   answer time set, and DISPOSITION set, 
   a situation not covered when the routines
  were first written.
3. A small problem in the cdr serializer
   would output answer and end times even
   when they were not set. This is now 
   fixed.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@118858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 00:25:28 +00:00
Joshua Colp
2bf8f9fca3 Move where unanswered CDRs are dropped to the CDR core, not everything uses app_dial.
(closes issue #11516)
Reported by: ys
Patches:
      branch_1.4_cdr.diff uploaded by ys (license 281)
Tested by: anest, jcapp, dartvader


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10 14:33:02 +00:00
Jason Parker
6c3d62c1fa Make pbx_exec pass an empty string into applications, if we get NULL.
This protects against possible segfaults in applications that may try
 to use data before checking length (ast_strdupa'ing it, for example)

(closes issue #12100)
Reported by: foxfire
Patches:
      12100-nullappargs.diff uploaded by qwell (license 4)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@105005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-28 19:20:10 +00:00
Tilghman Lesher
7060a6888d When deleting a task from the scheduler, ignoring the return value could
possibly cause memory to be accessed after it is freed, which causes all
sorts of random memory corruption.  Instead, if a deletion fails, wait a
bit and try again (noting that another thread could change our taskid
value).
(closes issue #11386)
 Reported by: flujan
 Patches: 
       20080124__bug11386.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76, flujan, stuarth`


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@100465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-27 21:59:53 +00:00
Steve Murphy
1975b6e753 closes issue #11379; OK, this is an attempt to make both sides happy. To the cdr.conf file, I added the option 'unanswered', which defaults to 'no'. In this mode, you will see a cdr for a call, whether it was answered or not. The disposition will be NO ANSWER or ANSWERED, as appropriate. The src is as you'd expect, the destination channel will be one of the channels from the Dial() call, usually the last in the list if more than one chan was specified. With unanswered set to 'yes', you will still see this cdr entry in both cases. But in the case where the dial timed out, you will also see a cdr for each line attempted, marked NO ANSWER, with no destination channel name. The new option defaults to 'no', so you don't see the pesky extra cdr's by default, and you will not see the irritating 'not posted' messages.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-27 06:24:02 +00:00
Russell Bryant
d6b8fb4dc0 gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:37:20 +00:00
Steve Murphy
3dd879bb13 closes issue #10668; thanks to arkadia for his patch; had to leave out the bit about ending the previous cdr in the fork; it would destroy current implementations.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-14 21:19:27 +00:00
Steve Murphy
e84f98ea4f this change should fix issue # 10659 -- what I worry about is how many other bug reports it may generate. Hopefully, we can please the/a majority. Hopefully. We shall see. Calls not marked ANSWERED and with only one channel name will not be posted. This should eliminate the double CDR's.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 20:36:15 +00:00
Steve Murphy
07f7547e84 via issue 10599, where 'CDR already initialized' messages are being generated. Since all channels will have an init'd CDR attached at creation time, this message is now particularly useless. Removed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-30 21:11:48 +00:00
Steve Murphy
d96548ab3c From a complaint by jmls, I realize that the message in cdr_disposition is unnecessary. To get failure disposition, just return -1; no use having more than one case do that.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24 18:52:15 +00:00
Steve Murphy
0c21db3e79 Re bug behavior mentioned in #asterisk, made this tweak to code, to prevent hundreds of log messages from being generated
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 18:25:51 +00:00
Steve Murphy
2544c0be73 This will help debug; from a question asked on #asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 17:43:49 +00:00
Joshua Colp
a979d44c9c Give Agent channel names priority when doing CDR merging. (issue #10011 reported by krtorio)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 03:13:19 +00:00
Joshua Colp
fe753c0846 Minor change for older GCC versions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 14:26:32 +00:00
Joshua Colp
879bad257f Fix it so 1.4 actually compiles on my box.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@71422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-25 01:07:31 +00:00
Steve Murphy
6f6ffbb5c5 This patch is meant to fix 8433; where clid and src are lost via bridging.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@71230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-23 03:29:48 +00:00
Steve Murphy
533dbc02ff My conditions for merging amaflags info was naive; DOCUMENTATION is the default, although null is possible; theft of user-settable fields is not good. Just copy them, leave them alone.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@71063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-22 14:10:24 +00:00
Steve Murphy
b13f79ad5b Merged revisions 70948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r70948 | murf | 2007-06-21 16:29:50 -0600 (Thu, 21 Jun 2007) | 1 line

This little fix is in response to bug 10016, but may not cure it. The code is wrong, clearly. In a situation where you set the CDR's amaflags, and then ForkCDR, and then set the new CDR's amaflags to some other value, you will see that all CDRs have had their amaflags changed. This is not good. So I fixed it.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-21 22:34:41 +00:00
Steve Murphy
e7c040283e Via complaints aired in asterisk-users, I submit these changes, which allow cdr updates to see macro context/exten, whether hung up or not
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-21 13:00:39 +00:00
Kevin P. Fleming
ae82d97c6d use ast_localtime() in every place localtime_r() was being used
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 21:50:40 +00:00
Steve Murphy
7609f70e20 This typo has been here since 1.4 forked. It has been the source of heartburn to many a dialplan/CDR programmer.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-04 21:59:34 +00:00
Steve Murphy
2419b6cfb8 Ugh. The svnmerge didn't catch the shift from cdr.c to main/cdr.c, and neither did I. This is the remainder of the 9717 patch, the fix for the run-away FAIL status for a call
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-18 22:26:51 +00:00
Steve Murphy
8c635fb2c1 As per 9570, worrisome CDR warnings have been removed, that are either not helpful, or not relevant.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@64193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-14 13:58:42 +00:00
Steve Murphy
d2c7601c21 Merged revisions 62737 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r62737 | murf | 2007-05-02 14:10:32 -0600 (Wed, 02 May 2007) | 1 line

Some tweaks to satisfy CDR bug 8796, where being in 'h' extension louses up the dst field
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@62738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-02 20:46:07 +00:00
Steve Murphy
b74884a9cd This is a fix to the way CDR merge handles the data that results from ForkCDR.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@61658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-13 21:17:20 +00:00
Steve Murphy
18ad368048 Finished up a previous fix to overcome a compiler warning; the app NoCDR() has been updated to mark the channel CDR as POST_DISABLED instead of destroying the CDR; this way its flags are propagated thru a bridge and the CDR is actually dropped. The cases where only one channel in a bridge has a CDR was cleaned up.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@61136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10 05:18:26 +00:00
Steve Murphy
7d5a79a0b9 This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 18:32:07 +00:00
Steve Murphy
798039b4d8 several changes via kpflemings review
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 17:51:17 +00:00
Steve Murphy
9c69e34f62 These mods fix CDR issues from 8221, 8593, 8680, 8743, and perhaps others. Mainly with CDRs generated from transfer situations.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 14:11:59 +00:00
Russell Bryant
9aab046002 Merged revisions 53045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:32:08 +00:00
Kevin P. Fleming
a299485952 since these variables all have static duration, none of them need initializers (they default to zero anyway)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-27 22:06:56 +00:00
Joshua Colp
191c129b4f Merged revisions 48151 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48151 | file | 2006-11-30 13:42:45 -0500 (Thu, 30 Nov 2006) | 2 lines

Print certain CDR messages out at the NOTICE level versus WARNING since they can occur when used with the CDR applications and are perfectly fine. (issue #8367 reported by dartvader)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-30 18:47:40 +00:00
Kevin P. Fleming
ce4b0afb73 apparently developers are still not aware that they should be use ast_copy_string instead of strncpy... fix up many more users, and fix some bugs in the process
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:32:08 +00:00
Kevin P. Fleming
ff05bf15c8 update thread creation code a bit
reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space
add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 19:47:22 +00:00
Kevin P. Fleming
fcb999c01c merge qwell's CLI verbification work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 19:54:18 +00:00
Joshua Colp
8a2dd45283 Merged revisions 42260 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r42260 | file | 2006-09-07 12:30:44 -0400 (Thu, 07 Sep 2006) | 2 lines

Let's use the same thing we use in other places to calculate our time for ast_cond_timedwait (issue #7697 reported by bn999)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-07 16:33:02 +00:00
Joshua Colp
3028eb1c15 Print what read-only variable is being set so that the user doesn't have to guess and figure it out or look at the list in cdr.c and match it up (issue #7831 reported by sedwards)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 15:15:06 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00