dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

355 Commits

Author SHA1 Message Date
rmudgett 245c5d9eb8 Generic Advice of Charge.
Asterisk Generic AOC Representation
- Generic AOC encode/decode routines.
  (Generic AOC must be encoded to be passed on the wire in the AST_CONTROL_AOC frame)
- AST_CONTROL_AOC frame type to represent generic encoded AOC data
- Manager events for AOC-S, AOC-D, and AOC-E messages

Asterisk App Support
- app_dial AOC-S pass-through support on call setup
- app_queue AOC-S pass-through support on call setup

AOC Unit Tests
- AOC Unit Tests for encode/decode routines
- AOC Unit Test for manager event representation.

SIP AOC Support
- Pass-through of generic AOC-D and AOC-E messages to snom phones via the
  snom AOC specification.
- Creation of chan_sip page3 flags for the addition of the new
  'snom_aoc_enabled' sip.conf option.

IAX AOC Support
- Natively supports AOC pass-through through the use of the new
  AST_CONTROL_AOC frame type

DAHDI AOC Support
- ETSI PRI full AOC Pass-through support
- 'aoc_enable' chan_dahdi.conf option for independently enabling
  pass-through of AOC-S, AOC-D, AOC-E.
- 'aoce_delayhangup' option for retrieving AOC-E on disconnect.
- DAHDI A() dial string option for requesting AOC services.
  example usage:
  ;requests AOC-S, AOC-D, and AOC-E on call setup
  exten=>1111,1,Dial(DAHDI/g1/1112/A(s,d,e))

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@267096 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-02 18:10:15 +00:00
rmudgett 66e4294cd7 Add ETSI Advice Of Charge (AOC) event reporting.
This feature generates AMI events in the new aoc event class from the
events passed up by libpri.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@267008 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-02 17:13:53 +00:00
tilghman 4cbe8fda7e Eliminate stale manager events after a set interval, even if AMI clients don't query for them.
Actions (or failures to act) by external clients should not cause memory leaks
in Asterisk, especially when those continued leaks could cause Asterisk to
misbehave later.

(closes issue #17234)
 Reported by: mav3rick
 Patches: 
       20100510__issue17234.diff.txt uploaded by tilghman (license 14)
       20100517__issue17234__trunk.diff.txt uploaded by tilghman (license 14)
 Tested by: mav3rick, davidw

(closes issue #17365)
 Reported by: davidw


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@266682 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-01 16:41:00 +00:00
twilson 0c7add2a03 Merge the rest of the FullyBooted patch
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@265467 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-24 22:21:58 +00:00
lmadsen 17d3dd99a4 Missing newlines added to Set-Cookie line in manager.c
Sean Bright pointed out that we lost a set of newline characters in commit
190349 on a line I had recently changed. Yay for code review on commits.

(issue #17231, #10961)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@263460 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-17 15:14:22 +00:00
lmadsen c21186e0e8 Recorded merge of revisions 263456 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r263456 | lmadsen | 2010-05-17 09:35:18 -0500 (Mon, 17 May 2010) | 11 lines
  
  Manager cookies are not compatible with RFC2109.
  
  The Version field in the cookies we're setting contain quotes around the version
  number which is not compatible with RFC2109 and breaks some implementations.
  
  (closes issue #17231)
  Reported by: ecarruda
  Patches:
        manager_rfc2109-trunk-v1.patch uploaded by ecarruda (license 559)
        manager_rfc2109-1.6.2-v1.patch uploaded by ecarruda (license 559)
  Tested by: ecarruda, russell
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@263457 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-17 14:37:35 +00:00
pabelanger eca5d38813 New 'manager show settings' CLI command.
See the CHANGES file for more details.

(closes issue #16343)
Reported by: pabelanger
Patches:
      issue16343.patch.v5 uploaded by pabelanger (license 224)
Tested by: pabelanger, tilghman, lmadsen

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@261180 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-05 00:44:37 +00:00
mnicholson b1b1fb4cdb Merged revisions 257070 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r257070 | mnicholson | 2010-04-13 11:46:30 -0500 (Tue, 13 Apr 2010) | 9 lines
  
  Add an option to restore past broken behavor of the Events manager action
  
  Before r238915, certain values for the EventMask parameter of the Events action would result in no response being returned.  This patch adds an option to restore that broken behavior.  Also while fixing this bug I discovered that passing an empty EventMasks parameter would also result in no response being returned, this has been fixed as well while being preserved when the broken behavior is requested.
  
  (closes issue #17023)
  Reported by: nblasgen
  
  Review: https://reviewboard.asterisk.org/r/602/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@257146 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-13 18:10:30 +00:00
mmichelson 0eb1e5407a Merge Call completion support into trunk.
From Reviewboard:
CCSS stands for Call Completion Supplementary Services. An admittedly out-of-date
overview of the architecture can be found in the file doc/CCSS_architecture.pdf
in the CCSS branch. Off the top of my head, the big differences between what is
implemented and what is in the document are as follows:

1. We did not end up modifying the Hangup application at all.
2. The document states that a single call completion monitor may be used across
   multiple calls to the same device. This proved to not be such a good idea
   when implementing protocol-specific monitors, and so we ended up using one
   monitor per-device per-call.
3. There are some configuration options which were conceived after the document
   was written. These are documented in the ccss.conf.sample that is on this
   review request.
		      
For some basic understanding of terminology used throughout this code, see the
ccss.tex document that is on this review.

This implements CCBS and CCNR in several flavors.

First up is a "generic" implementation, which can work over any channel technology
provided that the channel technology can accurately report device state. Call
completion is requested using the dialplan application CallCompletionRequest and can
be canceled using CallCompletionCancel. Device state subscriptions are used in order
to monitor the state of called parties.

Next, there is a SIP-specific implementation of call completion. This method uses the
methods outlined in draft-ietf-bliss-call-completion-06 to implement call completion
using SIP signaling. There are a few things to note here:

* The agent/monitor terminology used throughout Asterisk sometimes is the reverse of
  what is defined in the referenced draft.

* Implementation of the draft required support for SIP PUBLISH. I attempted to write
  this in a generic-enough fashion such that if someone were to want to write PUBLISH
  support for other event packages, such as dialog-state or presence, most of the effort
  would be in writing callbacks specific to the event package.

* A subportion of supporting PUBLISH reception was that we had to implement a PIDF
  parser. The PIDF support added is a bit minimal. I first wrote a validation
  routine to ensure that the PIDF document is formatted properly. The rest of the
  PIDF reading is done in-line in the call-completion-specific PUBLISH-handling
  code. In other words, while there is PIDF support here, it is not in any state
  where it could easily be applied to other event packages as is.

Finally, there are a variety of ISDN-related call completion protocols supported. These
were written by Richard Mudgett, and as such I can't really say much about their
implementation. There are notes in the CHANGES file that indicate the ISDN protocols
over which call completion is supported.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@256528 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-09 15:31:32 +00:00
russell 4349aaed67 Resolve more compiler warnings on FreeBSD.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@253540 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-20 12:03:07 +00:00
jpeeler 19a36bcf93 Optimization to manager events.
When potentially sending manager events, return immediately if there are no
sessions or hooks. Also, avoid locking the hooks list if it is empty.

(issue #16455)
Reported by: atis
Patches: 
      manager_hooks_trunk.patch uploaded by atis (license 242)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@243986 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-28 22:37:15 +00:00
oej 52cccf6084 Change api for pbx_builtin_setvar to actually return error code if a function can't be written to.
This patch removes code that was duplicated from pbx.c to manager.c
in order to prevent API change in released versions of Asterisk.

There are propably also other places that would benefit from reading the
return code and react if a function returns error codes on writing a value into it.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@242919 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-25 21:13:20 +00:00
oej 09b1277fb2 Merged revisions 242850 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r242850 | oej | 2010-01-25 21:03:38 +0100 (Mån, 25 Jan 2010) | 2 lines

Report error when writing to functions returns error in AMI setvar action

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@242904 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-25 20:27:59 +00:00
seanbright adc69e041d Convert a few places to use ast_calloc_with_stringfields where applicable.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@240368 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-15 18:21:50 +00:00
tilghman 070bfb9327 Merged revisions 238915 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r238915 | tilghman | 2010-01-08 18:57:58 -0600 (Fri, 08 Jan 2010) | 6 lines
  
  -1 is interpreted as an error, intead of the maximum mask.
  (closes issue #16241)
   Reported by: vnovy
   Patches: 
         manager.c.patch uploaded by vnovy (license 922)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@238916 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-09 01:08:04 +00:00
jpeeler 0264354e67 Enhance AMI redirect to allow channels to be redirected to different places.
New parameters ExtraContext, ExtraExtension, and ExtraPriority have been added
to redirect the second channel to a different location. Previously, it was only
possible to redirect both channels to the same place.

(closes issue #15853)
Reported by: haakon
Patches:
      trunk-manager.c.patch uploaded by haakon (license 880)
Tested by: jpeeler


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@235265 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-16 00:31:53 +00:00
jpeeler ac94073dc1 Merged revisions 232581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r232581 | jpeeler | 2009-12-02 15:57:42 -0600 (Wed, 02 Dec 2009) | 7 lines
  
  Send ack (response/message) after receiving manager action userevent
  
  (closes issue #16264)
  Reported by: dimas
  Patches: 
        event-ack.patch uploaded by dimas (license 88)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@232582 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-02 22:02:43 +00:00
jpeeler 08f1971fbf Make manager response to "Action: events" finish with empty line
(closes issue #16275)
Reported by: vnovy
Patches: 
      manager.c.diff uploaded by vnovy (license 922)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@232576 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-02 21:32:50 +00:00
tilghman 317ea2e45d Display a list of channel variables in each channel-oriented event.
(Closes AST-33)
Reviewboard:	https://reviewboard.asterisk.org/r/368/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@230111 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-13 20:42:03 +00:00
tilghman 3bacd4082e Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227580 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04 14:05:12 +00:00
oej 193dd912da Add destruction of iterators to avoid problems with refcounters
(per Russell's review of another patch)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227545 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04 08:22:00 +00:00
russell d8c79fc61c Resolve a warning from gcc 4.4.1.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227463 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-03 22:08:46 +00:00
dbrooks 741c3d606f AMI hook interface
This patch, originally submitted by jozza, enables custom modules to send actions to AMI
and receive messages from AMI via a hook interface. Included is a simple test module to
illustrate the interface.

(closes issue #14635)
Reported by: jozza

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227448 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-03 21:26:28 +00:00
tilghman 7713586b10 Merged revisions 226138 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226138 | tilghman | 2009-10-27 15:16:49 -0500 (Tue, 27 Oct 2009) | 7 lines
  
  Manager output is not always NULL-terminated, so force a NULL at the end of the filestream.
  (closes issue #15495)
   Reported by: pdf
   Patches: 
         20090916__issue15495.diff.txt uploaded by tilghman (license 14)
   Tested by: pdf
........


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

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

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225244 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 21:08:47 +00:00
kpfleming c359691aa3 Eliminate unnecessary include of version.h in manager.c.
Including version.h here causes this file to get recompiled after
every commit or update, which is not needed.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220496 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-25 14:50:29 +00:00
seanbright 29bf63b15a Properly terminate the response to the manager Ping action.
In passing, correct the formatting of the Timestamp attribute so that there is a
space after the colon and before the value.

(closes issue #15861)
Reported by: Ivan


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@217408 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-09 12:11:12 +00:00
tilghman cad24a7000 Properly initialize the session to prevent a crash.
(closes issue #15774)
 Reported by: lasko
 Patches: 
       20090831__issue15774.diff.txt uploaded by tilghman (license 14)
 Tested by: lasko


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@215069 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-31 21:45:00 +00:00
tilghman f6cd641eef Ensure that we check for the special value CONFIG_STATUS_FILEINVALID.
(closes issue #15786)
 Reported by: a_villacis
 Patches: 
       asterisk-1.6.2.0-beta4-manager-fix-crash-on-include-nonexistent-file.patch uploaded by a villacis (license 660)
       (Plus a few of my own, to catch the remaining places within manager.c where it could have been a problem)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@214514 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-27 21:26:37 +00:00
seanbright 47c42e6fb6 Merged revisions 212763 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r212763 | seanbright | 2009-08-18 12:36:00 -0400 (Tue, 18 Aug 2009) | 11 lines
  
  Delay the creation of temporary files until we have a valid manager command to handle.
  
  Without this patch, asterisk creates a temporary file before determining if the
  specified command is valid.  If invalid, we weren't properly cleaning up the file.
  
  (closes issue #15730)
  Reported by: zmehmood
  Patches:
        M15730.diff uploaded by junky (license 177)
  Tested by: zmehmood
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212764 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-18 16:38:36 +00:00
tilghman d1ec1aa57d AST-2009-005
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211539 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 19:20:57 +00:00
mmichelson 5bc2ee7e25 Merged revisions 207714 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r207714 | mmichelson | 2009-07-21 09:26:00 -0500 (Tue, 21 Jul 2009) | 5 lines
  
  Document default timeout for AMI originations.
  
  AST-224
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207723 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21 14:29:40 +00:00
russell ef09b20743 Add an API for reporting security events, and a security event logging module.
This commit introduces the security events API.  This API is to be used by
Asterisk components to report events that have security implications.
A simple example is when a connection is made but fails authentication.  These
events can be used by external tools manipulate firewall rules or something
similar after detecting unusual activity based on security events.

Inside of Asterisk, the events go through the ast_event API.  This means that
they have a binary encoding, and it is easy to write code to subscribe to these
events and do something with them.

One module is provided that is a subscriber to these events - res_security_log.
This module turns security events into a parseable text format and sends them
to the "security" logger level.  Using logger.conf, these log entries may be
sent to a file, or to syslog.

One service, AMI, has been fully updated for reporting security events.
AMI was chosen as it was a fairly straight forward service to convert.
The next target will be chan_sip.  That will be more complicated and will
be done as its own project as the next phase of security events work.

For more information on the security events framework, see the documentation
generated from doc/tex/.  "make asterisk.pdf"

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@206021 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-11 19:15:03 +00:00
mmichelson 13849c72fa Add timestamp to response to "Ping" manager action.
(closes issue #14596)
Reported by: JimDickenson
Patches:
      pong2.diff uploaded by JimDickenson (license 710)



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

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

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203638 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26 15:28:53 +00:00
russell d710973c82 Don't claim a char * is a mansession object.
Since there was only 1 bucket, and no hash function was specified, the code
actually worked perfectly fine.  However, in theory, this was invalid use of
the OBJ_POINTER flag, so remove it so the code provides a better usage example.


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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200620 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-15 17:34:30 +00:00
russell b7795552ce Constification and remove some unused code.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@198438 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-31 01:40:02 +00:00
seanbright 69fe563ef1 Add ActionID to CoreShowChannel event.
There is inconsistency in how we handle manager responses that are lists of
items and, unfortunately, third parties have come to rely on ActionID being on
every event within those lists instead of just keeping track of the ActionID for
the current response.  This change makes CoreShowChannels include the ActionID
with each CoreShowChannel event generated as a result of it being called.

(closes issue #15001)
Reported by: sum
Patches:
      patchactionid2.patch uploaded by sum (license 766)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196945 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-26 22:38:05 +00:00
seanbright d4679e5d2a Include startup and reload date in the CoreStatus manager message.
The CoreStartupTime and CoreReloadTime name/value pairs in the CoreStatus
response message only included the time and not the date.  This patch,
inspired by the reporter's patch, adds 2 new fields - CoreStartupDate and
CoreReloadDate - which contain the date portion of these values.

(closes issue #15000)
Reported by: sum


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196907 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-26 20:20:08 +00:00
eliel cbbfdc573c Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.

Example manager xml documentation:
<manager name="ami action name" language="en_US">
    <synopsis>
        AMI action synopsis.
    </synopsis>
    <syntax>
        <xi:include xpointer="xpointer(...)" /> <-- for ActionID
        <parameter name="header1" required="true">
	    <para>Description</para>
	</parameter>
	...
    </syntax>
    <description>
        <para>AMI action description</para>
    </description>
    <see-also>
    	...
    </see-also>
</manager>



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

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

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

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196072 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-21 21:13:09 +00:00
eliel 8c1dc2316b Fix the CLI command 'manager show command' documentation and functionality.
The CLI command 'manager show command' supports passing multiple action names in
the same line, but it was not allowing that because of a incorrect check in the
argumentes counter. Also the documentation was updated to show that this usage
of the command is possible.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@195369 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-18 20:49:20 +00:00
eliel 261d7bab76 Rollback commit 195367.
The CLI command 'manager show command' supports passing multiple AMI actions
at a time. The issue with this command was in another place.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@195368 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-18 20:44:54 +00:00
eliel 19c20c28ca Avoid autocompleting passed the action name argument in the CLI command.
When running the autocomplete of the CLI command 'manager show command <action>'
it was autocompleting everything else after the <action> argument, giving an error,
because this command doesn't support multiple AMI action names at a time.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@195367 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-18 20:31:29 +00:00
eliel 1c263e2da8 Do not lock the 'sessions' container, lock the allocated 'session'.
There was a typo in the structure being locked, and we were locking the
'sessions' container instead of the 'session' structure thar we are modifying.
Reported by seanbright on #asterisk-dev, thanks!



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194283 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-13 15:02:10 +00:00
eliel e496282bb8 Fix a crash when logging out from the AMI and avoid astobj2 warning messages.
When the user logout the session was being destroyed twice and the file
descriptor was being closed twice. The sessions reference counter wasn't
used in a proper way.
The 'mansession' structure was being treated as an astobj2 and we were
calling ao2_lock/ao2_unlock causing astobj2 report a warning message and
not locking the structure.
Also we were using an ugly naming convention 'destroy_session',
'session_destroy', 'free_session', ... all this "duplicated" code was merged.

(closes issue #14974)
Reported by: pj
Patches:
      manager.diff2 uploaded by eliel (license 64)
      Tested by: dhubbard, eliel, mnicholson

(closes issue #15088)
Reported by: eliel

Review: http://reviewboard.asterisk.org/r/248/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194060 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-12 22:49:13 +00:00
kpfleming 546cc0e698 Remove rarely-used event_log/LOG_EVENT support
In discussions today at the Europe Asterisk Developer Meet-Up, we determined that
the event_log was used in only 9 places in the entire tree, and really was not needed
at all. The users have been converted to use LOG_NOTICE, or the messages have been
removed since other messages were already in place that provided the same information.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191785 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-02 19:02:22 +00:00
dvossel cfa021cb17 Consistent SSL/TLS options across conf files
ast_tls_read_conf() is a new api call for handling SSL/TLS options across all conf files.  Before this change, SSL/TLS options were not consistent.  http.conf and manager.conf required the 'ssl' prefix while sip.conf used options with the 'tls' prefix.  While the options had different names in different conf files, they all did the exact same thing.  Now, instead of mixing 'ssl' or 'tls' prefixes to do the same thing depending on what conf file you're in, all SSL/TLS options use the 'tls' prefix.  For example.  'sslenable' in http.conf and manager.conf is now 'tlsenable' which matches what already existed in sip.conf. Since this has the potential to break backwards compatibility, previous options containing the 'ssl' prefix still work, but they are no longer documented in the sample.conf files.  The change is noted in the CHANGES file though.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191028 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-29 14:39:48 +00:00
file 7f6257feb8 Fix a bug where we tried to send events out when no sessions container was present.
This commit stops a warning message (user_data is NULL) from getting output when
manager events get sent before manager is initialized. This happens because manager
is initialized *after* modules are loaded and the act of loading modules triggers
manager events.

(issue #14974)
Reported by: pj


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190586 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-27 15:18:47 +00:00