Commit Graph

14569 Commits

Author SHA1 Message Date
Russell Bryant
12a6e88d8c correct the name of a CLI command for getting available device names
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-20 06:13:22 +00:00
Russell Bryant
f20450ea03 Merge changes from team/russell/console_devices
- Add support for multiple devices.  All devices are configured in console.conf.
 - Add "console list devices" CLI command to show configured devices.  Also, changed
 the old "list devices" to be "list available", which queries PortAudio for all
 audio devices that are available for use.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-20 06:11:49 +00:00
Russell Bryant
aa7592f21a Merged revisions 99187 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99187 | russell | 2008-01-19 04:05:27 -0600 (Sat, 19 Jan 2008) | 4 lines

Fix a couple of memory leaks with frame handling.  Specifically,
ast_frame_free() needed to be called on the frame that came from the translator
to signed linear.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-19 10:06:02 +00:00
Russell Bryant
3e1a2f99d1 Add Cygwin as an "other" platform that is supported
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-19 05:28:33 +00:00
Russell Bryant
94e9fb8c5e Various README updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-19 05:26:46 +00:00
Joshua Colp
ae04bedd11 Blocked revisions 99127 via svnmerge
........
r99127 | file | 2008-01-18 18:57:15 -0400 (Fri, 18 Jan 2008) | 2 lines

Remove the __ in front of the unused variable. This causes some compilers to freak out.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 22:58:50 +00:00
Russell Bryant
b995c78c31 Merge changes from team/group/sip-tcptls
This set of changes introduces TCP and TLS support for chan_sip.  There are various
new options in configs/sip.conf.sample that are used to enable these features.  Also,
there is a document, doc/siptls.txt that describes some things in more detail.

This code was implemented by Brett Bryant and James Golovich.  It was reviewed
by Joshua Colp and myself.  A number of other people participated in the testing
of this code, but since it was done outside of the bug tracker, I do not have their
names.  If you were one of them, thanks a lot for the help!

(closes issue #4903, but with completely different code that what exists there.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 22:04:33 +00:00
Russell Bryant
1807acb9b0 Merged revisions 99081 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99081 | russell | 2008-01-18 15:37:21 -0600 (Fri, 18 Jan 2008) | 9 lines

Revert adding the packed attribute, as it really doesn't make sense why that
would do any good.  Fix the real bug, which is to do the check to see if the
frame came from a translator at the beginning of ast_frame_free(), instead of
at the end.  This ensures that it always gets checked, even if none of the
parts of the frame are malloc'd, and also ensures that we aren't looking at
free'd memory in the case that it is a malloc'd frame.

(closes issue #11792, reported by explidous, patched by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 21:38:01 +00:00
Russell Bryant
e345fd7ca7 Merged revisions 99079 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99079 | russell | 2008-01-18 15:22:21 -0600 (Fri, 18 Jan 2008) | 4 lines

Since we're relying on the offset between the frame and the beginning of the translator
pvt struct, set the packed attribute to make sure we get to the right place.
(potential fix for issue #11792)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 21:24:05 +00:00
Terry Wilson
d673f848c0 This should at least temporarily fix a problem where the 't' Dial
option is incorrectly passed to the transferee when built-in
attended transfers are used.  There is still a problem with 'T',
but better to fix some problems than no problems while we work
on it.

(closes issue #7904)
Reported by: k-egg
Patches: 
      transfer-fix-trunk-r97657.diff uploaded by sergee (license 138)
Tested by: sergee, otherwiseguy


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 16:58:50 +00:00
Tilghman Lesher
f124988a35 Convert func_odbc to use SQLExecDirect for speed
(closes issue #10723)
 Reported by: mnicholson
 Patches: 
       func-odbc-direct-execute1.diff uploaded by mnicholson (license 96)
 Tested by: Corydon76, mnicholson, falves11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 06:58:35 +00:00
Tilghman Lesher
8dd48a5e7c Permit username and password to be NULL (which enables pass-through from the layer above).
Reported by: lurcher
Patch by: tilghman
(Closes issue #11739)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 06:52:18 +00:00
Tilghman Lesher
6331b0b831 Reset default CUT delimiter back to '-'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 02:06:27 +00:00
Russell Bryant
89778a05c1 Make the output of "console list devices" a bit prettier.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 23:28:16 +00:00
Russell Bryant
30de4fc350 List which devices are inputs and outputs in "console list devices"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 23:21:30 +00:00
Russell Bryant
d09fdcf61d Add AST_FORMAT_SLINEAR16 to the list for ast_best_codec()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 23:20:37 +00:00
Russell Bryant
2a91da6613 Merged revisions 99004 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99004 | russell | 2008-01-17 16:37:22 -0600 (Thu, 17 Jan 2008) | 10 lines

Have IAX2 optimize the codec translation path just like chan_sip does it.  If
the caller's codec is in our codec list, move it to the top to avoid transcoding.

(closes issue #10500)
Reported by: stevedavies
Patches:
      iax-prefer-current-codec.patch uploaded by stevedavies (license 184)
      iax-prefer-current-codec.1.4.patch uploaded by stevedavies (license 184)
Tested by: stevedavies, pj, sheldonh

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 22:50:13 +00:00
Mark Michelson
fdc76e87bf Fixing trunk IMAP build
(closes issue #11788)
Reported by: DEA
Patches:
      vm-imap-build-fix.txt uploaded by DEA (license 3)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 22:22:02 +00:00
Jason Parker
8dc5e09ccb Add several busy detection related defines to menuselect.
Allow better busy detect debugging (with BUSYDETECT_DEBUG).

Remove very old BUSYDETECT and BUSY_DETECT_MARTIN defines.

(closes issue #11107)
Patches:
      busydetect_enhancement.patch uploaded by agx (license 298)
      busydetect-r94975.diff uploaded by sergee (license 138)

Additional changes/cleanup by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 20:51:26 +00:00
Mark Michelson
3d022ccfec state_interface could be NULL, so use the never-NULL cur->state_interface for this check
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 16:33:24 +00:00
Mark Michelson
9c39ec55d8 Get the device state of the state interface instead of the interface when creating a new queue member.
Thanks to Atis Lezdins for bringing this up on the Asterisk-Dev mailing list.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 16:26:41 +00:00
Jason Parker
4346a37106 Merged revisions 98991 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(Closes issue #11784)
........
r98991 | qwell | 2008-01-17 10:19:46 -0600 (Thu, 17 Jan 2008) | 4 lines

Add a clarification about the immediate= option of zapata.conf

Issue 11784, patch by klaus3000.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 16:21:38 +00:00
Kevin P. Fleming
cd4cc27c93 major reliability and performance improvement in VWMI monitoring for FXO ports (code by markster, me and dbailey)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 16:17:52 +00:00
Kevin P. Fleming
b0c271eb31 resolve (valid) compiler warning about variable that could be used before being initialized
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 15:04:54 +00:00
Terry Wilson
417c6dcb1d Update res_phoneprov to default to setting the SERVER variable to the IP
the HTTP request for the config came in on and the SERVER_PORT to the
bindport setting in sip.conf.  I've left in the ability to override these
options, because I can't always guess how someone might decide to do something
weird with what is available to them--although needing to is pretty unlikely.

Documentation was updated to reflect preference for not setting serveraddr,
serveriface, or serverport.  Tested on Linux and OS X.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 03:09:32 +00:00
Tilghman Lesher
ac3c95e370 Change the way the new filter feature works, by allowing it to be a column NOT
logged into the database.  This will allow more granularity of a decision
evaluated in the dialplan, then takes effect when posting the CDR.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 00:13:32 +00:00
Russell Bryant
8a5e93d766 Add support for an easy way to automatically execute some Asterisk CLI commands
immediately at startup.  Any commands in the startup_commands file in the Asterisk
config diretory will get executed.

(closes issue #11781)
Reported by: jamesgolovich
Patches:
      asterisk-startupcmds.diff.txt uploaded by jamesgolovich (license 176)
	    -- With some changes by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 00:05:13 +00:00
Jason Parker
f2d31ec0c8 Change AST_EXT_TOOL_CHECK to attempt to build against <package>_LIB, per recommendations from Russell.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 23:08:11 +00:00
Tilghman Lesher
bba20a8360 Info about res_config_curl
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 22:36:58 +00:00
Russell Bryant
5b997d2a71 Blocked revisions 98982 via svnmerge
........
r98982 | russell | 2008-01-16 16:36:24 -0600 (Wed, 16 Jan 2008) | 5 lines

Add an unused pointer to the ast_channel struct.  This makes the ast_channel structure
retain the same size as it had in previous 1.4 releases.  Also, all of the offsets for
members in the structure are still the same (except for the two pointers that got replaced
for the new spy/whisper architecture.)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 22:36:47 +00:00
Tilghman Lesher
81e421284d New module res_config_curl (closes issue #11747)
Reported by: Corydon76
 Patches: 
       res_config_curl.c uploaded by Corydon76 (license 14)
       20080116__bug11747.diff.txt uploaded by Corydon76 (license 14)
 Tested by: jmls


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 22:20:45 +00:00
Russell Bryant
6aaa992301 Merge the changes from issue #10665 from the team/group/sip_session_timers branch.
This set of changes introduces SIP session timers support (RFC 4028).  In short,
this prevents stuck SIP sessions that were not properly torn down due to network
or endpoint failures during an established SIP session.

To quote some of the documentation supplied with the patch:
"The SIP Session-Timers is an extension of the SIP protocol that allows end-points and proxies to
refresh a session periodically. The sessions are kept alive by sending a RE-INVITE or UPDATE
request at a negotiated interval. If a session refresh fails then all the entities that support Session-
Timers clear their internal session state. In addition, UAs generate a BYE request in order to clear
the state in the proxies and the remote UA (this is done for the benefit of SIP entities in the path
that do not support Session-Timers)."

(closes issue #10665)
Reported by: rjain
Patches:
      chan_sip.c.1.diff uploaded by rjain (license 226)
      chan_sip.c.diff uploaded by rjain (license 226)
      sip.conf.sample.diff uploaded by rjain (license 226)
      proc_422_rsp_comment.diff uploaded by rjain (license 226)
      chan_sip.c.cache.diff uploaded by rjain (license 226)
      chan_sip.memalloc uploaded by rjain (license 226)
      chan_sip.memalloc.bugfix uploaded by rjain (license 226)

      Patches tracked in team/group/sip_session_timers, with some additional fixes
      by russell and oej.

Tested by: jtodd, rjain, loloski


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 21:53:10 +00:00
Joshua Colp
934aeb6c07 Blocked revisions 98973 via svnmerge
........
r98973 | file | 2008-01-16 16:34:30 -0400 (Wed, 16 Jan 2008) | 2 lines

Bump up cleancount due to previous commit that changed the channel structure.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 20:36:21 +00:00
Joshua Colp
b98ac9618e Blocked revisions 98972 via svnmerge
........
r98972 | file | 2008-01-16 16:33:47 -0400 (Wed, 16 Jan 2008) | 2 lines

Replace current spy architecture with backport of audiohooks. This should take care of current known spy issues.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 20:35:49 +00:00
Jason Parker
19b4c52bf4 Partially revert r93898, because it broke the way netsnmp was being detected.
rizzo, do you want to discuss so we can rethink this, or do you have another way?


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 19:41:25 +00:00
Jason Parker
f35fca049a Add note about new update.log to CHANGES, by request of jmls and further prodding by jsmith.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 18:34:19 +00:00
Jason Parker
34f7805ba6 Add logging for 'make update' command (also fixes updates in some places). Issue #11766, initial patch by jmls.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 18:06:14 +00:00
Joshua Colp
a6da07a515 Merged revisions 98966 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98966 | file | 2008-01-16 13:50:10 -0400 (Wed, 16 Jan 2008) | 6 lines

Add missing NULLs at end of two ast_load_realtimes.
(closes issue #11769)
Reported by: tequ
Patches:
      chaniax.patch uploaded by dimas (license 88)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 17:51:52 +00:00
Mark Michelson
343949b741 Merged revisions 98964 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98964 | mmichelson | 2008-01-16 11:20:11 -0600 (Wed, 16 Jan 2008) | 10 lines

Fix a deadlock in chan_local in local_hangup. There was contention because
the local_pvt was held and it was attempting to lock a channel, which is the
incorrect locking order.

(closes issue #11730)
Reported by: UDI-Doug
Patches:
      11730.patch uploaded by putnopvut (license 60)
	  Tested by: UDI-Doug

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 17:21:49 +00:00
Terry Wilson
3e9ed0d40b Make users list static
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 16:06:06 +00:00
Joshua Colp
bb08e13754 Merged revisions 98960 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98960 | file | 2008-01-16 11:08:24 -0400 (Wed, 16 Jan 2008) | 6 lines

Introduce a lock into the dialing API that protects it when destroying the structure.
(closes issue #11687)
Reported by: callguy
Patches:
      11687.diff uploaded by file (license 11)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 15:09:37 +00:00
Joshua Colp
2ee416a55a Merged revisions 98958 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98958 | file | 2008-01-16 11:03:14 -0400 (Wed, 16 Jan 2008) | 4 lines

Add two more SDP names for ulaw and alaw.
(closes issue #11777)
Reported by: tootai

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 15:04:08 +00:00
Joshua Colp
4082bed03a Merged revisions 98955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98955 | file | 2008-01-15 23:07:24 -0400 (Tue, 15 Jan 2008) | 6 lines

Don't drop the old record route information when dealing with packets related to a reinvite.
(closes issue #11545)
Reported by: kebl0155
Patches:
      reinvite-patch.txt uploaded by kebl0155 (license 356)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 03:09:11 +00:00
Joshua Colp
1faba2a90c Remove DNS lookup from sip_devicestate. This seems to come from way back when and I can't think of a reason for it being here, plus it could cause needless DNS lookups.
(closes issue #10983)
Reported by: jtodd


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 02:30:13 +00:00
Steve Murphy
241de02854 Terry found this problem with running the expr2 parser on OSX. Make the #defines come out the same between the parser & lexer.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 01:35:10 +00:00
Joshua Colp
c692e1cacb Merged revisions 98951 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98951 | file | 2008-01-15 21:13:27 -0400 (Tue, 15 Jan 2008) | 4 lines

Add autoconf logic for speexdsp. Later versions use a separate library for some things so we need to use it if present in codec_speex.
(closes issue #11693)
Reported by: yzg

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 01:17:25 +00:00
Russell Bryant
2cdf636c0f Merged revisions 98946 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98946 | russell | 2008-01-15 17:50:10 -0600 (Tue, 15 Jan 2008) | 11 lines

Change a buffer in check_auth() to be a thread local dynamically allocated
buffer, instead of a massive buffer on the stack.  This fixes a crash reported
by Qwell due to running out of stack space when building with LOW_MEMORY defined.

On a very related note, the usage of BUFSIZ in various places in chan_sip is
arbitrary and careless.  BUFSIZ is a system specific define.  On my machine,
it is 8192, but by definition (according to google) could be as small as 256.  
So, this buffer in check_auth was 16 kB.  We don't even support SIP messages 
larger than 4 kB!  Further usage of this define should be avoided, unless it 
is used in the proper context.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15 23:53:28 +00:00
Tilghman Lesher
799246dae3 Add the "filter" keyword
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15 23:52:11 +00:00
Russell Bryant
25e1c74bf1 Clean up something I did for ABI compatability in 1.4
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15 23:35:29 +00:00
Russell Bryant
4fb04cb58a Merged revisions 98943 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98943 | russell | 2008-01-15 17:26:52 -0600 (Tue, 15 Jan 2008) | 25 lines

Commit a fix for some memory access errors pointed out by the valgrind2.txt
output on issue #11698.

The issue here is that it is possible for an instance of a translator to get
destroyed while the frame allocated as a part of the translator is still being
processed.  Specifically, this is possible anywhere between a call to ast_read()
and ast_frame_free(), which is _a lot_ of places in the code.  The reason this
happens is that the channel might get masqueraded during this time.  During a
masquerade, existing translation paths get destroyed.

So, this patch fixes the issue in an API and ABI compatible way.  (This one is
 for you, paravoid!)

It changes an int in ast_frame to be used as flag bits.  The 1 bit is still used
to indicate that the frame contains timing information.  Also, a second flag has
been added to indicate that the frame came from a translator.  When a frame with
this flag gets released and has this flag, a function is called in translate.c to
let it know that this frame is doing being processed.  At this point, the flag gets
cleared.  Also, if the translator was requested to be destroyed while its internal
frame still had this flag set, its destruction has been deffered until it finds out
that the frame is no longer being processed.

Admittedly, this feels like a hack.  But, it does fix the issue, and I was not able 
to think of a better solution ...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15 23:31:53 +00:00