![oej](/assets/img/avatar_default.png)
Thanks, eliel, for writing the original patch. Modified by me to follow other manager events and the new "moremanager" style. (closes issue #11478) Reported by: eliel Patches: manager.c.patch uploaded by eliel (license 64) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91347 f38db490-d61c-443f-a65b-d21fe96a405b
379 lines
21 KiB
Text
379 lines
21 KiB
Text
------------------------------------------------------------------------------
|
|
--- Functionality changes since Asterisk 1.4-beta was branched ----------------
|
|
-------------------------------------------------------------------------------
|
|
|
|
AMI - The manager (TCP/TLS/HTTP)
|
|
--------------------------------
|
|
* Added a new action 'CoreShowChannels' to list currently defined channels
|
|
and some information about them.
|
|
* Added a new action 'SIPshowregistry' to list SIP registrations.
|
|
* Added TLS support for the manager interface and HTTP server
|
|
* Added the URI redirect option for the built-in HTTP server
|
|
* The output of CallerID in Manager events is now more consistent.
|
|
CallerIDNum is used for number and CallerIDName for name.
|
|
* enable https support for builtin web server.
|
|
See configs/http.conf.sample for details.
|
|
* Added a new action, GetConfigJSON, which can return the contents of an
|
|
Asterisk configuration file in JSON format. This is intended to help
|
|
improve the performance of AJAX applications using the manager interface
|
|
over HTTP.
|
|
* SIP and IAX manager events now use "ChannelType" in all cases where we
|
|
indicate channel driver. Previously, we used a mixture of "Channel"
|
|
and "ChannelDriver" headers.
|
|
* Added a "Bridge" action which allows you to bridge any two channels that
|
|
are currently active on the system.
|
|
* Added a "ListAllVoicemailUsers" action that allows you to get a list of all
|
|
the voicemail users setup.
|
|
* Added 'DBDel' and 'DBDelTree' manager commands.
|
|
* cdr_manager now reports events via the "cdr" level, separating it from
|
|
the very verbose "call" level.
|
|
|
|
Dialplan functions
|
|
------------------
|
|
* Added the DEVICE_STATE() dialplan function which allows retrieving any device
|
|
state in the dialplan, as well as creating custom device states that are
|
|
controllable from the dialplan.
|
|
* Extend CALLERID() function with "pres" and "ton" parameters to
|
|
fetch string representation of calling number presentation indicator
|
|
and numeric representation of type of calling number value.
|
|
* MailboxExists converted to dialplan function
|
|
* A new option to Dial() for telling IP phones not to count the call
|
|
as "missed" when dial times out and cancels.
|
|
* Added LOCK(), TRYLOCK(), and UNLOCK(), which provide a single level dialplan
|
|
mutex. No deadlocks are possible, as LOCK() only allows a single lock to be
|
|
held for any given channel. Also, locks are automatically freed when a
|
|
channel is hung up.
|
|
* Added HINT() dialplan function that allows retrieving hint information.
|
|
Hints are mappings between extensions and devices for the sake of
|
|
determining the state of an extension. This function can retrieve the list
|
|
of devices or the name associated with a hint.
|
|
* Added EXTENSION_STATE() dialplan function which allows retrieving the state
|
|
of any extension.
|
|
* Added SYSINFO() dialplan function which allows retrieval of system information
|
|
|
|
CLI Changes
|
|
-----------
|
|
* New CLI command "core show hint" (usage: core show hint <exten>)
|
|
* New CLI command "core show settings"
|
|
* Added 'core show channels count' CLI command.
|
|
* Added the ability to set the core debug and verbose values on a per-file basis.
|
|
* Added 'queue pause member' and 'queue unpause member' CLI commands
|
|
* Ability to set process limits ("ulimit") without restarting Asterisk
|
|
* Enhanced "agi debug" to print the channel name as a prefix to the debug
|
|
output to make debugging on busy systems much easier.
|
|
* New CLI commands "dialplan set extenpatternmatching true/false"
|
|
|
|
SIP changes
|
|
-----------
|
|
* Improved NAT and STUN support.
|
|
chan_sip now can use port numbers in bindaddr, externip and externhost
|
|
options, as well as contact a STUN server to detect its external address
|
|
for the SIP socket. See sip.conf.sample, 'NAT' section.
|
|
* The default SIP useragent= identifier now includes the Asterisk version
|
|
* A new option, match_auth_username in sip.conf changes the matching of incoming requests.
|
|
If set, and the incoming request carries authentication info,
|
|
the username to match in the users list is taken from the Digest header
|
|
rather than from the From: field. This feature is considered experimental.
|
|
* The "musiconhold" and "musicclass" settings in sip.conf are now removed,
|
|
since they where replaced by "mohsuggest" and "mohinterpret" in version 1.4
|
|
* The "localmask" setting was removed in version 1.2 and the reminder about it
|
|
being removed is now also removed.
|
|
* A new option "busylevel" for setting a level of calls where asterisk reports
|
|
a device as busy, to separate it from call-limit. This value is also added
|
|
to the SIP_PEER dialplan function.
|
|
* A new realtime family called "sipregs" is now supported to store SIP registration
|
|
data. If this family is defined, "sippeers" will be used for configuration and
|
|
"sipregs" for registrations. If it's not defined, "sippeers" will be used for
|
|
registration data, as before.
|
|
* The SIPPEER function have new options for port address, call and pickup groups
|
|
* Added support for T.140 realtime text in SIP/RTP
|
|
* The "checkmwi" option has been removed from sip.conf, as it is no longer
|
|
required due to the restructuring of how MWI is handled. See the descriptions
|
|
in this file of the "pollmailboxes" and "pollfreq" options to voicemail.conf
|
|
for more information.
|
|
* Added rtpdest option to CHANNEL() dialplan function.
|
|
* Added SIPREFERRINGCONTEXT and SIPREFERREDBYHDR variables which are set when a transfer takes place.
|
|
* SIP now adds a header to the CANCEL if the call was answered by another phone
|
|
in the same dial command, or if the new c option in dial() is used.
|
|
* The new default is that 100 Trying is not sent on REGISTER attempts as the RFC specifically
|
|
states it is not needed. For phones, however, that do require it the "registertrying" option
|
|
has been added so it can be enabled.
|
|
* A new option called "callcounter" (global/peer/user level) enables call counters needed
|
|
for better status reports needed for queues and SIP subscriptions. (Call-Limit was previously
|
|
used to enable this functionality).
|
|
|
|
IAX2 changes
|
|
------------
|
|
* Added the trunkmaxsize configuration option to chan_iax2.
|
|
* Added the srvlookup option to iax.conf
|
|
* Added support for OSP. The token is set and retrieved through the CHANNEL()
|
|
dialplan function.
|
|
|
|
Skinny changes
|
|
-------------
|
|
* Added skinny show device, skinny show line, and skinny show settings CLI commands.
|
|
* Proper codec support in chan_skinny.
|
|
|
|
DUNDi changes
|
|
-------------
|
|
* Added the ability to specify arguments to the Dial application when using
|
|
the DUNDi switch in the dialplan.
|
|
* Added the ability to set weights for responses dynamically. This can be
|
|
done using a global variable or a dialplan function. Using the SHELL()
|
|
function would allow you to have an external script set the weight for
|
|
each response.
|
|
* Added two new dialplan functions, DUNDIQUERY and DUNDIRESULT. These
|
|
functions will allow you to initiate a DUNDi query from the dialplan,
|
|
find out how many results there are, and access each one.
|
|
|
|
ENUM changes
|
|
------------
|
|
* Added two new dialplan functions, ENUMQUERY and ENUMRESULT. These
|
|
functions will allow you to initiate an ENUM lookup from the dialplan,
|
|
and Asterisk will cache the results. ENUMRESULT can be used to access
|
|
the results without doing multiple DNS queries.
|
|
|
|
Voicemail Changes
|
|
-----------------
|
|
* Added the ability to customize which sound files are used for some of the
|
|
prompts within the Voicemail application by changing them in voicemail.conf
|
|
* Added the ability for the "voicemail show users" CLI command to show users
|
|
configured by the dynamic realtime configuration method.
|
|
* MWI (Message Waiting Indication) handling has been significantly
|
|
restructured internally to Asterisk. It is now totally event based
|
|
instead of polling based. The voicemail application will notify other
|
|
modules that have subscribed to MWI events when something in the mailbox
|
|
changes.
|
|
This also means that if any other entity outside of Asterisk is changing
|
|
the contents of mailboxes, then the voicemail application still needs to
|
|
poll for changes. Examples of situations that would require this option
|
|
are web interfaces to voicemail or an email client in the case of using
|
|
IMAP storage. So, two new options have been added to voicemail.conf
|
|
to account for this: "pollmailboxes" and "pollfreq". See the sample
|
|
configuration file for details.
|
|
* Added "tw" language support
|
|
* Added support for storage of greetings using an IMAP server
|
|
* Added ability to customize forward, reverse, stop, and pause keys for message playback
|
|
* SMDI is now enabled in voicemail using the smdienable option.
|
|
* A "lockmode" option has been added to asterisk.conf to configure the file
|
|
locking method used for voicemail, and potentially other things in the
|
|
future. The default is the old behavior, lockfile. However, there is a
|
|
new method, "flock", that uses a different method for situations where the
|
|
lockfile will not work, such as on SMB/CIFS mounts.
|
|
|
|
Queue changes
|
|
-------------
|
|
* Added the general option 'shared_lastcall' so that member's wrapuptime may be
|
|
used across multiple queues.
|
|
* Added QUEUE_VARIABLES function to set queue variables added setqueuevar and
|
|
setqueueentryvar options for each queue, see queues.conf.sample for details.
|
|
* Added keepstats option to queues.conf which will keep queue
|
|
statistics during a reload.
|
|
* setinterfacevar option in queues.conf also now sets a variable
|
|
called MEMBERNAME which contains the member's name.
|
|
* Added 'Strategy' field to manager event QueueParams which represents
|
|
the queue strategy in use.
|
|
* Added option to run macro when a queue member is connected to a caller,
|
|
see queues.conf.sample for details.
|
|
* app_queue now has a 'loose' option which is almost exactly like 'strict' except it
|
|
does not count paused queue members as unavailable.
|
|
* Added min-announce-frequency option to queues.conf which allows you to control the
|
|
minimum amount of time between queue announcements for use when the caller's queue
|
|
position changes frequently.
|
|
* Added additional information to EXITWITHTIMEOUT and EXITWITHKEY events in the
|
|
queue log.
|
|
* Added ability for non-realtime queues to have realtime members
|
|
* Added the "linear" strategy to queues.
|
|
* Added the "wrandom" strategy to queues.
|
|
|
|
MeetMe Changes
|
|
--------------
|
|
* The 'o' option to provide an optimization has been removed and its functionality
|
|
has been enabled by default.
|
|
* When a conference is created, the UNIQUEID of the channel that caused it to be
|
|
created is stored. Then, every channel that joins the conference will have the
|
|
MEETMEUNIQUEID channel variable set with this ID. This can be used to relate
|
|
callers that come and go from long standing conferences.
|
|
* Added a new application, MeetMeChannelAdmin, which is similar to MeetMeAdmin,
|
|
except it does operations on a channel by name, instead of number in a conference.
|
|
This is a very useful feature in combination with the 'X' option to ChanSpy.
|
|
* Added 'C' option to Meetme which causes a caller to continue in the dialplan
|
|
when kicked out.
|
|
* Added new RealTime functionality to provide support for scheduled conferencing.
|
|
This includes optional messages to the caller if they attempt to join before
|
|
the schedule start time, or to allow the caller to join the conference early.
|
|
Also included is optional support for limiting the number of callers per
|
|
RealTime conference.
|
|
* Added the S() and L() options to the MeetMe application. These are pretty
|
|
much identical to the S() and L() options to Dial(). They let you set
|
|
timeouts for the conference, as well as have warning sounds played to
|
|
let the caller know how much time is left, and when it is running out.
|
|
* Added the ability to do "meetme concise" with the "meetme" CLI command.
|
|
This extends the concise capabilities of this CLI command to include
|
|
listing all conferences, instead of an addition to the other sub commands
|
|
for the "meetme" command.
|
|
* Added the ability to specify the music on hold class used to play into the
|
|
conference when there is only one member and the M option is used.
|
|
|
|
Other Dialplan Application Changes
|
|
----------------------------------
|
|
* Argument support for Gosub application
|
|
* From the to-do lists: straighten out the app timeout args:
|
|
Wait() app now really does 0.3 seconds- was truncating arg to an int.
|
|
WaitExten() same as Wait().
|
|
Congestion() - Now takes floating pt. argument.
|
|
Busy() - now takes floating pt. argument.
|
|
Read() - timeout now can be floating pt.
|
|
WaitForRing() now takes floating pt timeout arg.
|
|
SpeechBackground() -- clarified in the docstrings that the timeout is an integer seconds.
|
|
* Added 's' option to Page application.
|
|
* Added 'E' and 'V' commands to ExternalIVR.
|
|
* Added 'o' and 'X' options to Chanspy.
|
|
* Added a new dialplan application, Bridge, which allows you to bridge the
|
|
calling channel to any other active channel on the system.
|
|
* Added the ability to specify a music on hold class to play instead of ringing
|
|
for the SLATrunk application.
|
|
* The Read application no longer exits the dialplan on error. Instead, it sets
|
|
READSTATUS to ERROR, which you can catch and handle separately.
|
|
* Added 'm' option to Directory, which lists out names, 8 at a time, instead
|
|
of asking for verification of each name, one at a time.
|
|
|
|
Music On Hold Changes
|
|
---------------------
|
|
* A new option, "digit", has been added for music on hold classes in
|
|
musiconhold.conf. If this is set for a music on hold class, a caller
|
|
listening to music on hold can press this digit to switch to listening
|
|
to this music on hold class.
|
|
* Support for realtime music on hold has been added.
|
|
* In conjunction with the realtime music on hold, a general section has
|
|
been added to musiconhold.conf, its sole variable is cachertclasses. If this
|
|
is set, then music on hold classes found in realtime will be cached in memory.
|
|
|
|
AEL Changes
|
|
-----------
|
|
* AEL upgraded to use the Gosub with Arguments instead
|
|
of Macro application, to hopefully reduce the problems
|
|
seen with the artificially low stack ceiling that
|
|
Macro bumps into. Macros can only call other Macros
|
|
to a depth of 7. Tests run using gosub, show depths
|
|
limited only by virtual memory. A small test demonstrated
|
|
recursive call depths of 100,000 without problems.
|
|
-- in addition to this, all apps that allowed a macro
|
|
to be called, as in Dial, queues, etc, are now allowing
|
|
a gosub call in similar fashion.
|
|
* AEL now generates LOCAL(argname) declarations when it
|
|
Set()'s the each arg name to the value of ${ARG1}, ${ARG2),
|
|
etc. That makes the arguments local in scope. The user
|
|
can define their own local variables in macros, now,
|
|
by saying "local myvar=someval;" or using Set() in this
|
|
fashion: Set(LOCAL(myvar)=someval); ("local" is now
|
|
an AEL keyword).
|
|
* utils/conf2ael introduced. Will convert an extensions.conf
|
|
file into extensions.ael. Very crude and unfinished, but
|
|
will be improved as time goes by. Should be useful for a
|
|
first pass at conversion.
|
|
* aelparse will now read extensions.conf to see if a referenced
|
|
macro or context is there before issueing a warning.
|
|
|
|
Zaptel channel driver (chan_zap) Changes
|
|
----------------------------------------
|
|
* SS7 support in chan_zap (via libss7 library)
|
|
* In India, some carriers transmit CID via dtmf. Some code has been added
|
|
that will handle some situations. The cidstart=polarity_IN choice has been added for
|
|
those carriers that transmit CID via dtmf after a polarity change.
|
|
* CID matching information is now shown when doing 'dialplan show'.
|
|
* Added zap show version CLI command to chan_zap.
|
|
* Added setvar support to zapata.conf channel entries.
|
|
* Added two new options: mwimonitor and mwimonitornotify. These options allow
|
|
you to enable MWI monitoring on FXO lines. When the MWI state changes,
|
|
the script specified in the mwimonitornotify option is executed. An internal
|
|
event indicating the new state of the mailbox is also generated, so that
|
|
the normal MWI facilities in Asterisk work as usual.
|
|
|
|
H.323 Changes
|
|
-------------
|
|
* H323 remote hold notification support added (by NOTIFY message
|
|
and/or H.450 supplementary service)
|
|
|
|
Call Features (res_features) Changes
|
|
------------------------------------
|
|
* Added the parkedcalltransfers option to features.conf
|
|
* The built-in method for doing attended transfers has been updated to
|
|
include some new options that allow you to have the transferee sent
|
|
back to the person that did the transfer if the transfer is not successful.
|
|
See the options "atxferdropcall", "atxferloopdelay", and "atxfercallbackretries"
|
|
in features.conf.sample.
|
|
* Added support for configuring named groups of custom call features in
|
|
features.conf. This means that features can be written a single time, and
|
|
then mapped into groups of features for different key mappings or easier
|
|
access control.
|
|
* Updated the ParkedCall application to allow you to not specify a parking
|
|
extension. If you don't specify a parking space to pick up, it will grab
|
|
the first one available.
|
|
|
|
Language Support Changes
|
|
------------------------
|
|
* Brazilian Portuguese (pt-BR) in VM, and say.c was added
|
|
* Added support for the Hungarian language for saying numbers, dates, and times.
|
|
|
|
AGI Changes
|
|
-----------
|
|
* Added SPEECH commands for speech recognition. A complete listing can be found
|
|
using agi show.
|
|
|
|
Miscellaneous
|
|
-------------
|
|
* Added the bindaddr option to gtalk.conf.
|
|
* Ability to use libcap to set high ToS bits when non-root
|
|
on Linux. If configure is unable to find libcap then you
|
|
can use --with-cap to specify the path.
|
|
* Added rotatestrategy option to logger.conf, along with two new options:
|
|
"timestamp" which will use the time to name the logger files instead of
|
|
sequence number; and "rotate", which rotates the names of the logfiles,
|
|
similar to the way syslog rotates files.
|
|
* Added exec_after_rotate option to logger.conf, which allows a system
|
|
command to be run after rotation. This is primarily useful with
|
|
rotatestrategry=rotate, to allow a limit on the number of logfiles kept
|
|
and to ensure that the oldest log file gets deleted.
|
|
* Added Masquerade manager event for when a masquerade happens between
|
|
two channels.
|
|
* Added maxfiles option to options section of asterisk.conf which allows you to specify
|
|
what Asterisk should set as the maximum number of open files when it loads.
|
|
* Added the jittertargetextra configuration option.
|
|
* Added G729 passthrough support to chan_phone for Sigma Designs boards.
|
|
* Added a new CDR module, cdr_sqlite3_custom.
|
|
* The cdr_manager module has a [mappings] feature, like cdr_custom,
|
|
to add fields to the manager event from the CDR variables.
|
|
* Added a new realtime configuration module, res_config_sqlite
|
|
* Added support for setting the CoS for VLAN traffic (802.1p). See the sample
|
|
configuration files for the IP channel drivers. The new option is "cos".
|
|
This information is also documented in doc/qos.tex, or the IP Quality of Service
|
|
section of asterisk.pdf.
|
|
* The device state functionality in the Local channel driver has been updated
|
|
to indicate INUSE or NOT_INUSE when a Local channel is being used as opposed
|
|
to just UNKNOWN if the extension exists.
|
|
* When originating a call using AMI or pbx_spool that fails the reason for failure
|
|
will now be available in the failed extension using the REASON dialplan variable.
|
|
* Added jitterbuffer support for chan_local. This allows you to use the
|
|
generic jitterbuffer on incoming calls going to Asterisk applications.
|
|
For example, this would allow you to use a jitterbuffer for an incoming
|
|
SIP call to Voicemail by putting a Local channel in the middle. This
|
|
feature is enabled by using the 'j' option in the Dial string to the Local
|
|
channel in conjunction with the existing 'n' option for local channels.
|
|
* Added support for reading the TOUCH_MONITOR_PREFIX channel variable.
|
|
It allows you to configure a prefix for auto-monitor recordings.
|
|
* Added support for writing and running your dialplan in lua. See
|
|
configs/extensions.lua.sample for examples of how to do this.
|
|
* Added a new channel driver, chan_unistim. See doc/unistim.txt and
|
|
configs/unistim.conf.sample for details. This new channel driver allows
|
|
you to use Nortel i2002, i2004, and i2050 phones with Asterisk.
|
|
* A new extension pattern matching algorithm, based on a trie, is introduced
|
|
here, that could noticeably speed up mid-sized to large dialplans.
|
|
It is NOT used by default, as duplicating the behaviour of the old pattern
|
|
matcher is still under development. A config file option, in extensions.conf,
|
|
in the [general] section, called "extenpatternmatchingnew", is by default
|
|
set to false; setting that to true will force the use of the new algorithm.
|
|
Also, the cli commands "dialplan set extenpatternmatchingnew true/false" can
|
|
be used to switch the algorithms at run time.
|
|
|