Commit Graph

665 Commits

Author SHA1 Message Date
Matthew Nicholson 728fbf077e Convert func_odbc to use ast_dummy_alloc_channel()
Review: https://reviewboard.asterisk.org/r/290/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@205666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 20:04:43 +00:00
Sean Bright 719917fe59 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: https://origsvn.digium.com/svn/asterisk/trunk@204749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-02 17:46:14 +00:00
Russell Bryant 0264eef115 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: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 15:28:53 +00:00
Tilghman Lesher e1fa477ba7 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: https://origsvn.digium.com/svn/asterisk/trunk@201745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18 18:24:23 +00:00
Kevin P. Fleming 82fb56886e More 'static' qualifiers on module global variables.
The 'pglobal' tool is quite handy indeed :-)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 17:34:30 +00:00
Eliel C. Sardanons 65afefff9c 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: https://origsvn.digium.com/svn/asterisk/trunk@199374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-06 21:56:58 +00:00
Tilghman Lesher 0fb1700522 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: https://origsvn.digium.com/svn/asterisk/trunk@198725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 20:33:50 +00:00
Tilghman Lesher ba6f16d55f Fix documentation for FIELDQTY.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-31 17:52:28 +00:00
Tilghman Lesher 551cf35ab7 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: https://origsvn.digium.com/svn/asterisk/trunk@197209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27 19:20:56 +00:00
Kevin P. Fleming e6b2e9a750 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: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 21:13:09 +00:00
Kevin P. Fleming 1c988d8996 add 'const' qualifiers in various places where they should have been
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 13:59:35 +00:00
Leif Madsen 9408242796 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: https://origsvn.digium.com/svn/asterisk/trunk@193545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-11 18:01:44 +00:00
Sean Bright 0595e95a71 Fix the spelling of UNAVAILABLE in func_devstate CLI completion.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-08 15:18:40 +00:00
Tilghman Lesher e346cbb9bc 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: https://origsvn.digium.com/svn/asterisk/trunk@193006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-07 17:51:13 +00:00
Tilghman Lesher a866a75900 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: https://origsvn.digium.com/svn/asterisk/trunk@191140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-29 18:53:01 +00:00
Richard Mudgett 89d06c7759 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: https://origsvn.digium.com/svn/asterisk/trunk@190735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-27 20:03:49 +00:00
Richard Mudgett c95c065903 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: https://origsvn.digium.com/svn/asterisk/trunk@190517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 17:59:01 +00:00
Russell Bryant cba19c8a67 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: https://origsvn.digium.com/svn/asterisk/trunk@190423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 14:04:26 +00:00
Terry Wilson 1ce1f1bb1f Fix example that could fail in certain circumstances
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-23 00:44:18 +00:00
Jeff Peeler 11ac1f7e11 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: https://origsvn.digium.com/svn/asterisk/trunk@190057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-22 21:15:55 +00:00
Terry Wilson 3fb648d8fa 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: https://origsvn.digium.com/svn/asterisk/trunk@190000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-22 20:07:41 +00:00
Tilghman Lesher 61e241a5d1 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: https://origsvn.digium.com/svn/asterisk/trunk@187050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 17:08:43 +00:00
Mark Michelson 02b56bb7d2 Silly svn. These files didn't get merged over in the merge of the issue8824 branch.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-06 16:06:25 +00:00
Russell Bryant 16fc1993ef Add support for the "name" option in the CHANNEL() function.
Review: http://reviewboard.digium.com/r/199/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 21:28:04 +00:00
Tilghman Lesher 96a699c065 Fix an off-by-one error in the FILE() function, and extend FILE()'s length parameter to work like variable substitution.
Previously, FILE() returned one less character than specified, due to the
terminating NULL.  Both the offset and length parameters now behave
identically to the way variable substitution offsets and lengths also work.
(closes issue #14670)
 Reported by: BMC


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 17:33:38 +00:00
Tilghman Lesher a1f583177e ODBC transaction support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-19 00:26:01 +00:00
Russell Bryant 4ec301360c Merge a large set of updates to the Asterisk indications API.
This patch includes a number of changes to the indications API.  The primary
motivation for this work was to improve stability.  The object management
in this API was significantly flawed, and a number of trivial situations could
cause crashes.

The changes included are:

1) Remove the module res_indications.  This included the critical functionality
   that actually loaded the indications configuration.  I have seen many people
   have Asterisk problems because they accidentally did not have an
   indications.conf present and loaded.  Now, this code is in the core,
   and Asterisk will fail to start without indications configuration.

   There was one part of res_indications, the dialplan applications, which did
   belong in a module, and have been moved to a new module, app_playtones.

2) Object management has been significantly changed.  Tone zones are now
   managed using astobj2, and it is no longer possible to crash Asterisk by
   issuing a reload that destroys tone zones while they are in use.

3) The API documentation has been filled out.

4) The API has been updated to follow our naming conventions.

5) Various bits of code throughout the tree have been updated to account
   for the API update.

6) Configuration parsing has been mostly re-written.

7) "Code cleanup"

The code is from svn/asterisk/team/russell/indications/.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17 20:41:24 +00:00
Tilghman Lesher 4ac9617be5 Add assertions in the quest to track down a refcount leak.
(closes issue #14485)
 Reported by: davevg


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17 18:49:20 +00:00
Tilghman Lesher a2ddc0bb5e Don't increment the loop, now that incrementing is taken care of by the
decoder function.
(closes issue #14363)
 Reported by: andrew53
 Patches: 
       func_strings_filter.patch uploaded by andrew53 (license 519)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@172706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-31 16:40:59 +00:00
Tilghman Lesher 402c61117a Parameter position reversed in documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@172548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-30 18:36:56 +00:00
Mark Michelson dda3fd446f Fix some signedness problems in func_aes.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@171797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-28 00:17:55 +00:00
David Vossel abf70664ab Adding AES_ENCRYPT and AES_DECRYPT dialplan functions.
(closes issue #14301)
Reported by: amorsen

review: http://reviewboard.digium.com/r/128/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@171757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-27 22:43:36 +00:00
Kevin P. Fleming 1c2911f5a1 ast_str_SQLGetData is *not* part of the ast_str API, it's part of the ast_odbc API and just happens to use an ast_str as the buffer; move all of it to res_odbc.c and res_odbc.h, renaming appropriately
along the way fix some minor coding style issues in strings.h and add some attribute_pure annotations to functions in the ast_str API



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@169438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-19 21:42:46 +00:00
Kevin P. Fleming 9a7efae8fd remove the PBX_ODBC logic from the configure script, and add GENERIC_ODCB logic that includes copying the relevant LIB and INCLUDE data from either UnixODBC or iODBC, based on which was found; if both were found, prefer UnixODBC
this stops modules from being linked against both sets of libraries on systems that have both installed



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-15 20:18:53 +00:00
Russell Bryant ef6ad2b53c Merged revisions 168561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r168561 | russell | 2009-01-13 13:13:05 -0600 (Tue, 13 Jan 2009) | 2 lines

Revert unnecessary indications API change from rev 122314

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-13 19:22:13 +00:00
Tilghman Lesher f19a4fc941 Merged revisions 168546 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r168546 | tilghman | 2009-01-13 11:48:00 -0600 (Tue, 13 Jan 2009) | 6 lines
  
  If either conditional is NULL, don't try copying it.
  (closes issue #14226)
   Reported by: caspy
   Patches: 
         20090113__bug14226.diff.txt uploaded by Corydon76 (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-13 17:51:12 +00:00
Eliel C. Sardanons c04417b477 Fix a typo in the XML documentation of the AUDIOHOOK_INHERIT dialplan function.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-28 15:36:25 +00:00
Mark Michelson 9f7ce9da41 Fix a file playback crash and explicitly initialize values in func_timeout.c
A crash was brought up on the bugtracker. The first run through valgrind
was full of legitimate complaints of uninitialized values in func_timeout when
setting a response timeout. These were fixed but the crash persisted.

A second run through showed the real problem. The reference counting used
for filestreams was incorrect because there were some missing increments
when a frame was read from a format module.

(closes issue #14118)
Reported by: blitzrage
Patches:
      14118v2.patch uploaded by putnopvut (license 60)
Tested by: blitzrage



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 16:07:59 +00:00
Mark Michelson c4ea017532 Remove the verbatim tag from the author line
I could have sworn I already did that before, though...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 22:40:57 +00:00
Mark Michelson 9733b30ff0 Adding a new dialplan function AUDIOHOOK_INHERIT
This function is being added as a method to allow for
an audiohook to move to a new channel during a channel
masquerade. The most obvious use for such a facility is
for MixMonitor when a transfer is performed. Prior to
the addition of this functionality, if a channel 
running MixMonitor was transferred by another party, then
the recording would stop once the transfer had completed.
By using AUDIOHOOK_INHERIT, you can make MixMonitor 
continue recording the call even after the transfer
has completed.

It has also been determined that since this is seen
by most as a bug fix and is not an invasive change,
this functionality will also be backported to 1.4 and
merged into the 1.6.0 branches, even though they are
feature-frozen.

(closes issue #13538)
Reported by: mbit
Patches:
      13538.patch uploaded by putnopvut (license 60)
	  Tested by: putnopvut

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 22:26:16 +00:00
Tilghman Lesher 27cbfc1bd5 Add timezone to the possible fields in a timespec.
(closes issue #14028)
 Reported by: mostyn
 Patches: 
       timezone-v2.patch uploaded by mostyn (license 398)
       (with additional code guideline fixes and a memory leak fix by me - license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 22:57:17 +00:00
Tilghman Lesher c8223fc957 Merge ast_str_opaque branch (discontinue usage of ast_str internals)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-13 08:36:35 +00:00
Russell Bryant 9d3a417eb5 Merged revisions 163253 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r163253 | russell | 2008-12-11 15:46:29 -0600 (Thu, 11 Dec 2008) | 8 lines

Fix some observed slowdowns in dialplan processing.

The change is to remove autoservice usage from dialplan functions that do not
need it because they do not perform operations that potentially block.

(closes issue #13940)
Reported by: tbelder

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 21:48:08 +00:00
Eliel C. Sardanons ec28f57c41 Avoid allocating memory for a thread that don't need it. Also, this memory was not being freed until the
main thread ends. (That is never).

(closes issue #14040)
Reported by: eliel
Patches:
      func_odbc.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 14:49:30 +00:00
Richard Mudgett 64a1895f3c Jcolp pointed out that num will also match number
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 01:36:39 +00:00
Richard Mudgett 7ed9924348 * Found a couple more places where num/number needed to be done
so 1.4 upgraders will not have problems.
*  Added curly braces and minor tweaks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 01:14:22 +00:00
Steve Murphy c6ebdafd0e Merged revisions 160703 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r160703 | murf | 2008-12-03 13:41:42 -0700 (Wed, 03 Dec 2008) | 11 lines

(closes issue #13597)
Reported by: john8675309
Patches:
      patch.13597 uploaded by murf (license 17)
Tested by: murf, john8675309

This patch causes the setcid func to update the CDR
clid after setting the channel field.

I also notice that in trunk, the num/number of 1.4 is
left out; I decided to include the option to use
either in trunk, so as not to have 1.4 upgraders
not to have problems.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-03 21:09:15 +00:00
Kevin P. Fleming 9a7c28cd5a we can now build with -Wformat=2, which found a couple of real bugs
because SPRINTF() use non-literal format strings (which cannot be checked), move it into its own module so the rest of func_strings can benefit from format string checking



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-29 15:29:33 +00:00
Sean Bright fd8caa1778 This is basically a complete rollback of r155401, as it was determined that
it would be best to maintain API compatibility.  Instead, this commit introduces
ao2_callback_data() which is functionally identical to ao2_callback() except
that it allows you to pass arbitrary data to the callback.

Reviewed by Mark Michelson via ReviewBoard:
	http://reviewboard.digium.com/r/64


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 01:01:49 +00:00
Michiel van Baak 2fb4ecc87c last commit worked on OpenBSD but still generated warning on Ubuntu.
Initialise a variable so --enable-dev-mode does not complain


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 17:17:33 +00:00
Michiel van Baak 12071c18f0 make this compile under devmode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 15:58:49 +00:00
Tilghman Lesher e316c21986 Two new functions, REALTIME_FIELD, and REALTIME_HASH, which should make
querying realtime from the dialplan a little more consistent and easy to use.
The original REALTIME function is preserved, for those who are already
accustomed to that interface.
(closes issue #13651)
 Reported by: Corydon76
 Patches: 
       20081119__bug13651__2.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage, Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 21:54:39 +00:00
Michiel van Baak 86f900b201 This commit does two things:
- Add CLI aliases module to asterisk.
- Remove all deprecated CLI commands from the code

Initial work done by file.
Junk-Y and lmadsen did a lot of work and testing to
get the list of deprecated commands into the configuration file.

Deprecated CLI commands are now handled by this new module,
see cli_aliases.conf for more info about that.

ok russellb@ via reviewboard

(closes issue #13735)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@156120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-12 06:46:04 +00:00
Sean Bright 30d1744ffc Add ability to pass arbitrary data to the ao2_callback_fn (called from
ao2_callback and ao2_find).  Currently, passing OBJ_POINTER to either
of these mandates that the passed 'arg' is a hashable object, making
searching for an ao2 object based on outside criteria difficult.

Reviewed by Russell and Mark M. via ReviewBoard:
    http://reviewboard.digium.com/r/36/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-07 22:39:30 +00:00
Tilghman Lesher 5434edd7ab Two bugs relating to colnames found by Marquis42 on #asterisk-dev
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-07 22:03:50 +00:00
Tilghman Lesher 0d25ddd366 Add LISTFILTER dialplan function, along with supporting documentation. See
documentation for more information on how to use it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-05 21:58:48 +00:00
Eliel C. Sardanons d23dff9ca8 - Add some see-also references based on TFOT.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-05 12:13:57 +00:00
Kevin P. Fleming 448562af93 improve configure script to remember the previous value of each dependency in build_tools/menuselect-deps, so that (once it has been written) menuselect can use this information to warn the user when a previously met dependency is no longer met
along the way, change tags used in configure script, menuselect-deps and code for various dependencies to be consistently named



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-04 15:07:54 +00:00
Tilghman Lesher c9b2491e40 Should have passed the string pointer, not the ast_str structure.
(closes issue #13830)
 Reported by: Marquis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-03 21:01:30 +00:00
Kevin P. Fleming bd4eb070f3 bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 branch, and add the ones needed for all the new code here too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-02 18:52:13 +00:00
Russell Bryant 6f314f4d42 Fix various spelling and grammatical issues in documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-02 02:50:33 +00:00
Russell Bryant 5b168ee34b Merge changes from team/group/appdocsxml
This commit introduces the first phase of an effort to manage documentation of the
interfaces in Asterisk in an XML format.  Currently, a new format is available for
applications and dialplan functions.  A good number of conversions to the new format
are also included.

For more information, see the following message to asterisk-dev:

http://lists.digium.com/pipermail/asterisk-dev/2008-October/034968.html


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-01 21:10:07 +00:00
Tilghman Lesher 46abb39ca2 Failover for func_odbc, allowing an INSERT query to be performed when the UPDATE query initially
affects 0 rows.
(closes issue #13083)
 Reported by: Corydon76
 Patches: 
       20081031__bug13083.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-31 17:18:49 +00:00
Russell Bryant be467d0cea - spaces to tabs
- add some braces
 - remove unnecessary cast


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@152875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-30 19:18:16 +00:00
Sean Bright eaf647bac2 Merged revisions 152059 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r152059 | seanbright | 2008-10-26 16:23:36 -0400 (Sun, 26 Oct 2008) | 7 lines

Since passing \0 as the second argument to strchr is valid (and will
match the trailing \0 of a string) we need to check that first, otherwise
we end up with incorrect results.  Fix suggested by reporter.

(closes issue #13787)
Reported by: meitinger

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@152060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-26 20:25:08 +00:00
Terry Wilson c74e85a23a allow to compile under --enable-dev-mode (gcc didn't actually complain when I was using ccache...)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@151830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-23 21:27:35 +00:00
Tilghman Lesher a45c3a8729 Simplify some nested functions, as suggested by Russell on -dev
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@151732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-23 15:28:43 +00:00
Tilghman Lesher 107d4284ae Added debugging CLI functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@151682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-22 22:11:31 +00:00
Tilghman Lesher 1f0433327f Permit data fields to contain more than 255 characters.
(closes issue #13631)
 Reported by: seanbright
 Patches: 
       20081015__bug13631.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@149687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-15 19:07:39 +00:00
Tilghman Lesher 8460fd9bfd Only set buf to blank before the goto.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@149640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-15 17:16:00 +00:00
Sean Bright ceee55ea63 Keep up with shadow warnings. One day I'll actually enable this in the Makefile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@147457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-08 12:15:06 +00:00
Richard Mudgett c2d9b9c009 Independent change from branch issue8824 that is not part of COLP. (-r142574 rmudgett)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@147011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-07 02:02:39 +00:00
Michiel van Baak 4560279c69 All ODBC parts can now use either unixodbc or iodbc.
This allows for the ODBC parts to work on OpenBSD as well.

99.99% of the work is done by seanbright (bow, bow) and I actually
did nothing but test and yell at him that it still didn't work :)

Thanks for helping out !


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@146925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-06 23:14:33 +00:00
Tilghman Lesher 63b165dbb9 Merged revisions 146799 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r146799 | tilghman | 2008-10-06 15:52:04 -0500 (Mon, 06 Oct 2008) | 8 lines
  
  Dialplan functions should not actually return 0, unless they have modified the
  workspace.  To signal an error (and no change to the workspace), -1 should be
  returned instead.
  (closes issue #13340)
   Reported by: kryptolus
   Patches: 
         20080827__bug13340__2.diff.txt uploaded by Corydon76 (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@146802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-06 21:09:05 +00:00
Tilghman Lesher cf06228a2f Permit the syntax and synopsis fields to be set (for func_odbc).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-02 17:16:54 +00:00
Tilghman Lesher 529874de7b Add schedule extensions to app_meetme. In addition, the reporter found a
problem within strptime(3), which we are correcting here with ast_strptime().
(closes issue #11040)
 Reported by: DEA
 Patches: 
       20080910__bug11040.diff.txt uploaded by Corydon76 (license 14)
 Tested by: DEA


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-01 23:02:25 +00:00
Steve Murphy e74584ca3c (closes issue #13557)
Reported by: nickpeirson

The user attached a patch, but the license is not yet
recorded. I took the liberty of finding and replacing
ALL index() calls with strchr() calls, and that
involves more than just main/pbx.c;

chan_oss, app_playback, func_cut also had calls
to index(), and I changed them out. 1.4 had no
references to index() at all.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@144569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-25 22:21:28 +00:00
Tilghman Lesher bbd860dc65 Create a 'hashcompat' option that permits the results of a CURL() able to be
passed directly into the HASH() function.  Requested via the -users list, and
committed at Astricon in the Code Zone.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@144199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-24 06:43:05 +00:00
Tilghman Lesher 08af5bb312 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Michiel van Baak e62660c956 make func_curl.c compile under devmode.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-07 00:04:05 +00:00
Tilghman Lesher 352d770eb7 Get rid of the casts that cause warnings on OpenBSD. The compiler is errantly
detecting warnings when we redefine a structure each time it is used, even
though the structure is identical.
Reported by: mvanbaak, via #asterisk-dev


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-06 15:40:15 +00:00
Mark Michelson 57c056b5aa Fix func_curl compilation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-05 22:03:26 +00:00
Tilghman Lesher 2c738041bd Add the CURLOPT dialplan function, which permits setting various options for
use with the CURL dialplan function.
(closes issue #12920)
 Reported by: davevg
 Patches: 
       20080904__bug12920.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76, davevg


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-05 19:12:03 +00:00
Mark Michelson 5dfefa5ee6 Merged revisions 140488 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r140488 | mmichelson | 2008-08-29 12:34:17 -0500 (Fri, 29 Aug 2008) | 22 lines

After working on the ao2_containers branch, I noticed
something a bit strange. In all cases where we provide
a callback function to ao2_container_alloc, the callback
function would only return 0 or CMP_MATCH. After inspecting
the ao2_callback() code carefully, I found that if you're
only looking for one specific item, then you should return
CMP_MATCH | CMP_STOP. Otherwise, astobj2 will continue
traversing the current bucket until the end searching for
more matches.

In cases like chan_iax2 where in 1.4, all the peers are
shoved into a single bucket, this makes for potentially
terrible performance since the entire bucket will be
traversed even if the peer is one of the first ones come
across in the bucket.

All the changes I have made were for cases where the 
callback function defined was passed to ao2_container_alloc
so that calls to ao2_find could find a unique instance
of whatever object was being stored in the container.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-29 17:47:17 +00:00
Tilghman Lesher 6c619b97c9 Merged revisions 138023 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r138023 | tilghman | 2008-08-15 09:51:12 -0500 (Fri, 15 Aug 2008) | 8 lines

Additional check for more string specifiers than arguments.
(closes issue #13299)
 Reported by: adomjan
 Patches: 
       20080813__bug13299.diff.txt uploaded by Corydon76 (license 14)
       func_strings.c-sprintf.patch uploaded by adomjan (license 487)
 Tested by: adomjan

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-15 15:03:32 +00:00
Sean Bright 16f8480882 Continue merging in changes from resolve-shadow-warnings. funcs/ this time.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 01:07:40 +00:00
Tilghman Lesher 24c39b30f1 Persist DIALGROUP() values in astdb
(closes issue #13138)
 Reported by: Corydon76
 Patches: 
       20080725__bug13138.diff.txt uploaded by Corydon76 (license 14)
 Tested by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 16:58:42 +00:00
Tilghman Lesher 475ee479e8 Use a dynamic buffer for rendered SQL, instead of hardcoding 2048 bytes. Also,
switch to using RWLISTs for the linked list of queries.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 14:51:51 +00:00
Kevin P. Fleming 7df8b8b848 make datastore creation and destruction a generic API since it is not really channel related, and add the ability to add/find/remove datastores to manager sessions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-05 16:56:11 +00:00
Russell Bryant 6787c68974 Merged revisions 134540 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r134540 | russell | 2008-07-30 14:52:53 -0500 (Wed, 30 Jul 2008) | 4 lines

Fix a memory leak in func_curl.  Every thread that used this function leaked
an allocation the size of a pointer.
(reported by jmls in #asterisk-dev)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-30 19:55:31 +00:00
Russell Bryant 4c372e41a2 Add a missing unlock within error handling
(closes issue #13176)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-27 21:12:14 +00:00
Brett Bryant d3538044af Fixes sysinfo operator issue also fixed elsewhere in r131445.
(issue #13057)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 21:54:08 +00:00
Russell Bryant 90f7ad4869 Add a \todo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-01 21:43:55 +00:00
Tilghman Lesher 41e496980b Separate the global initialization routines for cURL into its own separate
module.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 16:00:54 +00:00
Michiel van Baak 8e8359465b Older versions of GNU gcc do not allow 'NULL' as sentinel.
They want (char *)NULL as sentinel.
An example is OpenBSD (confirmed on 4.3) that ships with gcc 3.3.4

This commit introduces a contstant SENTINEL which is declared as:
#define SENTINEL ((char *)NULL)

All places I could test compile on my openbsd system are converted.
Update CODING-GUIDELINES to tell about this constant.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-19 20:48:33 +00:00
Tilghman Lesher b2ef18dab4 Add some more IAX2-specific information about the channel to the CHANNEL()
function and begin the transition from SIPCHANINFO() to just using CHANNEL().
(closes issue #12856)
 Reported by: mostyn
 Patches: 
       iax_and_sip_channel_info.patch uploaded by mostyn (license 398)
       (with some additional cleanup by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-15 15:21:16 +00:00
Steve Murphy 1cebe01dac Merged revisions 122046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r122046 | murf | 2008-06-12 07:47:34 -0600 (Thu, 12 Jun 2008) | 37 lines

(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/trunk@122091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 14:28:01 +00:00
Brett Bryant c1451b5537 This patch adds more detailed statistics for RTP channels, and provides an API call to access it, including maximums, minimums, standard deviatinos,
and normal deviations. Currently this is implemented for chan_sip, but could be added to the func_channel_read callbacks for the CHANNEL function 
for any channel that uses RTP.

(closes issue #10590)
Reported by: gasparz
Patches:
      chan_sip_c.diff uploaded by gasparz (license 219)
      rtp_c.diff uploaded by gasparz (license 219)
      rtp_h.diff uploaded by gasparz (license 219)
      audioqos-trunk.diff uploaded by snuffy (license 35)
      rtpqos-trunk-r119891.diff uploaded by sergee (license 138)
Tested by: jsmith, gasparz, snuffy, marsosa, chappell, sergee


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-05 16:24:19 +00:00
Tilghman Lesher 2f0abd23d2 Add a function, CHANNELS(), which retrieves a list of all active channels.
(closes issue #11330)
 Reported by: rain
 Patches: 
       func_channel-channel_list_function.diff uploaded by rain (license 327)
       (with some additional changes by me, mostly to meet coding guidelines)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 23:17:33 +00:00
Jason Parker f7eb823a7a Fix a few places where frame data was used directly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 17:10:53 +00:00
Luigi Rizzo 18065a175d Use casts or intermediate variables to remove a number
of platform/compiler-dependent warnings when handing
struct timeval fields, both reading and printing them.

It is a lost battle to handle the different ways struct timeval
is handled on the various platforms and compilers, so try
to be pragmatic and go through int/long which are universally
supported.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-15 10:56:29 +00:00
Russell Bryant ea3fb96b29 Re-introduce proper error handling that was removed in recent commits.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 17:42:17 +00:00
Claude Patry df1912cd4f since we unregister, that has not been properly registered, i standardized this.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-10 03:04:25 +00:00
Brett Bryant 65b8381550 The following patch adds new options and alters the default behavior of the ENUM* functions. The TXCIDNAME lookup function has also gotten a
new paramater. The new options for ENUM* functions include 'u', 's', 'i', and 'd' which return the full uri, trigger isn specific rewriting, look 
for branches into an infrastructure enum tree, or do a direct dns lookup of a number respectively. The new paramater for TXCIDNAME adds a 
zone-suffix argument for looking up caller id's in DNS that aren't e164.arpa.

This patch is based on the original code from otmar, modified by snuffy, and tested by jtodd, me, and others.

(closes issue #8089)
Reported by: otmar
Patches:
      20080508_bug8089-1.diff 
	- original code by otmar (license 480), 
	- revised by snuffy (license 35)
Tested by: oej, otmar, jtodd, Corydon76, snuffy, alexnikolov, bbryant


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 19:54:45 +00:00
Joshua Colp fc120bf827 Merged revisions 115327 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115327 | file | 2008-05-05 19:10:05 -0300 (Mon, 05 May 2008) | 2 lines

Make sure that either the main speex library contains preprocess functions or that speexdsp does. If both fail then speex stuff can not be built.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 22:13:57 +00:00
Tilghman Lesher b5a127daac Modify TIMEOUT() to be accurate down to the millisecond.
(closes issue #10540)
 Reported by: spendergrass
 Patches: 
       20080417__bug10540.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 23:06:23 +00:00
Brett Bryant e8c3130292 Add "read" capability to new libspeex functions in func_speex.c.
func_speex.c is based on contributions from Switchvox.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 18:28:38 +00:00
Brett Bryant 5634048c98 Add two new dialplan functions from libspeex for applying audio gain control
and denoising to a channel, AGC() and DENOISE(). Also included, is a change 
to the audiohook API to add a new function (ast_audiohook_remove) that can 
remove an audiohook from a channel before it is detached.

This code is based on a contribution from Switchvox.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 16:57:19 +00:00
Jeff Peeler 41fd7a6a21 (closes issue #6113)
Reported by: oej
Tested by: jpeeler

This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option.

Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-21 23:42:45 +00:00
Tilghman Lesher 91d1db8456 Merged revisions 113117 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113117 | tilghman | 2008-04-07 12:51:49 -0500 (Mon, 07 Apr 2008) | 3 lines

Force ast_mktime() to check for DST, since strptime(3) does not.
(Closes issue #12374)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-07 19:06:46 +00:00
Terry Wilson b02bc230af Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:43:34 +00:00
Russell Bryant d411087275 - Add Tilghman to the copyright info ... he wrote the hard part :)
- Remove some magic in unload_module that isn't needed.  Module use counts
   already ensure that the function isn't going to be in use at this point.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 17:06:37 +00:00
Tilghman Lesher b7f064eb24 Cache config files, when possible, for speed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 02:53:21 +00:00
Russell Bryant c89a4be6e7 remove documentation of an argument that i did not implement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 22:54:25 +00:00
Russell Bryant 67fd292f96 Add a trivial new dialplan function, AST_CONFIG(), which allows you to access
a variable from an Asterisk configuration file in the dialplan, or anywhere
else where dialplan functions can be used.

(Inspired by a discussion with Tilghman and Pari)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 22:21:19 +00:00
Tilghman Lesher 8718878490 Merged revisions 106552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106552 | tilghman | 2008-03-07 00:36:33 -0600 (Fri, 07 Mar 2008) | 6 lines

Safely use the strncat() function.
(closes issue #11958)
 Reported by: norman
 Patches: 
       20080209__bug11958.diff.txt uploaded by Corydon76 (license 14)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 06:54:47 +00:00
Russell Bryant 39b9f81016 Fix the SHARED() read callback to properly unlock the channel. This function
could not have worked, as it left the channel locked in all cases.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 00:45:39 +00:00
Russell Bryant 3b483f80d6 Simplify a trivial snprintf() with ast_copy_string()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 04:57:29 +00:00
Russell Bryant ebcefd1395 Add a "devstate change" CLI command to control custom device states. Also,
do some additional code cleanup and improvement in passing.

(closes issue #12106)
Reported by: nizon
Patches:
      devstate-patch.txt uploaded by nizon (license 415)
        -- Updated to trunk, and tab completion added by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-01 00:53:25 +00:00
Russell Bryant ec75edce0a fix this module
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-26 20:28:47 +00:00
Tilghman Lesher bf92cca5fa Use the readhandle for reads (closes issue #12069)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-26 06:43:16 +00:00
Tilghman Lesher 465b0c098d Shared space for variables (instead of letting other channels muck with your own)
(closes issue #11943)
 Reported by: ramonpeek
 Patches: 
       20080208__bug11943__2.diff.txt uploaded by Corydon76 (license 14)
 Tested by: jmls


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 21:56:19 +00:00
Tilghman Lesher 26755e3882 Context tracing for channels
(closes issue #11268)
 Reported by: moy
 Patches: 
       chantrace-datastored-encapsulated-rev94934.patch uploaded by moy (license 222)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-18 04:43:33 +00:00
Jason Parker 90c10e5cbc Merged revisions 103683 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r103683 | qwell | 2008-02-14 13:51:10 -0600 (Thu, 14 Feb 2008) | 5 lines

Document the 'l' option to the CDR() function.
(Thanks voipgate for pointing out the option, and Leif for providing text for it.)

Closes issue #11695.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-14 19:52:21 +00:00
Russell Bryant 1ec8cb41a8 Merge changes from team/mvanbaak/cli-command-audit
(closes issue #8925)

About a year ago, as Leif Madsen and Jim van Meggelen were going over the CLI
commands in Asterisk 1.4 for the next version of their book, they documented
a lot of inconsistencies.  This set of changes addresses all of these issues
and has been reviewed by Leif.

While this does introduce even more changes to the CLI command structure, it
makes everything consistent, which is the most important thing.

Thanks to all that helped with this one!


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-08 21:26:32 +00:00
Terry Wilson 6e7659e6b1 Add REALTIME_STORE and REALTIME_DESTROY dialplan functions provided by sergee.
I just added the ability to set multiple fields at once after discussions with
Tilghman and Russell.  Currently limited to 30 fields.

(closes issue #11887)
Reported by: sergee
Patches: 
      rt-func-store-destroy-multivalue.diff uploaded by otherwiseguy (license 396)
Tested by: sergee, otherwiseguy


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-06 16:23:22 +00:00
Tilghman Lesher d4d73b50a1 Merged revisions 102214 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r102214 | tilghman | 2008-02-03 23:10:02 -0600 (Sun, 03 Feb 2008) | 6 lines

Missing braces.
(closes issue #11912)
 Reported by: dimas
 Patches: 
       sprintf.patch uploaded by dimas (license 88)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-04 05:32:00 +00:00
Joshua Colp 7492c04a23 Add missing braces.
(closes issue #11886)
Reported by: sergee
Patches:
      func_realtime_fix-r101392.diff uploaded by sergee (license 138)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31 15:36:11 +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 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
Joshua Colp 8e1f8df431 Merged revisions 97697 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97697 | file | 2008-01-10 11:07:12 -0400 (Thu, 10 Jan 2008) | 6 lines

Don't try to copy the category from the group if no category exists.
(closes issue #11724)
Reported by: IgorG
Patches:
      group_count.v1.patch uploaded by IgorG (license 20)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 15:12:08 +00:00
Terry Wilson 3570ad103d Added a new module, res_phoneprov, which allows auto-provisioning of phones
based on configuration templates that use Asterisk dialplan function and
variable substitution.  It should be possible to create phone profiles and
templates that work for the majority of phones provisioned over http. It
is currently only intended to provision a single user account per phone.
An example profile and set of templates for Polycom phones is provided.
NOTE: Polycom firmware is not included, but should be placed in
AST_DATA_DIR/phoneprov/configs to match up with the included templates.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 21:37:26 +00:00
Joshua Colp d1a42bbcd9 Merged revisions 97152 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97152 | file | 2008-01-08 15:53:52 -0400 (Tue, 08 Jan 2008) | 4 lines

If no group has been provided to the GROUP_COUNT dialplan function then use the first one specific to the channel.
(closes issue #11077)
Reported by: m4him

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08 19:55:56 +00:00
Russell Bryant 54bc2c20b6 Now that the version.h file was getting properly regenerated every time the svn
revision changed, every module that used the version was getting rebuilt after
every svn update.  This severly annoyed me pretty quickly, so I have improved
the situation.

Now, instead of generating version.h, main/version.c is generated.  version.c
includes the version information, as well as a couple of API calls for modules
to retrieve the version.  So now, only version.c will get rebuilt, and the main
asterisk binary relinked, which is must faster than rebuilding http.c, manager.c,
asterisk.c, relinking the asterisk binary, chan_sip.c, func_version.c, res_agi ...

The only minor change in behavior here is that the version information reported by
chan_sip, for example, is the version of the Asterisk core, and not necessarily the
Asterisk version that the chan_sip module came from.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-05 22:09:06 +00:00
Mark Michelson 5107c5474c Change instances of AST_NONSTANDARD_APP_ARGS(foo, bar, ',') to AST_STANDARD_APP_ARGS(foo, bar)
(closes issue #11668, reported and patched by mvanbaak)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 21:08:33 +00:00
Luigi Rizzo b1c35179e6 implement "configure" checks for libiconv, and add the
iconv dependency for func_iconv.
This fixes some build issues on CYGWIN and FreeBSD and probably
other platforms where libiconv is not there by default



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-01 22:08:32 +00:00
Tilghman Lesher f3e2f0bb0a Merged revisions 95470 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r95470 | tilghman | 2007-12-31 14:27:26 -0600 (Mon, 31 Dec 2007) | 3 lines

Allow the default "0" to be returned if the STAT fails
(Closes issue #11659)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-31 20:33:21 +00:00
Olle Johansson 3acad631f8 This function checks more than just contexts...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-27 09:13:07 +00:00
Russell Bryant 55e3cb32cd Add a new dialplan function, DIALPLAN_EXISTS(), which allows you to check for
the existence of a dialplan target.

(closes issue #11579)
Reported by: irroot
Patches: 
      func_dialplan2.c uploaded by irroot (license 52)
	  -- Additional changes by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-26 18:54:21 +00:00
Kevin P. Fleming 100ef27af9 Merged revisions 93180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93180 | kpfleming | 2007-12-16 22:44:51 -0800 (Sun, 16 Dec 2007) | 23 lines

In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.

While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17 07:25:35 +00:00
Mark Michelson 74577dd091 I needed to increment the numbers used on the VERBOSITY_ATLEAST calls by 1.
Thanks to kpfleming for pointing this out.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 19:19:07 +00:00
Mark Michelson 83f152b95c Changed VERBOSITY_LEVEL to VERBOSITY_ATLEAST to be more accurate.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 18:54:48 +00:00
Mark Michelson 4f75e15665 After reading Russell's e-mail to the dev list stating that checking option_verbose is not
equivalent to the check done by ast_verb, I wrote a macro, VERBOSITY_LEVEL, which does this
check. I did a quick look in the source and used this macro in some places where option_verbose
was used.

I also converted some verbose messages in logger.c to use ast_verb instead of ast_verbose.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 18:47:44 +00:00
Mark Michelson c9a2f5b5a8 Reintroduce an optimization that was lost when converting trunk to use ast_verb.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 15:59:09 +00:00
Luigi Rizzo 5490889153 Put into Makefile.moddir_rules the common instructions used to
generate loadable and embedded module lists.

Individual Makefiles now are a lot simpler, possibly as simple as this:

    -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/menuselect.makedeps
    MODULE_PREFIX=cdr_
    all: _all
    include $(ASTTOPDIR)/Makefile.moddir_rules

and also more flexible because in a single directory we can combine
various types of modules (app_, cdr_, func_, ... ) by simply
listing them in the MODULE_PREFIX variable.

The individual Makefiles can also create list of modules to be
excluded by listing them in the variablel MODULE_EXCLUDE (see an
example in channels/Makefile).

With this change it becomes trivial to integrate a directory with
locally created/modified sources into the main build.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 03:50:38 +00:00
Luigi Rizzo d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
the top level directory.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Russell Bryant 53a5f22849 Merged revisions 90145 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90145 | russell | 2007-11-28 18:20:34 -0600 (Wed, 28 Nov 2007) | 5 lines

This set of changes is to make some callerID handling thread-safe.
The ast_set_callerid() function needed to lock the channel.  Also, the handlers
for the CALLERID() dialplan function needed to lock the channel when reading
or writing callerid values directly on the channel structure.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 00:28:10 +00:00
Tilghman Lesher fd06a58800 Merged revisions 89631 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89631 | tilghman | 2007-11-27 09:38:03 -0600 (Tue, 27 Nov 2007) | 3 lines

Default result of STAT should be "0" not "".
Reported via the -users mailing list, fixed by me.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-27 15:41:46 +00:00
Luigi Rizzo 200f9c633b remove some useless includes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22 02:30:58 +00:00
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:24:55 +00:00
Russell Bryant 501915f0a9 Make the SYSINFO documentation reflect which options were compiled in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 23:03:02 +00:00
Luigi Rizzo 086630d121 remove unnecessary headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 21:04:04 +00:00
Luigi Rizzo 9c2aaeb701 remove some unnecessary includes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 20:42:06 +00:00
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:09:03 +00:00
Mark Michelson 67f044d42a Adding SYSINFO() dialplan function for retrieval of system information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 16:29:07 +00:00
Luigi Rizzo d82a631f9c more removal of duplicate #include lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo 5490960453 remove a bunch of duplicate includes
Reproduce with

grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 23:54:45 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Steve Murphy 98429d37b2 Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 18:44:36 +00:00
Joshua Colp e4187a7a26 Make func_env build again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 21:27:37 +00:00
Tilghman Lesher 3a70afbc3e Add the FILE() dialplan function and deprecate ReadFile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 17:32:15 +00:00
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 22:26:51 +00:00
Tilghman Lesher f5b9b79397 Add a simple dialgroup function. By taking one of the simpler uses of Queue
away from Queue, we simplify the lives of people who do not need all the bells
and whistles.  Also, this is part of the functions that people need to
reimplement Queue in the dialplan, as a set of logic, rather than as a single
app with hundreds of options.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-28 14:16:45 +00:00
Tilghman Lesher 64a0a9aa2c Merged revisions 87262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87262 | tilghman | 2007-10-28 08:46:55 -0500 (Sun, 28 Oct 2007) | 7 lines

Add autoservice to several more functions which might delay in their responses.
Also, make sure that func_odbc functions have a channel on which to set
variables.
Reported by russell
Fixed by tilghman
Closes issue #11099

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-28 14:11:01 +00:00
Russell Bryant 024bd67277 Make sure a channel exists before attempting to start or stop channel
autoservice in func_lock and func_shell.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-27 01:15:02 +00:00
Tilghman Lesher 7d43ac7004 Merged revisions 87120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87120 | tilghman | 2007-10-26 08:54:30 -0500 (Fri, 26 Oct 2007) | 7 lines

The addition of autoservice to func_curl additionally made func_curl dependent
on the existence of a channel, with no real reason.  This should make func_curl
once again work without a channel.
Reported by jmls.
Fixed by tilghman.
Closes issue #11090

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 14:00:48 +00:00
Tilghman Lesher 446a6cdc94 Use the same delimited character as the FILTER function in FIELDQTY and CUT.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 00:11:31 +00:00
Steve Murphy 4e20c42a13 Merged revisions 86902 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86902 | murf | 2007-10-23 15:18:08 -0600 (Tue, 23 Oct 2007) | 1 line

closes issue #11052 -- where nothing after the ? will allow un-initialized variable values to corrupt and crash asterisk on 64-bit platforms
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-23 21:25:37 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Joshua Colp ff9eaa301d Merged revisions 85850 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85850 | file | 2007-10-16 11:52:22 -0300 (Tue, 16 Oct 2007) | 4 lines

Check to make sure a value has been given to the VMCOUNT dialplan function.
(closes issue #10996)
Reported by: marsosa

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 15:15:53 +00:00
Tilghman Lesher 1acdae4f12 Document my changes from Friday
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-15 17:51:05 +00:00
Tilghman Lesher 3d8d4b25ee Enable ranges, hexadecimal, octal, and special backslashed characters for the FILTER function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-12 17:32:38 +00:00
Matthew Fredrickson f2f66caae1 See if I can fix this borked ANI2 code I added
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 22:33:57 +00:00
Matthew Fredrickson 4c5dd299bc Add ANI2 support to func_callerid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 22:20:02 +00:00
Russell Bryant 9d43f99be1 * The documentation for the LOCK() function says that it will block for up to
3 seconds while waiting on a lock when other locks are currently held to
  avoid deadlocks.  Change the code to reflect this.
* Since trying to grab a lock may block for some time, put the channel in
  autoservice so that audio is still read from the channel and that any
  active generators on the channel don't pause.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-30 03:05:04 +00:00
Russell Bryant 2897a41de8 put the channel in autoservice when executing func_shell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 19:54:58 +00:00
Russell Bryant 3f26b8e8cf Merged revisions 83177 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83177 | russell | 2007-09-19 14:34:25 -0500 (Wed, 19 Sep 2007) | 4 lines

Using curl can take a substantial amount of time, so the channel should be
autoserviced while waiting for it to complete.
(closes issue #10725, reported by mnicholson)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 19:36:34 +00:00
Tilghman Lesher 82cf384e03 Merged revisions 82285 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82285 | tilghman | 2007-09-12 15:12:06 -0500 (Wed, 12 Sep 2007) | 4 lines

Working on issue #10531 exposed a rather nasty 64-bit issue on ast_mktime, so we
updated the localtime.c file from source.  Next we'll have to write ast_strptime
to match.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-12 21:25:57 +00:00
Russell Bryant b068a17e60 Add EXTENSION_STATE() function that can retrieve the state of an extension that
has a hint.

(closes issue #10635, adamgundy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 20:54:07 +00:00
Russell Bryant fa0536aab9 Rename the DEVSTATE() function to DEVICE_STATE() to better conform to how other
functions are named.
(inspired by issue #10635)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 20:27:26 +00:00
Russell Bryant 65b4a88c60 Merge HINT() dialplan function from my sandbox branch into trunk. This function
will let you retrieve the list of devices or name associated with a hint.
(inspired by issue #10635)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 20:24:18 +00:00
Tilghman Lesher 314d4e6048 Merged revisions 81415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81415 | tilghman | 2007-08-31 14:16:52 -0500 (Fri, 31 Aug 2007) | 2 lines

The IF() function was not allowing true values that had embedded colons (closes issue #10613)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-03 03:01:31 +00:00
Russell Bryant 2f4a2811b6 Add proper channel locking around the uses of datastore_add and _find. There
are still more places in the tree that I have not yet changed if someone wants
to go through and find the places they are used without the channel locked.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28 18:41:18 +00:00
Russell Bryant 040a5f20f9 * Constify the uid field of channel datastores
* Convert some spaces to tabs in func_volume
* Add a note in channel.h making it clear that none of the datastore API calls
  lock the channel they are given, so the channel should be locked before
  calling the functions that take a channel argument.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28 18:32:56 +00:00
Russell Bryant 0ebb5c8777 Merged revisions 80547 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80547 | russell | 2007-08-23 14:29:44 -0500 (Thu, 23 Aug 2007) | 3 lines

Revert very broken fix for issue #10540 ... none of these values take ms so I
don't know what I was thinking

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-23 19:30:49 +00:00
Russell Bryant 558d533388 Merged revisions 80539 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80539 | russell | 2007-08-23 14:21:53 -0500 (Thu, 23 Aug 2007) | 4 lines

Fix func_timeout to take values in floating point so 1.5 actually means
1.5 seconds instead of being rounded.
(closes issue #10540, reported by spendergrass, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-23 19:22:49 +00:00
Russell Bryant 5eb7cbef42 use ast_atomic_fetchadd_int for incrementing resultcount
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-21 21:58:29 +00:00
Tilghman Lesher 646234bd10 store and destroy implementations for realtime pgsql (closes issue #10372)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-17 13:40:11 +00:00
Tilghman Lesher d6eb859bc2 Revise dialplan locks to permit multiple locks per channel, but with deadlock avoidance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 23:31:14 +00:00
Tilghman Lesher 56b9568164 Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 21:09:46 +00:00
Russell Bryant 047dbef446 Store custom device states in astdb so that they will persist a restart. As a
side benefit, this simplifies the code a bit, too.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 20:48:49 +00:00
Russell Bryant e113d36aa4 Merge a set of device state improvements from team/russell/events.
The way a device state change propagates is kind of silly, in my opinion.  A
device state provider calls a function that indicates that the state of a
device has changed.  Then, another thread goes back and calls a callback for
the device state provider to find out what the new state is before it can go
send it off to whoever cares.

I have changed it so that you can include the state that the device has changed
to in the first function call from the device state provider.  This removes the
need to have to call the callback, which locks up critical containers to go find
out what the state changed to.

This change set changes the "simple" device state providers to use the new method.
This includes parking, meetme, and SLA.

I have also mostly converted chan_agent in my branch, but still have some more
things to think through before presenting the plan for converting channel drivers
to ensure all of the right events get generated ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 16:24:11 +00:00
Joshua Colp 602198c402 Merge audiohooks branch into trunk. This is a new API for developers to listen and manipulate the audio going through a channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-08 19:30:52 +00:00
Tilghman Lesher 3257acb922 Add some documentation detailing an aspect of dialplan functions, as requested by Russell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 18:50:06 +00:00
Tilghman Lesher ce26bea24a Add func_lock, which creates dialplan mutexes, and note that the Macro apps are now deprecated.
(Closes issue #10264)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 16:44:25 +00:00
Tilghman Lesher 20bbd09de3 Mostly cleanup of documentation to substitute the pipe with the comma, but a few other formatting cleanups, too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 01:10:47 +00:00
Russell Bryant f8483a0d04 Do a massive conversion for using the ast_verb() macro
(closes issue #10277, patches by mvanbaak)

Basically, this changes ...

if (option_verbose > 2)
   ast_verbose(VERBOSE_PREFIX_3, "Something\n");

to ...

ast_verb(3, "Something\n");


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 15:49:18 +00:00
Tilghman Lesher 55b1ee298e Merge the dialplan_aesthetics branch. Most of this patch simply converts applications
using old methods of parsing arguments to using the standard macros.  However, the big
change is that the really old way of specifying application and arguments separated by
a comma will no longer work (e.g. NoOp,foo|bar).  Instead, the way that has been
recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 19:51:41 +00:00
Steve Murphy 0e969271ae After some study, thought, comparing, etc. I've backed out the previous universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19 23:24:27 +00:00
Tilghman Lesher 81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Joshua Colp 0772f62be7 Clean up func_curl a bit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 14:59:20 +00:00
Steve Murphy 8a7732f067 via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 19:40:29 +00:00
Joshua Colp e498488bde For my next trick I will make it so dialplan functions no longer need to call ast_module_user_add and ast_module_user_remove. These are now called in the ast_func_read and ast_func_write functions outside of the module.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 18:24:29 +00:00
Joshua Colp 96a646734f It is no longer required for each module that deals with a channel to call ast_module_user_hangup_all in it's unload function. The loader will automatically perform this action for it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 13:35:20 +00:00
Russell Bryant 5a32541671 Cast the 2nd argument to iconv() to a void *, as some systems define it as a
(const char *), while others define it as (char *).  This is done to suppress
compiler warnings about it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 02:44:49 +00:00
Tilghman Lesher ba857cc8a9 Merged revisions 73985 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r73985 | tilghman | 2007-07-08 23:03:20 -0500 (Sun, 08 Jul 2007) | 2 lines

Doxygen formatting fixes; fixes errors while 'make progdocs'.  (Closes issue #10104)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 04:09:16 +00:00
Dwayne M. Hubbard ae232491de Added AND, OR, and XOR bitwise operations to MATH for issue 9891, thanks jcmoore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-28 20:52:22 +00:00
Joshua Colp 1961b57705 Add rtpdest option to SIP CHANNEL() dialplan function to return the IP address and port that RTP (be it audio/video/text) is going to.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-26 23:31:23 +00:00
Russell Bryant 43658278ff Merged revisions 69702 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69702 | russell | 2007-06-18 11:35:02 -0500 (Mon, 18 Jun 2007) | 6 lines

To prevent 92138749238754 more reports of "I have unixodbc installed, but
still can't build *_odbc.so!", check for ltdl directly, instead of just listing
it as another library to include in the unixodbc check in the configure script.
This also makes ltdl show up as a dependency in menuselect so people know what
to go install.  (related to issue #9989, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 16:35:51 +00:00
Russell Bryant 055d82cbce Add a massive set of changes for converting to use the ast_debug() macro.
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 19:39:12 +00:00
Jason Parker f593698f79 Merged revisions 69259 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r69259 | qwell | 2007-06-14 10:21:29 -0500 (Thu, 14 Jun 2007) | 12 lines

Merged revisions 69258 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r69258 | qwell | 2007-06-14 10:15:53 -0500 (Thu, 14 Jun 2007) | 4 lines

Change a quite broken while loop to a for loop, so "continue;" works as expected instead of eating 99% CPU...

Issue 9966, patch by me.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 15:25:32 +00:00
Joshua Colp 679733c52a Use read/write lock based lists for group counting.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-13 18:23:12 +00:00
Russell Bryant 1d57ccb6f7 Fix a bunch of doxygen errors and document more things
(issue #9842, snuffy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-07 23:07:25 +00:00
Tilghman Lesher 9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Tilghman Lesher fcc3aba331 Merged revisions 67162 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r67162 | tilghman | 2007-06-04 18:43:01 -0500 (Mon, 04 Jun 2007) | 10 lines

Merged revisions 67161 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r67161 | tilghman | 2007-06-04 18:41:49 -0500 (Mon, 04 Jun 2007) | 2 lines

According to MATH, 0+1181000386 = 1181000448.  Oops.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-04 23:45:05 +00:00
Tilghman Lesher 7216b96319 Merged revisions 66919 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r66919 | tilghman | 2007-06-01 16:45:44 -0500 (Fri, 01 Jun 2007) | 2 lines

On some drivers, deallocating the statement handle isn't enough.  We also have to clear the cursor (nice, Oracle)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-01 21:49:34 +00:00
Tilghman Lesher e9251f42df Issue 9799 - Multirow results for func_odbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-31 15:05:56 +00:00
Tilghman Lesher 1236ed3214 Issue 9477 - Improve menuselect labels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-30 05:17:09 +00:00
Tilghman Lesher 2baca1b2c5 Merged revisions 66538 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r66538 | tilghman | 2007-05-29 16:56:07 -0500 (Tue, 29 May 2007) | 10 lines

Merged revisions 66537 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r66537 | tilghman | 2007-05-29 16:49:35 -0500 (Tue, 29 May 2007) | 2 lines

If the value of a variable passed to FIELDQTY is blank, then FIELDQTY should return 0, not 1.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-29 21:59:21 +00:00
Tilghman Lesher 1e9c6c4a70 Shorten description to a much more reasonable length
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-29 21:57:50 +00:00
Tilghman Lesher b6b254b733 Issue 7021 - Add ICONV function for converting between character sets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-28 15:59:17 +00:00
Dwayne M. Hubbard 585129cfea Merged revisions 65866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r65866 | dhubbard | 2007-05-24 10:08:56 -0500 (Thu, 24 May 2007) | 1 line

merged qwell's func_math patch for issue 9507
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 15:35:50 +00:00
Russell Bryant e090c28540 Add two new dialplan functions: ENUMQUERY and ENUMRESULT. These functions
allow you to initiate an ENUM query using ENUMQUERY, and then access the
details of all of the results using ENUMRESULT.  Previously, if you wanted
to access multiple results, Asterisk would have to do a new DNS lookup every
time.  (patch by bbryant)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-15 23:05:20 +00:00
Tilghman Lesher d4de739706 Issue 9716 - doc/enum.txt no longer exists in trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-12 19:38:03 +00:00
Joshua Colp 8b2b3e172b Merged revisions 61805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61805 | file | 2007-04-25 15:21:54 -0400 (Wed, 25 Apr 2007) | 10 lines

Merged revisions 61804 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61804 | file | 2007-04-25 14:52:50 -0400 (Wed, 25 Apr 2007) | 2 lines

Merge rewritten group counting support. No more storing data on the variable list of the channels. That was bad, mmmk? (issue #7497 reported by sabbathbh)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-25 19:27:42 +00:00
Russell Bryant b94378b5e6 Merge changes from team/russell/iax2_osp
This set of changes adds OSP support to chan_iax2.  However, I have modified
the patch a bit from what was submitted.  You now use the CHANNEL() function
to get and set the OSP token for IAX2.

(issue #8531, reported by and original patch by homesick, patch updated by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-20 21:12:53 +00:00
Tilghman Lesher b230918437 Merged revisions 61681 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61681 | tilghman | 2007-04-18 21:45:05 -0500 (Wed, 18 Apr 2007) | 13 lines

Merged revisions 61680 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61680 | tilghman | 2007-04-18 21:30:18 -0500 (Wed, 18 Apr 2007) | 5 lines

Bug 9557 - Specifying the GetVar AMI action without a Channel parameter can
cause Asterisk to crash.  The reason this needs to be fixed in the functions
instead of in AMI is because Channel can legitimately be NULL, such as when
retrieving global variables.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-19 02:51:21 +00:00
Russell Bryant 0df4004ee5 Add a minor loop optimization to the custom device state callback. Once the
correct device is found, it should just break out of the loop ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-11 15:25:43 +00:00
Russell Bryant 7c884d76ea Merged revisions 59256 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59256 | russell | 2007-03-27 11:20:53 -0500 (Tue, 27 Mar 2007) | 4 lines

Convert the RTPQOS function to just be additional parameter of the CHANNEL
function.  This way, it will be possible for other RTP based channel drivers
to expose this information in the future.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-27 16:25:02 +00:00
Tilghman Lesher 03aa8f7b8f Merged revisions 59049 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59049 | tilghman | 2007-03-19 17:29:56 -0500 (Mon, 19 Mar 2007) | 2 lines

Oops, this should have been a %d all along

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-19 22:31:14 +00:00
Tilghman Lesher cb8b3e1efb Merged revisions 58933 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r58933 | tilghman | 2007-03-15 17:32:33 -0500 (Thu, 15 Mar 2007) | 2 lines

Function works fine, but the documentation is backwards.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-15 22:33:46 +00:00
Tilghman Lesher 4e8f978287 Merged revisions 58880 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r58880 | tilghman | 2007-03-13 20:47:08 -0500 (Tue, 13 Mar 2007) | 3 lines

Issue 9162 - pbx_substitute_variables_helper assumes the buffer is initialized
to all zeroes.  This fixes a case where it wasn't.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-14 01:56:03 +00:00
Olle Johansson bc01e39174 Creating new doxygen macro "\extref" to create page that lists
external libraries and URLs to these. Please help me add these
references.

We might want to create a similar macro "\linuxpackage" to list
the needed Linux packages in popular distributions.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-24 19:27:50 +00:00
Russell Bryant f60efe347a This introduces a new dialplan function, DEVSTATE, which allows you to do some
pretty cool things.

First, you can get the device state of anything in the dialplan:
  NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
  NoOp(The conference room 1234 has state ${DEVSTATE(MeetMe:1234)})

Most importantly, this allows you to create custom device states so you can
control phone lamps directly from the dialplan.
  Set(DEVSTATE(Custom:mycustomlamp)=BUSY)
  ...
  exten => mycustomlamp,hint,Custom:mycustomlamp


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-13 22:02:20 +00:00
Tilghman Lesher 63cc6e10b4 Formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-12 02:44:33 +00:00
Kevin P. Fleming e758ef09b3 Merged revisions 53779-53781 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r53779 | kpfleming | 2007-02-09 17:51:29 -0600 (Fri, 09 Feb 2007) | 2 lines

fix awk scripts to work when both MODULEINFO and MAKEOPTS are present in a source file

........
r53780 | kpfleming | 2007-02-09 17:51:41 -0600 (Fri, 09 Feb 2007) | 2 lines

add some inter-module dependencies

........
r53781 | kpfleming | 2007-02-09 17:52:44 -0600 (Fri, 09 Feb 2007) | 2 lines

another dependency

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-09 23:53:51 +00:00
Tilghman Lesher c59714fbfc Add CALLERPRES dialplan function and deprecate SetCallerPres application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-03 22:05:02 +00:00
Tilghman Lesher 777a51ad5a Fix compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-03 22:04:09 +00:00
Russell Bryant e66a64fa71 Merged revisions 53093 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r53093 | russell | 2007-02-01 15:24:52 -0600 (Thu, 01 Feb 2007) | 2 lines

Fix the FIELDQTY function to not crash. (reported by blitzrage and Corydon on IRC)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-01 21:27:22 +00:00
Tilghman Lesher 0e209d5e1c Merged revisions 53075 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53075 | tilghman | 2007-02-01 14:09:52 -0600 (Thu, 01 Feb 2007) | 10 lines

Merged revisions 53074 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53074 | tilghman | 2007-02-01 14:07:35 -0600 (Thu, 01 Feb 2007) | 2 lines

Bug 8965 - Allow FIELDQTY to work with both variables and dialplan functions

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-01 20:12:56 +00:00
Tilghman Lesher e5304e54cc Merged revisions 53070 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53070 | tilghman | 2007-02-01 13:21:20 -0600 (Thu, 01 Feb 2007) | 10 lines

Merged revisions 53069 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53069 | tilghman | 2007-02-01 13:13:53 -0600 (Thu, 01 Feb 2007) | 2 lines

No wonder FIELDQTY doesn't work with functions... the documentation in pbx.c was wrong

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-01 19:27:22 +00:00
Olle Johansson 0ddb38ddee Doxygen update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-24 09:05:29 +00:00
Jason Parker 5d25265403 Merged revisions 51265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51265 | qwell | 2007-01-18 16:50:23 -0600 (Thu, 18 Jan 2007) | 4 lines

Add some more checks for option_debug before ast_log(LOG_DEBUG, ...) calls.

Issue 8832, patch(es) by tgrman

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-18 22:56:35 +00:00
Russell Bryant 445269f001 Merged revisions 51205 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51205 | russell | 2007-01-17 17:31:11 -0600 (Wed, 17 Jan 2007) | 5 lines

Fix some instances where when loading func_odbc, a double-free could occur.
Also, remove an unneeded error message.  If the failure condition is
actually a memory allocation failure, a log message will already be
generated automatically.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-17 23:35:43 +00:00
Joshua Colp 3c1b9fc508 One const, two const. Let's stick with everything else - one const. Plus older versions of GCC don't support double const either.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-07 19:00:36 +00:00
Tilghman Lesher c4c2c546da When calling the Realtime app more than once, unset fields which were
previously set are erroneously still set (Bug 6701).  After discussion,
it was determined this should only be changed in trunk.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-07 16:21:12 +00:00
Tilghman Lesher 785483f304 Modifications to allow the output of SHELL() to be split per line (Issue 8676)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-07 14:44:49 +00:00
Tilghman Lesher 6b13c4d7d4 Add function to execute a shell command and return the output (Issue 8676)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-07 14:40:48 +00:00