dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

493 Commits

Author SHA1 Message Date
tilghman 954d154fd0 Merged revisions 238230 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r238230 | tilghman | 2010-01-06 15:41:55 -0600 (Wed, 06 Jan 2010) | 4 lines
  
  Revise documentation on disposition values to the actual values used.
  (closes issue #16289)
   Reported by: wdoekes
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@238231 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-06 21:45:17 +00:00
dvossel 1e18375c8a Merged revisions 232268 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r232268 | dvossel | 2009-12-02 09:41:36 -0600 (Wed, 02 Dec 2009) | 9 lines
  
  fixes segfault in func_groupcount
  
  closes issue #16337)
  Reported by: Parantido
  Patches:
        issue_16337.diff uploaded by dvossel (license 671)
  	  Tested by: Parantido, dvossel
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@232269 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-02 15:42:54 +00:00
russell 86e3a68b8e Fix a build error on FreeBSD.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@232012 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-01 23:38:34 +00:00
tilghman 2b686b20ab Add REPLACE & PASSTHRU functions, overhaul of func_strings, fix API docs for the ast_get_encoded_* functions.
* Add REPLACE function, which searches a given variable for a set of
   characters and replaces each with a given character.
 * Add PASSTHRU function, which passes a literal string back, like a NoOp for
   functions.  Intent is to be able to specify a literal string to another
   function that takes a variable name as an argument.
 * Let the array manipulation functions work with dialplan functions, in
   addition to variables.  This allows the array manipulation functions to
   modify ASTDB and ODBC backends, assuming the func_odbc configuration has
   both read and write functions.
(closes issue #15223)
 Reported by: ajohnson
Patches: 
       20091112__issue15223.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen, tilghman


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@230994 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-24 04:58:44 +00:00
dvossel 4bd99584e5 Merged revisions 229669 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r229669 | dvossel | 2009-11-12 10:41:49 -0600 (Thu, 12 Nov 2009) | 6 lines
  
  fixes merging error, datastore was being freed in the wrong function.
  
  (closes issue #16219)
  Reported by: aragon
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@229670 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-12 16:44:39 +00:00
mnicholson c5f892ebec Merged revisions 228378 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r228378 | mnicholson | 2009-11-06 10:26:59 -0600 (Fri, 06 Nov 2009) | 8 lines
  
  Properly handle '=' while decoding base64 messages and null terminate strings returned from BASE64_DECODE.
  
  (closes issue #15271)
  Reported by: chappell
  Patches:
        base64_fix.patch uploaded by chappell (license 8)
  Tested by: kobaz
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@228620 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-06 19:47:11 +00:00
dvossel cfdf82e368 fixes memory leak in func_audiohookinherit.c
(closes issue #15394)
Reported by: boroda
Patches:
      bug15394_memoryleak_diff2.txt uploaded by dbrooks (license 790)
Tested by: dbrooks, boroda



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@228268 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-06 15:04:24 +00:00
mmichelson 3325741527 Fix XML in func_cdr.c
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@228233 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-05 22:59:02 +00:00
tilghman 3bacd4082e Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227580 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04 14:05:12 +00:00
mnicholson 899c3fed76 This patch adds a sequence field to CDRs that can be combined with the linkedid or uniqueid field to uniquely identify a CDR.
(closes issue #15180)
Reported by: Nick_Lewis
Patches:
      cdr-sequence10.diff uploaded by mnicholson (license 96)
Tested by: mnicholson


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227435 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-03 21:21:09 +00:00
oej a8d11b3ee9 Adding some clarifications to func_speex doxygen docs.
The functions needed doesn't exist in Speex 1.05 which is what a lot of distros use.
1.2 seems to have been in beta status for years, and does include the sexy functions needed for func_speex to work.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227237 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-03 16:56:48 +00:00
rmudgett d7a3a1035d Add support for calling and called subaddress. Partial support for COLP subaddress.
The Telecom Specs in NZ suggests that SUB ADDRESS is always on, so doing
"desk to desk" between offices each with an asterisk box over the ISDN
should then be possible, without a whole load of DDI numbers required.

(closes issue #15604)
Reported by: alecdavis
Patches:
      asterisk_subaddr_trunk.diff11.txt uploaded by alecdavis (license 585)
      Some minor modificatons were made.
Tested by: alecdavis, rmudgett

Review: https://reviewboard.asterisk.org/r/405/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225357 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 16:33:22 +00:00
kpfleming 4f428997ca Finish implementaton of astobj2 OBJ_MULTIPLE, and convert ast_channel_iterator to use it.
This patch finishes the implementation of OBJ_MULTIPLE in astobj2 (the
case where multiple results need to be returned; OBJ_NODATA mode
already was supported). In addition, it converts ast_channel_iterators
(only the targeted versions, not the ones that iterate over all
channels) to use this method.

During this work, I removed the 'ao2_flags' arguments to the
ast_channel_iterator constructor functions; there were no uses of that
argument yet, there is only one possible flag to pass, and it made the
iterators less 'opaque'. If at some point in the future someone really
needs an ast_channel_iterator that does not lock the container, we can
provide constructor(s) for that purpose.

Review: https://reviewboard.asterisk.org/r/379/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225244 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 21:08:47 +00:00
tilghman 38f43cba1b Merged revisions 224855 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224855 | tilghman | 2009-10-20 17:07:11 -0500 (Tue, 20 Oct 2009) | 5 lines
  
  Pay attention to the return value of the manipulate function.
  While this looks like an optimization, it prevents a crash from occurring
  when used with certain audiohook callbacks (diagnosed with SVN trunk,
  backported to 1.4 to keep the source consistent across versions).
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224856 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-20 22:09:07 +00:00
kpfleming e299cf0653 Recorded merge of revisions 222152 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines
  
  Fix ao2_iterator API to hold references to containers being iterated.
  
  See Mantis issue for details of what prompted this change.
  
  Additional notes:
  
  This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK
  has become an enum instead of a macro, with a name that fits our
  naming policy; also, it is now necessary to call
  ao2_iterator_destroy() on any iterator that has been
  created. Currently this only releases the reference to the container
  being iterated, but in the future this could also release other
  resources used by the iterator, if the iterator implementation changes
  to use additional resources.
  
  (closes issue #15987)
  Reported by: kpfleming
  
  Review: https://reviewboard.asterisk.org/r/383/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@222176 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-06 01:24:24 +00:00
mnick cba2c67301 Merged revisions 221153,221157,221303 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221153 | mnick | 2009-09-30 10:37:39 -0500 (Wed, 30 Sep 2009) | 2 lines
  
  check bounds - prevents for buffer overflow
........
  r221157 | mnick | 2009-09-30 10:41:46 -0500 (Wed, 30 Sep 2009) | 8 lines
  
  added a new dialplan function 'CSV_QUOTE' and changed the cdr_custom.sample.conf
  
  (closes issue #15471)
  Reported by: dkerr
  Patches:
        csv_quote_14.txt uploaded by mnick (license )
  Tested by: mnick
........
  r221303 | mnick | 2009-09-30 14:02:00 -0500 (Wed, 30 Sep 2009) | 2 lines
  
  changed the prototype definition of csv_quote
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221368 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 19:42:36 +00:00
tilghman d562aee1a3 Allow locks to be inherited through a masquerade without causing starvation.
(closes issue #14859)
 Reported by: atis
 Patches: 
       20090821__issue14859.diff.txt uploaded by tilghman (license 14)
       20090925__issue14859__1.6.1.diff.txt uploaded by tilghman (license 14)
 Tested by: atis, tilghman


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221044 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 04:32:36 +00:00
mvanbaak c2a0f204a3 add name argument for the CALLERID dialplan function to the xml documentation.
Pointed out to me on IRC by snuff-home. Thanks


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220629 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-27 20:40:16 +00:00
tilghman 40563b4d1c Allow multiple rows to be fetched within the normal mode of operation.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216846 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-07 17:15:37 +00:00
tilghman dc61593f9a Add MASTER_CHANNEL() dialplan function, as well as a useful usage.
(closes issue #13140)
 Reported by: cpina
 Patches: 
       20090807__issue13140.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen
 Change-type: feature


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@215301 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-01 23:41:06 +00:00
oej d000fabce0 By copying this code I got bad comments in reviewboard... Better fix the original.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@215023 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-31 18:17:38 +00:00
tilghman 3203e40f43 Add SSL_VERIFYPEER, as requested on the -users list
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212249 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-14 17:36:40 +00:00
tilghman d1ec1aa57d AST-2009-005
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211539 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 19:20:57 +00:00
dbrooks 041c6da20c Fixes numerous spelling errors. Patch submitted by alecdavis.
(closes issue #15595)
Reported by: alecdavis



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@209554 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-30 16:07:05 +00:00
tilghman a9f8de0420 Merged revisions 207945 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r207945 | tilghman | 2009-07-21 17:38:54 -0500 (Tue, 21 Jul 2009) | 8 lines
  
  Force an error if a blank is passed to QUOTE (because the documentation states the argument is not optional).
  This change makes URIENCODE and QUOTE behave similarly, since the documentation
  states that the argument is not optional, for both.
  (closes issue #15439)
   Reported by: pkempgen
   Patches: 
         20090706__issue15439.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207946 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21 22:45:32 +00:00
kpfleming 3dbaf0de9a Merged revisions 207647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r207647 | kpfleming | 2009-07-21 08:04:44 -0500 (Tue, 21 Jul 2009) | 12 lines
  
  Ensure that user-provided CFLAGS and LDFLAGS are honored.
  
  This commit changes the build system so that user-provided flags (in ASTCFLAGS
  and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided
  by the build system itself, so that the user can effectively override the
  build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now
  be provided *either* in the environment before running 'make', or as variable
  assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS
  is no longer necessary, so they are no longer documented, but are still supported
  so as not to break existing build systems that supply them when building Asterisk.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207680 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21 13:28:04 +00:00
dvossel 189a5d94f5 TIMEOUT(absolute) returned negative value.
(closes issue #15513)
Reported by: ys



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@206877 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-16 21:45:14 +00:00
tilghman 44d46d056f Merged revisions 206807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r206807 | tilghman | 2009-07-16 11:27:35 -0500 (Thu, 16 Jul 2009) | 6 lines
  
  Fix a memory leak.
  (closes issue #15517)
   Reported by: adomjan
   Patches: 
         func_realtime.c-ast_variable_destroy.diff uploaded by adomjan (license 487)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@206808 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-16 16:51:05 +00:00
mnicholson 965fcb9d6f Convert func_odbc to use ast_dummy_alloc_channel()
Review: https://reviewboard.asterisk.org/r/290/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@205666 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-09 20:04:43 +00:00
seanbright 0071975778 Support setting and receiving Reverse Charging Indication over ISDN PRI.
This is a continuation of revision 885 to LibPRI (Capture and expose the Reverse
Charging Indication IE on ISDN PRI) which added the ability to get/set Reverse
Charging Indication in LibPRI.  This patch adds the ability to specify RCI on
the outbound leg of a PRI call from within Asterisk, by prefixing the dialed
number with a capital 'C' like:

...,Dial(DAHDI/g1/C4445556666)

And to read it off an inbound channel:

exten => s,1,Set(RCI=${CHANNEL(reversecharge)})

Thanks again to rmudgett for the thorough review.

(closes issue #13760)
Reported by: mrgabu

Review: https://reviewboard.asterisk.org/r/303/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@204749 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-02 17:46:14 +00:00
russell ac3b35dcc7 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

Review: https://reviewboard.asterisk.org/r/239/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203638 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26 15:28:53 +00:00
tilghman b6e8c84d13 Clarify CUT code, and in the process, fix a bug in trunk only
(closes issue #15320)
 Reported by: chappell
 Patches: 
       cut_fix.patch uploaded by chappell (license 8)
       cut_clarify.patch uploaded by chappell (license 8)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201745 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-18 18:24:23 +00:00
kpfleming 5fa0b7c277 More 'static' qualifiers on module global variables.
The 'pglobal' tool is quite handy indeed :-)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200620 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-15 17:34:30 +00:00
eliel 501ad299ad Move function SYSINFO documentation to XML.
Move function SYSINFO static documentation to the new AstXML form.

(issue #15245)
Reported by: eliel
Patches:
      func_sysinfo_static_conversion.txt uploaded by lmadsen (license 10)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@199374 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-06 21:56:58 +00:00
tilghman d79b32623f Add INCrement and DECrement functions
(closes issue #15025)
 Reported by: greenfieldtech
 Patches: 
       func_math.c.patch_v4 uploaded by greenfieldtech (license 369)
       slightly modified by me
 Tested by: greenfieldtech, lmadsen


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@198725 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-01 20:33:50 +00:00
tilghman b28431fd17 Fix documentation for FIELDQTY.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@198470 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-31 17:52:28 +00:00
tilghman 15b8686c57 Recorded merge of revisions 197194 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r197194 | tilghman | 2009-05-27 14:09:42 -0500 (Wed, 27 May 2009) | 5 lines
  
  Use a different determinator on whether to print the delimiter, since leading fields may be blank.
  (closes issue #15208)
   Reported by: ramonpeek
   Patch by me, though inspired in part by a patch from ramonpeek
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@197209 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-27 19:20:56 +00:00
kpfleming 230a66da7d Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

Review: https://reviewboard.asterisk.org/r/251/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196072 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-21 21:13:09 +00:00
kpfleming f58bc31e46 add 'const' qualifiers in various places where they should have been
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@193832 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-12 13:59:35 +00:00
lmadsen c23b7c5d12 Recorded merge of revisions 193544 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r193544 | lmadsen | 2009-05-11 13:35:17 -0400 (Mon, 11 May 2009) | 7 lines
  
  Document CHANNEL(transfercapability) in CLI documentation.
  
  (issue #15073)
  Reported by: pkempgen
  Patches:
        20090511__issue15073.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@193545 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-11 18:01:44 +00:00
seanbright 5c6e7815cb Fix the spelling of UNAVAILABLE in func_devstate CLI completion.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@193274 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-08 15:18:40 +00:00
tilghman ad0a92b9a4 Second result should not contain data from the first result.
(closes issue #15039)
 Reported by: jims
 Patches: 
       20090506__issue15039.diff.txt uploaded by tilghman (license 14)
 Tested by: jims


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@193006 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-07 17:51:13 +00:00
tilghman 8fc2c0f724 Merge str_substitution branch.
This branch adds additional methods to dialplan functions, whereby the result
buffers are now dynamic buffers, which can be expanded to the size of any
result.  No longer are variable substitutions limited to 4095 bytes of data.
In addition, the common case of needing buffers much smaller than that will
enable substitution to only take up the amount of memory actually needed.
The existing variable substitution routines are still available, but users
of those API calls should transition to using the dynamic-buffer APIs.
Reviewboard: http://reviewboard.digium.com/r/174/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191140 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-29 18:53:01 +00:00
rmudgett 36963c1bce Make PTP DivertingLegInformation3 message behavior closer to the specifications.
*  Wait for a DivertingLegInformation3 message after receiving a
DivertingLegInformation1 message to complete the redirecting-to information
before queuing a redirecting update to the other channel.

*  A DivertingLegInformation2 message should be responded to with a
DivertingLegInformation3 when the COLR is determined.  If the call
could or does experience another redirection, you should manually
determine the COLR to send to the switch by setting REDIRECTING(to-pres)
to the COLR and setting REDIRECTING(to-num) = ${EXTEN}.

*  A DivertingLegInformation2 message must have an original called number
if the redirection count is greater than one.  Since Asterisk does
not keep track of this information, we can only indicate that the
number is not available due to interworking.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190735 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-27 20:03:49 +00:00
rmudgett baf54d0843 There is no need to use the struct ast_party_connected_line.source update values.
The messages sent by a technology when a connected line update is received
are best determined by the current call state of the channel.  The struct
ast_party_connected_line.source value is really only useful as a possible
tracing aid.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190517 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-24 17:59:01 +00:00
russell 89175b7e04 Convert the ast_channel data structure over to the astobj2 framework.
There is a lot that could be said about this, but the patch is a big 
improvement for performance, stability, code maintainability, 
and ease of future code development.

The channel list is no longer an unsorted linked list.  The main container 
for channels is an astobj2 hash table.  All of the code related to searching 
for channels or iterating active channels has been rewritten.  Let n be 
the number of active channels.  Iterating the channel list has gone from 
O(n^2) to O(n).  Searching for a channel by name went from O(n) to O(1).  
Searching for a channel by extension is still O(n), but uses a new method 
for doing so, which is more efficient.

The ast_channel object is now a reference counted object.  The benefits 
here are plentiful.  Some benefits directly related to issues in the 
previous code include:

1) When threads other than the channel thread owning a channel wanted 
   access to a channel, it had to hold the lock on it to ensure that it didn't 
   go away.  This is no longer a requirement.  Holding a reference is 
   sufficient.

2) There are places that now require less dealing with channel locks.

3) There are places where channel locks are held for much shorter periods 
   of time.

4) There are places where dealing with more than one channel at a time becomes 
   _MUCH_ easier.  ChanSpy is a great example of this.  Writing code in the 
   future that deals with multiple channels will be much easier.

Some additional information regarding channel locking and reference count 
handling can be found in channel.h, where a new section has been added that 
discusses some of the rules associated with it.

Mark Michelson also assisted with the development of this patch.  He did the 
conversion of ChanSpy and introduced a new API, ast_autochan, which makes it 
much easier to deal with holding on to a channel pointer for an extended period 
of time and having it get automatically updated if the channel gets masqueraded.
Mark was also a huge help in the code review process.

Thanks to David Vossel for his assistance with this branch, as well.  David 
did the conversion of the DAHDIScan application by making it become a wrapper 
for ChanSpy internally.

The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.

Review: http://reviewboard.digium.com/r/203/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190423 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-24 14:04:26 +00:00
twilson f9a7e89b8a Fix example that could fail in certain circumstances
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190154 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-23 00:44:18 +00:00
jpeeler f3943d3662 Fix building of chan_h323 with gcc-3.3
There seems to be a bug with old versions of g++ that doesn't allow a structure
member to use the name list. Rename list member to group_list in ast_group_info
and change the few places it is used.

(closes issue #14790)
Reported by: stuarth


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190057 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-22 21:15:55 +00:00
twilson a4012d9519 Add funcs for manipulating delimited lists in the dialplan
Adds PUSH and POP for appending to and retrieving/removing from the
end of a list and UNSHIFT and SHIFT for insert to and retrieiving/
removing from the beginning of a list.

Review: http://reviewboard.digium.com/r/230


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190000 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-22 20:07:41 +00:00
tilghman f0f84bc88d If the first column is empty, output a delimiter anyway.
(closes issue #14848)
 Reported by: john8675309
 Patches: 
       20090408__bug14848.diff.txt uploaded by tilghman (license 14)
 Tested by: john8675309


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187050 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-08 17:08:43 +00:00