Commit Graph

505 Commits

Author SHA1 Message Date
Joshua Colp
c3ba2c8fc6 Don't bother having the core pass through or emulate begin DTMF frames when in an ast_waitstream. It only cares about the end of DTMF.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 14:15:53 +00:00
Joshua Colp
d76d2c5214 Add additional DTMF log messages to help when debugging issues.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06 21:41:13 +00:00
Jason Parker
e4f15628bb Fix an issue with using UpdateConfig (manager action) where escaped semicolons
in a config would be converted to just semicolons (\; to ;)

Issue 9938


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06 16:30:51 +00:00
Joshua Colp
88b982d7ff (closes issue #10355)
Reported by: wdecarne
Now that we pass through RTP timestamp information we need to make the allowed timestamp skew considerably less. There are situations where a source may change and due to the timestamp difference the receiver will experience an audio gap since we did not indicate by setting the marker bit that the source changed.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06 15:27:24 +00:00
Mark Michelson
05ba4d90d4 Changed the behavior of sip's realtime_peer function to match the corresponding way of matching for non-realtime peers.
Now matches are made on both the IP address and port number, or if the insecure setting is set to "port" then just match on the
IP address.

In order to accomplish this, I also added a new API call, ast_category_root, which returns the first variable of an ast_category struct



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-03 20:25:22 +00:00
Russell Bryant
2f41cceb1f Add some improvements to lock debugging. These changes take effect
with DEBUG_THREADS enabled and provide the following:

 * This will keep track of which locks are held by which thread as well as
   which lock a thread is waiting for in a thread-local data structure.  A
   reference to this structure is available on the stack in the dummy_start()
   function, which is the common entry point for all threads.  This information
   can be easily retrieved using gdb if you switch to the dummy_start() stack
   frame of any thread and print the contents of the lock_info variable.

 * All of the thread-local structures for keeping track of this lock information
   are also stored in a list so that the information can be dumped to the CLI
   using the "core show locks" CLI command.  This introduces a little bit of a
   performance hit as it requires additional underlying locking operations
   inside of every lock/unlock on an ast_mutex.  However, the benefits of
   having this information available at the CLI is huge, especially considering
   this is only done in DEBUG_THREADS mode.  It means that in most cases where
   we debug deadlocks, we no longer have to request access to the machine to
   analyze the contents of ast_mutex_t structures.  We can now just ask them
   to get the output of "core show locks", which gives us all of the information
   we needed in most cases.

I also had to make some additional changes to astmm.c to make this work when
both MALLOC_DEBUG and DEBUG_THREADS are enabled.  I disabled tracking of one
of the locks in astmm.c because it gets used inside the replacement memory
allocation routines, and the lock tracking code allocates memory.  This caused
infinite recursion.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-03 19:39:49 +00:00
Steve Murphy
a181678820 Merged revisions 77942 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r77942 | murf | 2007-08-02 11:56:37 -0600 (Thu, 02 Aug 2007) | 1 line

This patch hopefully solves 10141; The user is running with it, and it doesn't appear to harm asterisk's operation, and may prevent a crash. I'll store it in 1.2, as we have shut down support on 1.2, but since I developed the patch before support finished, and it might affect 1.4 and trunk, I'm going ahead with it.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-02 18:21:40 +00:00
Joshua Colp
97885fed58 (closes issue #10351)
Reported by: ftarz
Some platforms don't like it when you pass NULL to vsnprintf so pass "" instead.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 18:08:51 +00:00
Joshua Colp
68c221f69a Add some fixes for building on Solaris.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 17:56:59 +00:00
Joshua Colp
8e5dfb3cf9 Whoops, I meant R_5 not R5.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 17:52:11 +00:00
Joshua Colp
bc7150c380 Extend autoconf logic to determine which version of gethostbyname_r is on the system.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 17:22:35 +00:00
Jim Dixon
cd1614fcd8 Made VAST improvements in DTMF receiver in RADIO_RELAX mode (thanx Steve
W9SH), and oversight in logic in TONE_VERIFY/RELAX mode in chan_zap.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 21:00:08 +00:00
Jason Parker
25017ad181 Applications like SayAlpha() should not hang up the channel if you
request an "unknown" character such as a comma.
Instead, skip the character and move on.

Issue 10083, initial patch by jsmith, modified by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 20:17:08 +00:00
Russell Bryant
0a2331cf26 file and I both committed changes for issue #10301. Remove a duplicated
assignment to restore the original value of the previous channel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 18:55:15 +00:00
Russell Bryant
e533cabf1c (closes issue #10301)
Reported by: fnordian
Patches:
      asterisk-1.4.9-channel.c.patch uploaded by fnordian (license 110)
      Additional changes by me

Fix some problems in channel_find_locked() which can cause an infinite loop.
The reference to the previous channel is set to NULL in some cases.  These changes
ensure that the reference to the previous channel gets restored before needing
it again.

I'm not convinced that the code that is setting it to NULL is really the right
thing to do.  However, I am making these changes to fix the obvious problem
and just leaving an XXX comment that it needs a better explanation that what
is there now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 17:29:43 +00:00
Joshua Colp
33abae518a (closes issue #10301)
Reported by: fnordian
Patches:
      asterisk-1.4.9-channel.c.patch uploaded by fnordian (license 110)
Restore previous behavior where if we failed to lock the channel we wanted we would return to exactly the same point as if we had just reentered the function.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 15:47:52 +00:00
Joshua Colp
8fa7c1e9b0 (closes issue #10302)
Reported by: litnialex
If a DTMF end frame comes from a channel without a begin and it is going to a technology that only accepts end frames (aka INFO) then use the minimum DTMF duration if one is not in the frame already.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 23:19:04 +00:00
Mark Michelson
dbfdbbf4cc Fixes to get ast_backtrace working properly. The AST_DEVMODE macro was never defined so the majority of ast_backtrace never
attempted compilation. The makefile now defines AST_DEVMODE if configure was run with --enable-dev-mode. Also, changes were 
made to acccomodate 64 bit systems in ast_backtrace.

Thanks to qwell, kpfleming, and Corydon76 for their roles in allowing me to get this committed



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 20:35:17 +00:00
Tilghman Lesher
bf9ffe0d09 Missed one
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 19:32:17 +00:00
Tilghman Lesher
e9a1a42967 Oops, that builtin define should be all-lowercase.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 19:27:18 +00:00
Mark Michelson
ccb0f924af chan->emulate_dtmf_duration is an unsigned int, not a signed int, so use %u instead of %d in the format string
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-25 21:52:47 +00:00
Luigi Rizzo
19ec0f8fe1 set the sequence number in a frame for all frame types
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-25 09:34:01 +00:00
Tilghman Lesher
c7336cd3ff Found another place where we should be using the umask (thanks jcmoore)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 20:42:05 +00:00
Jason Parker
24f0e6a947 Eliminate a compiler warning with gcc 4.2 by constifying a char *
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20 20:54:10 +00:00
Russell Bryant
7f9bf7e970 Use the define that specifies the default length of an artificially created
DTMF digit in the ast_senddigit() function.  The define is set to 100ms by
default, which is the same thing that this function was using.  But, using
the define lets changes take effect in this case, as well as the others where
it was already used.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20 18:22:24 +00:00
Russell Bryant
c83a0b2a3c cast arguments to ast_log so that it builds without warnings for me
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:51:25 +00:00
Joshua Colp
396e723f17 Ensure that the pointer to STUN data does not go to unaccessible memory. (ASA-2007-017)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:40:57 +00:00
Russell Bryant
0a1a04137e (closes issue #10209)
Reported by: juggie
Patches:
      10209-trunk-2.patch uploaded by juggie
Tested by: juggie, blitzrage

In ast_pbx_run(), mark a channel as hung up after an application returned -1, 
or when it runs out of extensions to execute.  This is so that code can detect
that this channel has been hung up for things like making sure DeadAGI is used
on actual dead channels, and is beneficial for other things, like making sure
someone doesn't try to start spying on a channel that is about to go away.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:01:12 +00:00
Kevin P. Fleming
d0cb9b141d Merged revisions 75304 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75304 | kpfleming | 2007-07-16 15:46:58 -0500 (Mon, 16 Jul 2007) | 3 lines

provide proper copyright/license attribution for this structure that was copied from a BSD-licensed header file long, long ago...


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 20:53:24 +00:00
Joshua Colp
7152afccd5 Whoops... didn't want this to be returned to 0 each iteration.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 19:17:59 +00:00
Joshua Colp
26acd893d3 When waiting for a digit ensure that a begin frame was received with it, not just an end frame. (issue #10084 reported by rushowr)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 17:16:28 +00:00
Jason Parker
7e0ab0fa62 Don't use #if to check if something is defined - use #ifdef instead.
Pointed out by kpfleming


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-10 19:10:36 +00:00
Jason Parker
d4a7eb584f Merged revisions 74373 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r74373 | qwell | 2007-07-10 13:37:23 -0500 (Tue, 10 Jul 2007) | 5 lines

Use res_ndestroy on systems that have it.  Otherwise, use res_nclose.
This prevents a memleak on NetBSD - and possibly others.

Issue 10133, patch by me, reported and tested by scw

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-10 18:39:30 +00:00
Joshua Colp
49584ec434 Merged revisions 74264 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r74264 | file | 2007-07-10 11:48:00 -0300 (Tue, 10 Jul 2007) | 2 lines

Ensure the group information category exists before trying to do a string comparison with it. (issue #10171 reported by mlegas)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-10 14:50:00 +00:00
Tilghman Lesher
befa215f7b Doxygen formatting fixes; fixes errors while 'make progdocs'. (Closes issue #10104)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 04:03:20 +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
0e80607e17 Merged revisions 73349 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73349 | file | 2007-07-05 11:19:14 -0300 (Thu, 05 Jul 2007) | 2 lines

Tweak spy locking. (issue #9951 reported by welles)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-05 14:21:44 +00:00
Steve Murphy
ad36e954a7 Removing expr floating patch from 1.4; too much of a behavior change. If you want this fix, try trunk instead. bug 9508.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-03 20:17:31 +00:00
Steve Murphy
adc13be87b support for floating point numbers added to ast_expr2 $\[...\] exprs. Fixes bug 9508, where the expr code fails with fp numbers. The MATH function returns fp numbers by default, so this fix is considered necessary.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 20:16:31 +00:00
Russell Bryant
76164559c9 Remove a bogus comment and add proper locking to the handler function for the
CLI command to show information on manager actions.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 18:18:46 +00:00
Joshua Colp
a3716070d1 Added additional DTMF debug messages for when emulation occurs.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 14:32:59 +00:00
Luigi Rizzo
f870ccffff Use !defined(HAVE_GETHOSTBYNAME_R) to check for absence
of the function. This was already done in trunk.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 19:07:41 +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
Tilghman Lesher
6ffbaa32f3 Issue 10055 - Change memory allocation to use the heap for a command, since the output has the potential to overflow the stack (as it did here)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 04:47:11 +00:00
Luigi Rizzo
475e73e27d Add -Wdeclaration-after-statement to AST_DEVMODE flags to catch
variable declarations in the middle of a block.

Fix the few instances of the above spotted out by the compiler.

All of this has been already done or is not applicable in trunk,
so the merge of this change will be blocked.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-28 19:05:59 +00:00
Brett Bryant
7c5fef5e74 Merged revisions 72373 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r72373 | bbryant | 2007-06-27 18:22:13 -0500 (Wed, 27 Jun 2007) | 3 lines

Reinstating patch. This actually fixes the problem, however I was running a development branch without it and mistakenly thought it wasn't fixed. 
Fixes issue #10010, and #9654: 100% CPU usage caused by an asterisk console losing it's controlling terminal.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 23:29:14 +00:00
Brett Bryant
a241f406da Merged revisions 72333 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r72333 | bbryant | 2007-06-27 17:58:53 -0500 (Wed, 27 Jun 2007) | 2 lines

Reverted changes for earlier revisions 72259 to 72261. Issue #9654, #10010

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 23:03:01 +00:00
Brett Bryant
b2cc514f08 Merged revisions 72259 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r72259 | bbryant | 2007-06-27 15:43:53 -0500 (Wed, 27 Jun 2007) | 4 lines

Fixes 100% load when controlling terminal disappears.

Issue #9654, #10010

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 20:46:12 +00:00
Joshua Colp
a61fb24363 Merged revisions 72256 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r72256 | file | 2007-06-27 16:23:24 -0400 (Wed, 27 Jun 2007) | 2 lines

I may possibly get shot for doing this... but... defer CDR processing until after the channel has been dealt with. This should eliminate all of the issues with channels going funky (SIP/PRI) when you are posting CDRs to a database that is either slow or unavailable and do not want to enable batching.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 20:25:24 +00:00
Joshua Colp
60990f0c73 Make the ast_read_noaudio API call behave better under circumstances where DTMF emulation was happening and a generator was setup. (issue #10065 reported by stevefeinstein)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 17:31:50 +00:00