mirror of https://github.com/asterisk/asterisk
commit
7757b7d6a6
@ -1,218 +0,0 @@
|
||||
=========================================================
|
||||
===
|
||||
=== Information for upgrading from Asterisk 1.0 to 1.2
|
||||
===
|
||||
=== This file documents all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also includes advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=========================================================
|
||||
|
||||
Compiling:
|
||||
|
||||
* The Asterisk 1.2 source code now uses C language features
|
||||
supported only by 'modern' C compilers. Generally, this means GCC
|
||||
version 3.0 or higher, although some GCC 2.96 releases will also
|
||||
work. Some non-GCC compilers that support C99 and the common GCC
|
||||
extensions (including anonymous structures and unions) will also
|
||||
work. All releases of GCC 2.95 do _not_ have the requisite feature
|
||||
support; systems using that compiler will need to be upgraded to
|
||||
a more recent compiler release.
|
||||
|
||||
Dialplan Expressions:
|
||||
|
||||
* The dialplan expression parser (which handles $[ ... ] constructs)
|
||||
has gone through a major upgrade, but has one incompatible change:
|
||||
spaces are no longer required around expression operators, including
|
||||
string comparisons. However, you can now use quoting to keep strings
|
||||
together for comparison. For more details, please read the
|
||||
doc/README.variables file, and check over your dialplan for possible
|
||||
problems.
|
||||
|
||||
Agents:
|
||||
|
||||
* The default for ackcall has been changed to "no" instead of "yes"
|
||||
because of a bug which caused the "yes" behavior to generally act like
|
||||
"no". You may need to adjust the value if your agents behave
|
||||
differently than you expect with respect to acknowledgement.
|
||||
|
||||
* The AgentCallBackLogin application now requires a second '|' before
|
||||
specifying an extension@context. This is to distinguish the options
|
||||
string from the extension, so that they do not conflict. See
|
||||
'show application AgentCallbackLogin' for more details.
|
||||
|
||||
Parking:
|
||||
|
||||
* Parking behavior has changed slightly; when a parked call times out,
|
||||
Asterisk will attempt to deliver the call back to the extension that
|
||||
parked it, rather than the 's' extension. If that extension is busy
|
||||
or unavailable, the parked call will be lost.
|
||||
|
||||
Dialing:
|
||||
|
||||
* The Caller*ID of the outbound leg is now the extension that was
|
||||
called, rather than the Caller*ID of the inbound leg of the call. The
|
||||
"o" flag for Dial can be used to restore the original behavior if
|
||||
desired. Note that if you are looking for the originating callerid
|
||||
from the manager event, there is a new manager event "Dial" which
|
||||
provides the source and destination channels and callerid.
|
||||
|
||||
IAX:
|
||||
|
||||
* The naming convention for IAX channels has changed in two ways:
|
||||
1. The call number follows a "-" rather than a "/" character.
|
||||
2. The name of the channel has been simplified to IAX2/peer-callno,
|
||||
rather than IAX2/peer@peer-callno or even IAX2/peer@peer/callno.
|
||||
|
||||
SIP:
|
||||
|
||||
* The global option "port" in 1.0.X that is used to set which port to
|
||||
bind to has been changed to "bindport" to be more consistent with
|
||||
the other channel drivers and to avoid confusion with the "port"
|
||||
option for users/peers.
|
||||
|
||||
* The "Registry" event now uses "Username" rather than "User" for
|
||||
consistency with IAX.
|
||||
|
||||
Applications:
|
||||
|
||||
* With the addition of dialplan functions (which operate similarly
|
||||
to variables), the SetVar application has been renamed to Set.
|
||||
|
||||
* The CallerPres application has been removed. Use SetCallerPres
|
||||
instead. It accepts both numeric and symbolic names.
|
||||
|
||||
* The applications GetGroupCount, GetGroupMatchCount, SetGroup, and
|
||||
CheckGroup have been deprecated in favor of functions. Here is a
|
||||
table of their replacements:
|
||||
|
||||
GetGroupCount([groupname][@category] GROUP_COUNT([groupname][@category]) Set(GROUPCOUNT=${GROUP_COUNT()})
|
||||
GroupMatchCount(groupmatch[@category]) GROUP_MATCH_COUNT(groupmatch[@category]) Set(GROUPCOUNT=${GROUP_MATCH_COUNT(SIP/.*)})
|
||||
SetGroup(groupname[@category]) GROUP([category])=groupname Set(GROUP()=test)
|
||||
CheckGroup(max[@category]) N/A GotoIf($[ ${GROUP_COUNT()} > 5 ]?103)
|
||||
|
||||
Note that CheckGroup does not have a direct replacement. There is
|
||||
also a new function called GROUP_LIST() which will return a space
|
||||
separated list of all of the groups set on a channel. The GROUP()
|
||||
function can also return the name of the group set on a channel when
|
||||
used in a read environment.
|
||||
|
||||
* The applications DBGet and DBPut have been deprecated in favor of
|
||||
functions. Here is a table of their replacements:
|
||||
|
||||
DBGet(foo=family/key) Set(foo=${DB(family/key)})
|
||||
DBPut(family/key=${foo}) Set(DB(family/key)=${foo})
|
||||
|
||||
* The application SetLanguage has been deprecated in favor of the
|
||||
function LANGUAGE().
|
||||
|
||||
SetLanguage(fr) Set(LANGUAGE()=fr)
|
||||
|
||||
The LANGUAGE function can also return the currently set language:
|
||||
|
||||
Set(MYLANG=${LANGUAGE()})
|
||||
|
||||
* The applications AbsoluteTimeout, DigitTimeout, and ResponseTimeout
|
||||
have been deprecated in favor of the function TIMEOUT(timeouttype):
|
||||
|
||||
AbsoluteTimeout(300) Set(TIMEOUT(absolute)=300)
|
||||
DigitTimeout(15) Set(TIMEOUT(digit)=15)
|
||||
ResponseTimeout(15) Set(TIMEOUT(response)=15)
|
||||
|
||||
The TIMEOUT() function can also return the currently set timeouts:
|
||||
|
||||
Set(DTIMEOUT=${TIMEOUT(digit)})
|
||||
|
||||
* The applications SetCIDName, SetCIDNum, and SetRDNIS have been
|
||||
deprecated in favor of the CALLERID(datatype) function:
|
||||
|
||||
SetCIDName(Joe Cool) Set(CALLERID(name)=Joe Cool)
|
||||
SetCIDNum(2025551212) Set(CALLERID(number)=2025551212)
|
||||
SetRDNIS(2024561414) Set(CALLERID(RDNIS)=2024561414)
|
||||
|
||||
* The application Record now uses the period to separate the filename
|
||||
from the format, rather than the colon.
|
||||
|
||||
* The application VoiceMail now supports a 'temporary' greeting for each
|
||||
mailbox. This greeting can be recorded by using option 4 in the
|
||||
'mailbox options' menu, and 'change your password' option has been
|
||||
moved to option 5.
|
||||
|
||||
* The application VoiceMailMain now only matches the 'default' context if
|
||||
none is specified in the arguments. (This was the previously
|
||||
documented behavior, however, we didn't follow that behavior.) The old
|
||||
behavior can be restored by setting searchcontexts=yes in voicemail.conf.
|
||||
|
||||
Queues:
|
||||
|
||||
* A queue is now considered empty not only if there are no members but if
|
||||
none of the members are available (e.g. agents not logged on). To
|
||||
restore the original behavior, use "leavewhenempty=strict" or
|
||||
"joinwhenempty=strict" instead of "=yes" for those options.
|
||||
|
||||
* It is now possible to use multi-digit extensions in the exit context
|
||||
for a queue (although you should not have overlapping extensions,
|
||||
as there is no digit timeout). This means that the EXITWITHKEY event
|
||||
in queue_log can now contain a key field with more than a single
|
||||
character in it.
|
||||
|
||||
Extensions:
|
||||
|
||||
* By default, there is a new option called "autofallthrough" in
|
||||
extensions.conf that is set to yes. Asterisk 1.0 (and earlier)
|
||||
behavior was to wait for an extension to be dialed after there were no
|
||||
more extensions to execute. "autofallthrough" changes this behavior
|
||||
so that the call will immediately be terminated with BUSY,
|
||||
CONGESTION, or HANGUP based on Asterisk's best guess. If you are
|
||||
writing an extension for IVR, you must use the WaitExten application
|
||||
if "autofallthrough" is set to yes.
|
||||
|
||||
AGI:
|
||||
|
||||
* AGI scripts did not always get SIGHUP at the end, previously. That
|
||||
behavior has been fixed. If you do not want your script to terminate
|
||||
at the end of AGI being called (e.g. on a hangup) then set SIGHUP to
|
||||
be ignored within your application.
|
||||
|
||||
* CallerID is reported with agi_callerid and agi_calleridname instead
|
||||
of a single parameter holding both.
|
||||
|
||||
Music On Hold:
|
||||
|
||||
* The preferred format for musiconhold.conf has changed; please see the
|
||||
sample configuration file for the new format. The existing format
|
||||
is still supported but will generate warnings when the module is loaded.
|
||||
|
||||
chan_modem:
|
||||
|
||||
* All the chan_modem channel drivers (aopen, bestdata and i4l) are deprecated
|
||||
in this release, and will be removed in the next major Asterisk release.
|
||||
Please migrate to chan_misdn for ISDN interfaces; there is no upgrade
|
||||
path for aopen and bestdata modem users.
|
||||
|
||||
MeetMe:
|
||||
|
||||
* The conference application now allows users to increase/decrease their
|
||||
speaking volume and listening volume (independently of each other and
|
||||
other users); the 'admin' and 'user' menus have changed, and new sound
|
||||
files are included with this release. However, if a user calling in
|
||||
over a Zaptel channel that does NOT have hardware DTMF detection
|
||||
increases their speaking volume, it is likely they will no longer be
|
||||
able to enter/exit the menu or make any further adjustments, as the
|
||||
software DTMF detector will not be able to recognize the DTMF coming
|
||||
from their device.
|
||||
|
||||
GetVar Manager Action:
|
||||
|
||||
* Previously, the behavior of the GetVar manager action reported the value
|
||||
of a variable in the following manner:
|
||||
> name: value
|
||||
This has been changed to a manner similar to the SetVar action and is now
|
||||
> Variable: name
|
||||
> Value: value
|
@ -1,497 +0,0 @@
|
||||
=========================================================
|
||||
===
|
||||
=== Information for upgrading from Asterisk 1.2 to 1.4
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also includes advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
===
|
||||
=========================================================
|
||||
|
||||
Build Process (configure script):
|
||||
|
||||
Asterisk now uses an autoconf-generated configuration script to learn how it
|
||||
should build itself for your system. As it is a standard script, running:
|
||||
|
||||
$ ./configure --help
|
||||
|
||||
will show you all the options available. This script can be used to tell the
|
||||
build process what libraries you have on your system (if it cannot find them
|
||||
automatically), which libraries you wish to have ignored even though they may
|
||||
be present, etc.
|
||||
|
||||
You must run the configure script before Asterisk will build, although it will
|
||||
attempt to automatically run it for you with no options specified; for most
|
||||
users, that will result in a similar build to what they would have had before
|
||||
the configure script was added to the build process (except for having to run
|
||||
'make' again after the configure script is run). Note that the configure script
|
||||
does NOT need to be re-run just to rebuild Asterisk; you only need to re-run it
|
||||
when your system configuration changes or you wish to build Asterisk with
|
||||
different options.
|
||||
|
||||
Build Process (module selection):
|
||||
|
||||
The Asterisk source tree now includes a basic module selection and build option
|
||||
selection tool called 'menuselect'. Run 'make menuselect' to make your choices.
|
||||
In this tool, you can disable building of modules that you don't care about,
|
||||
turn on/off global options for the build and see which modules will not
|
||||
(and cannot) be built because your system does not have the required external
|
||||
dependencies installed.
|
||||
|
||||
The resulting file from menuselect is called 'menuselect.makeopts'. Note that
|
||||
the resulting menuselect.makeopts file generally contains which modules *not*
|
||||
to build. The modules listed in this file indicate which modules have unmet
|
||||
dependencies, a present conflict, or have been disabled by the user in the
|
||||
menuselect interface. Compiler Flags can also be set in the menuselect
|
||||
interface. In this case, the resulting file contains which CFLAGS are in use,
|
||||
not which ones are not in use.
|
||||
|
||||
If you would like to save your choices and have them applied against all
|
||||
builds, the file can be copied to '~/.asterisk.makeopts' or
|
||||
'/etc/asterisk.makeopts'.
|
||||
|
||||
Build Process (Makefile targets):
|
||||
|
||||
The 'valgrind' and 'dont-optimize' targets have been removed; their functionality
|
||||
is available by enabling the DONT_OPTIMIZE setting in the 'Compiler Flags' menu
|
||||
in the menuselect tool.
|
||||
|
||||
It is now possible to run most make targets against a single subdirectory; from
|
||||
the top level directory, for example, 'make channels' will run 'make all' in the
|
||||
'channels' subdirectory. This also is true for 'clean', 'distclean' and 'depend'.
|
||||
|
||||
Sound (prompt) and Music On Hold files:
|
||||
|
||||
Beginning with Asterisk 1.4, the sound files and music on hold files supplied for
|
||||
use with Asterisk have been replaced with new versions produced from high quality
|
||||
master recordings, and are available in three languages (English, French and
|
||||
Spanish) and in five formats (WAV (uncompressed), mu-Law, a-Law, GSM and G.729).
|
||||
In addition, the music on hold files provided by opsound.org Music are now available
|
||||
in the same five formats, but no longer available in MP3 format.
|
||||
|
||||
The Asterisk 1.4 tarball packages will only include English prompts in GSM format,
|
||||
(as were supplied with previous releases) and the opsound.org MOH files in WAV format.
|
||||
All of the other variations can be installed by running 'make menuselect' and
|
||||
selecting the packages you wish to install; when you run 'make install', those
|
||||
packages will be downloaded and installed along with the standard files included
|
||||
in the tarball.
|
||||
|
||||
If for some reason you expect to not have Internet access at the time you will be
|
||||
running 'make install', you can make your package selections using menuselect and
|
||||
then run 'make sounds' to download (only) the sound packages; this will leave the
|
||||
sound packages in the 'sounds' subdirectory to be used later during installation.
|
||||
|
||||
WARNING: Asterisk 1.4 supports a new layout for sound files in multiple languages;
|
||||
instead of the alternate-language files being stored in subdirectories underneath
|
||||
the existing files (for French, that would be digits/fr, letters/fr, phonetic/fr,
|
||||
etc.) the new layout creates one directory under /var/lib/asterisk/sounds for the
|
||||
language itself, then places all the sound files for that language under that
|
||||
directory and its subdirectories. This is the layout that will be created if you
|
||||
select non-English languages to be installed via menuselect, HOWEVER Asterisk does
|
||||
not default to this layout and will not find the files in the places it expects them
|
||||
to be. If you wish to use this layout, make sure you put 'languageprefix=yes' in your
|
||||
/etc/asterisk/asterisk.conf file, so that Asterisk will know how the files were
|
||||
installed.
|
||||
|
||||
PBX Core:
|
||||
|
||||
* The (very old and undocumented) ability to use BYEXTENSION for dialing
|
||||
instead of ${EXTEN} has been removed.
|
||||
|
||||
* Builtin (res_features) transfer functionality attempts to use the context
|
||||
defined in TRANSFER_CONTEXT variable of the transferer channel first. If
|
||||
not set, it uses the transferee variable. If not set in any channel, it will
|
||||
attempt to use the last non macro context. If not possible, it will default
|
||||
to the current context.
|
||||
|
||||
* The autofallthrough setting introduced in Asterisk 1.2 now defaults to 'yes';
|
||||
if your dialplan relies on the ability to 'run off the end' of an extension
|
||||
and wait for a new extension without using WaitExten() to accomplish that,
|
||||
you will need set autofallthrough to 'no' in your extensions.conf file.
|
||||
|
||||
Command Line Interface:
|
||||
|
||||
* 'show channels concise', designed to be used by applications that will parse
|
||||
its output, previously used ':' characters to separate fields. However, some
|
||||
of those fields can easily contain that character, making the output not
|
||||
parseable. The delimiter has been changed to '!'.
|
||||
|
||||
Applications:
|
||||
|
||||
* In previous Asterisk releases, many applications would jump to priority n+101
|
||||
to indicate some kind of status or error condition. This functionality was
|
||||
marked deprecated in Asterisk 1.2. An option to disable it was provided with
|
||||
the default value set to 'on'. The default value for the global priority
|
||||
jumping option is now 'off'.
|
||||
|
||||
* The applications Cut, Sort, DBGet, DBPut, SetCIDNum, SetCIDName, SetRDNIS,
|
||||
AbsoluteTimeout, DigitTimeout, ResponseTimeout, SetLanguage, GetGroupCount,
|
||||
and GetGroupMatchCount were all deprecated in version 1.2, and therefore have
|
||||
been removed in this version. You should use the equivalent dialplan
|
||||
function in places where you have previously used one of these applications.
|
||||
|
||||
* The application SetGlobalVar has been deprecated. You should replace uses
|
||||
of this application with the following combination of Set and GLOBAL():
|
||||
Set(GLOBAL(name)=value). You may also access global variables exclusively by
|
||||
using the GLOBAL() dialplan function, instead of relying on variable
|
||||
interpolation falling back to globals when no channel variable is set.
|
||||
|
||||
* The application SetVar has been renamed to Set. The syntax SetVar was marked
|
||||
deprecated in version 1.2 and is no longer recognized in this version. The
|
||||
use of Set with multiple argument pairs has also been deprecated. Please
|
||||
separate each name/value pair into its own dialplan line.
|
||||
|
||||
* app_read has been updated to use the newer options codes, using "skip" or
|
||||
"noanswer" will not work. Use s or n. Also there is a new feature i, for
|
||||
using indication tones, so typing in skip would give you unexpected results.
|
||||
|
||||
* OSPAuth is added to authenticate OSP tokens in in_bound call setup messages.
|
||||
|
||||
* The CONNECT event in the queue_log from app_queue now has a second field
|
||||
in addition to the holdtime field. It contains the unique ID of the
|
||||
queue member channel that is taking the call. This is useful when trying
|
||||
to link recording filenames back to a particular call from the queue.
|
||||
|
||||
* The old/current behavior of app_queue has a serial type behavior
|
||||
in that the queue will make all waiting callers wait in the queue
|
||||
even if there is more than one available member ready to take
|
||||
calls until the head caller is connected with the member they
|
||||
were trying to get to. The next waiting caller in line then
|
||||
becomes the head caller, and they are then connected with the
|
||||
next available member and all available members and waiting callers
|
||||
waits while this happens. This cycle continues until there are
|
||||
no more available members or waiting callers, whichever comes first.
|
||||
The new behavior, enabled by setting autofill=yes in queues.conf
|
||||
either at the [general] level to default for all queues or
|
||||
to set on a per-queue level, makes sure that when the waiting
|
||||
callers are connecting with available members in a parallel fashion
|
||||
until there are no more available members or no more waiting callers,
|
||||
whichever comes first. This is probably more along the lines of how
|
||||
one would expect a queue should work and in most cases, you will want
|
||||
to enable this new behavior. If you do not specify or comment out this
|
||||
option, it will default to "no" to keep backward compatability with the old
|
||||
behavior.
|
||||
|
||||
* Queues depend on the channel driver reporting the proper state
|
||||
for each member of the queue. To get proper signalling on
|
||||
queue members that use the SIP channel driver, you need to
|
||||
enable a call limit (could be set to a high value so it
|
||||
is not put into action) and also make sure that both inbound
|
||||
and outbound calls are accounted for.
|
||||
|
||||
Example:
|
||||
|
||||
[general]
|
||||
limitonpeer = yes
|
||||
|
||||
[peername]
|
||||
type=friend
|
||||
call-limit=10
|
||||
|
||||
|
||||
* The app_queue application now has the ability to use MixMonitor to
|
||||
record conversations queue members are having with queue callers. Please
|
||||
see configs/queues.conf.sample for more information on this option.
|
||||
|
||||
* The app_queue application strategy called 'roundrobin' has been deprecated
|
||||
for this release. Users are encouraged to use 'rrmemory' instead, since it
|
||||
provides more 'true' round-robin call delivery. For the Asterisk 1.6 release,
|
||||
'rrmemory' will be renamed 'roundrobin'.
|
||||
|
||||
* The app_queue application option called 'monitor-join' has been deprecated
|
||||
for this release. Users are encouraged to use 'monitor-type=mixmonitor' instead,
|
||||
since it provides the same functionality but is not dependent on soxmix or some
|
||||
other external program in order to mix the audio.
|
||||
|
||||
* app_meetme: The 'm' option (monitor) is renamed to 'l' (listen only), and
|
||||
the 'm' option now provides the functionality of "initially muted".
|
||||
In practice, most existing dialplans using the 'm' flag should not notice
|
||||
any difference, unless the keypad menu is enabled, allowing the user
|
||||
to unmute themsleves.
|
||||
|
||||
* ast_play_and_record would attempt to cancel the recording if a DTMF
|
||||
'0' was received. This behavior was not documented in most of the
|
||||
applications that used ast_play_and_record and the return codes from
|
||||
ast_play_and_record weren't checked for properly.
|
||||
ast_play_and_record has been changed so that '0' no longer cancels a
|
||||
recording. If you want to allow DTMF digits to cancel an
|
||||
in-progress recording use ast_play_and_record_full which allows you
|
||||
to specify which DTMF digits can be used to accept a recording and
|
||||
which digits can be used to cancel a recording.
|
||||
|
||||
* ast_app_messagecount has been renamed to ast_app_inboxcount. There is now a
|
||||
new ast_app_messagecount function which takes a single context/mailbox/folder
|
||||
mailbox specification and returns the message count for that folder only.
|
||||
This addresses the deficiency of not being able to count the number of
|
||||
messages in folders other than INBOX and Old.
|
||||
|
||||
* The exit behavior of the AGI applications has changed. Previously, when
|
||||
a connection to an AGI server failed, the application would cause the channel
|
||||
to immediately stop dialplan execution and hangup. Now, the only time that
|
||||
the AGI applications will cause the channel to stop dialplan execution is
|
||||
when the channel itself requests hangup. The AGI applications now set an
|
||||
AGISTATUS variable which will allow you to find out whether running the AGI
|
||||
was successful or not.
|
||||
|
||||
Previously, there was no way to handle the case where Asterisk was unable to
|
||||
locally execute an AGI script for some reason. In this case, dialplan
|
||||
execution will continue as it did before, but the AGISTATUS variable will be
|
||||
set to "FAILURE".
|
||||
|
||||
A locally executed AGI script can now exit with a non-zero exit code and this
|
||||
failure will be detected by Asterisk. If an AGI script exits with a non-zero
|
||||
exit code, the AGISTATUS variable will be set to "FAILURE" as opposed to
|
||||
"SUCCESS".
|
||||
|
||||
* app_voicemail: The ODBC_STORAGE capability now requires the extended table format
|
||||
previously used only by EXTENDED_ODBC_STORAGE. This means that you will need to update
|
||||
your table format using the schema provided in doc/odbcstorage.txt
|
||||
|
||||
* app_waitforsilence: Fixes have been made to this application which changes the
|
||||
default behavior with how quickly it returns. You can maintain "old-style" behavior
|
||||
with the addition/use of a third "timeout" parameter.
|
||||
Please consult the application documentation and make changes to your dialplan
|
||||
if appropriate.
|
||||
|
||||
Manager:
|
||||
|
||||
* After executing the 'status' manager action, the "Status" manager events
|
||||
included the header "CallerID:" which was actually only the CallerID number,
|
||||
and not the full CallerID string. This header has been renamed to
|
||||
"CallerIDNum". For compatibility purposes, the CallerID parameter will remain
|
||||
until after the release of 1.4, when it will be removed. Please use the time
|
||||
during the 1.4 release to make this transition.
|
||||
|
||||
* The AgentConnect event now has an additional field called "BridgedChannel"
|
||||
which contains the unique ID of the queue member channel that is taking the
|
||||
call. This is useful when trying to link recording filenames back to
|
||||
a particular call from the queue.
|
||||
|
||||
* app_userevent has been modified to always send Event: UserEvent with the
|
||||
additional header UserEvent: <userspec>. Also, the Channel and UniqueID
|
||||
headers are not automatically sent, unless you specify them as separate
|
||||
arguments. Please see the application help for the new syntax.
|
||||
|
||||
* app_meetme: Mute and Unmute events are now reported via the Manager API.
|
||||
Native Manager API commands MeetMeMute and MeetMeUnmute are provided, which
|
||||
are easier to use than "Action Command:". The MeetMeStopTalking event has
|
||||
also been deprecated in favor of the already existing MeetmeTalking event
|
||||
with a "Status" of "on" or "off" added.
|
||||
|
||||
* OriginateFailure and OriginateSuccess events were replaced by event
|
||||
OriginateResponse with a header named "Response" to indicate success or
|
||||
failure
|
||||
|
||||
Variables:
|
||||
|
||||
* The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
|
||||
${CALLERANI}, ${DNID}, ${RDNIS}, ${DATETIME}, ${TIMESTAMP}, ${ACCOUNTCODE},
|
||||
and ${LANGUAGE} have all been deprecated in favor of their related dialplan
|
||||
functions. You are encouraged to move towards the associated dialplan
|
||||
function, as these variables will be removed in a future release.
|
||||
|
||||
* The CDR-CSV variables uniqueid, userfield, and basing time on GMT are now
|
||||
adjustable from cdr.conf, instead of recompiling.
|
||||
|
||||
* OSP applications exports several new variables, ${OSPINHANDLE},
|
||||
${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
|
||||
${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
|
||||
|
||||
* Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
|
||||
created channel. This variables holds the channel name of the transferer.
|
||||
|
||||
* The dial plan variable PRI_CAUSE will be removed from future versions
|
||||
of Asterisk.
|
||||
It is replaced by adding a cause value to the hangup() application.
|
||||
|
||||
Functions:
|
||||
|
||||
* The function ${CHECK_MD5()} has been deprecated in favor of using an
|
||||
expression: $[${MD5(<string>)} = ${saved_md5}].
|
||||
|
||||
* The 'builtin' functions that used to be combined in pbx_functions.so are
|
||||
now built as separate modules. If you are not using 'autoload=yes' in your
|
||||
modules.conf file then you will need to explicitly load the modules that
|
||||
contain the functions you want to use.
|
||||
|
||||
* The ENUMLOOKUP() function with the 'c' option (for counting the number of
|
||||
records), but the lookup fails to match any records, the returned value will
|
||||
now be "0" instead of blank.
|
||||
|
||||
* The REALTIME() function is now available in version 1.4 and app_realtime has
|
||||
been deprecated in favor of the new function. app_realtime will be removed
|
||||
completely with the version 1.6 release so please take the time between
|
||||
releases to make any necessary changes
|
||||
|
||||
* The QUEUEAGENTCOUNT() function has been deprecated in favor of
|
||||
QUEUE_MEMBER_COUNT().
|
||||
|
||||
The IAX2 channel:
|
||||
|
||||
* It is possible that previous configurations depended on the order in which
|
||||
peers and users were specified in iax.conf for forcing the order in which
|
||||
chan_iax2 matched against them. This behavior is going away and is considered
|
||||
deprecated in this version. Avoid having ambiguous peer and user entries and
|
||||
to make things easy on yourself, always set the "username" option for users
|
||||
so that the remote end can match on that exactly instead of trying to infer
|
||||
which user you want based on host.
|
||||
|
||||
If you would like to go ahead and use the new behavior which doesn't use the
|
||||
order in the config file to influence matching order, then change the
|
||||
MAX_PEER_BUCKETS define in chan_iax2.c to a value greater than one. An
|
||||
example is provided there. By changing this, you will get *much* better
|
||||
performance on systems that do a lot of peer and user lookups as they will be
|
||||
stored in memory in a much more efficient manner.
|
||||
|
||||
* The "mailboxdetail" option has been deprecated. Previously, if this option
|
||||
was not enabled, the 2 byte MSGCOUNT information element would be set to all
|
||||
1's to indicate there there is some number of messages waiting. With this
|
||||
option enabled, the number of new messages were placed in one byte and the
|
||||
number of old messages are placed in the other. This is now the default
|
||||
(and the only) behavior.
|
||||
|
||||
The SIP channel:
|
||||
|
||||
* The "incominglimit" setting is replaced by the "call-limit" setting in
|
||||
sip.conf.
|
||||
|
||||
* OSP support code is removed from SIP channel to OSP applications. ospauth
|
||||
option in sip.conf is removed to osp.conf as authpolicy. allowguest option
|
||||
in sip.conf cannot be set as osp anymore.
|
||||
|
||||
* The Asterisk RTP stack has been changed in regards to RFC2833 reception
|
||||
and transmission. Packets will now be sent with proper duration instead of all
|
||||
at once. If you are receiving calls from a pre-1.4 Asterisk installation you
|
||||
will want to turn on the rfc2833compensate option. Without this option your
|
||||
DTMF reception may act poorly.
|
||||
|
||||
* The $SIPUSERAGENT dialplan variable is deprecated and will be removed
|
||||
in coming versions of Asterisk. Please use the dialplan function
|
||||
SIPCHANINFO(useragent) instead.
|
||||
|
||||
* The ALERT_INFO dialplan variable is deprecated and will be removed
|
||||
in coming versions of Asterisk. Please use the dialplan application
|
||||
sipaddheader() to add the "Alert-Info" header to the outbound invite.
|
||||
|
||||
* The "canreinvite" option has changed. canreinvite=yes used to disable
|
||||
re-invites if you had NAT=yes. In 1.4, you need to set canreinvite=nonat
|
||||
to disable re-invites when NAT=yes. This is propably what you want.
|
||||
The settings are now: "yes", "no", "nonat", "update". Please consult
|
||||
sip.conf.sample for detailed information.
|
||||
|
||||
The Zap channel:
|
||||
|
||||
* Support for MFC/R2 has been removed, as it has not been functional for some
|
||||
time and it has no maintainer.
|
||||
|
||||
The Agent channel:
|
||||
|
||||
* Callback mode (AgentCallbackLogin) is now deprecated, since the entire function
|
||||
it provided can be done using dialplan logic, without requiring additional
|
||||
channel and module locks (which frequently caused deadlocks). An example of
|
||||
how to do this using AEL dialplan is in doc/queues-with-callback-members.txt.
|
||||
|
||||
The G726-32 codec:
|
||||
|
||||
* It has been determined that previous versions of Asterisk used the wrong codeword
|
||||
packing order for G726-32 data. This version supports both available packing orders,
|
||||
and can transcode between them. It also now selects the proper order when
|
||||
negotiating with a SIP peer based on the codec name supplied in the SDP. However,
|
||||
there are existing devices that improperly request one order and then use another;
|
||||
Sipura and Grandstream ATAs are known to do this, and there may be others. To
|
||||
be able to continue to use these devices with this version of Asterisk and the
|
||||
G726-32 codec, a configuration parameter called 'g726nonstandard' has been added
|
||||
to sip.conf, so that Asterisk can use the packing order expected by the device (even
|
||||
though it requested a different order). In addition, the internal format number for
|
||||
G726-32 has been changed, and the old number is now assigned to AAL2-G726-32. The
|
||||
result of this is that this version of Asterisk will be able to interoperate over
|
||||
IAX2 with older versions of Asterisk, as long as this version is told to allow
|
||||
'g726aal2' instead of 'g726' as the codec for the call.
|
||||
|
||||
Installation:
|
||||
|
||||
* On BSD systems, the installation directories have changed to more "FreeBSDish"
|
||||
directories. On startup, Asterisk will look for the main configuration in
|
||||
/usr/local/etc/asterisk/asterisk.conf
|
||||
If you have an old installation, you might want to remove the binaries and
|
||||
move the configuration files to the new locations. The following directories
|
||||
are now default:
|
||||
ASTLIBDIR /usr/local/lib/asterisk
|
||||
ASTVARLIBDIR /usr/local/share/asterisk
|
||||
ASTETCDIR /usr/local/etc/asterisk
|
||||
ASTBINDIR /usr/local/bin/asterisk
|
||||
ASTSBINDIR /usr/local/sbin/asterisk
|
||||
|
||||
Music on Hold:
|
||||
|
||||
* The music on hold handling has been changed in some significant ways in hopes
|
||||
to make it work in a way that is much less confusing to users. Behavior will
|
||||
not change if the same configuration is used from older versions of Asterisk.
|
||||
However, there are some new configuration options that will make things work
|
||||
in a way that makes more sense.
|
||||
|
||||
Previously, many of the channel drivers had an option called "musicclass" or
|
||||
something similar. This option set what music on hold class this channel
|
||||
would *hear* when put on hold. Some people expected (with good reason) that
|
||||
this option was to configure what music on hold class to play when putting
|
||||
the bridged channel on hold. This option has now been deprecated.
|
||||
|
||||
Two new music on hold related configuration options for channel drivers have
|
||||
been introduced. Some channel drivers support both options, some just one,
|
||||
and some support neither of them. Check the sample configuration files to see
|
||||
which options apply to which channel driver.
|
||||
|
||||
The "mohsuggest" option specifies which music on hold class to suggest to the
|
||||
bridged channel when putting them on hold. The only way that this class can
|
||||
be overridden is if the bridged channel has a specific music class set that
|
||||
was done in the dialplan using Set(CHANNEL(musicclass)=something).
|
||||
|
||||
The "mohinterpret" option is similar to the old "musicclass" option. It
|
||||
specifies which music on hold class this channel would like to listen to when
|
||||
put on hold. This music class is only effective if this channel has no music
|
||||
class set on it from the dialplan and the bridged channel putting this one on
|
||||
hold had no "mohsuggest" setting.
|
||||
|
||||
The IAX2 and Zap channel drivers have an additional feature for the
|
||||
"mohinterpret" option. If this option is set to "passthrough", then these
|
||||
channel drivers will pass through the HOLD message in signalling instead of
|
||||
starting music on hold on the channel. An example for how this would be
|
||||
useful is in an enterprise network of Asterisk servers. When one phone on one
|
||||
server puts a phone on a different server on hold, the remote server will be
|
||||
responsible for playing the hold music to its local phone that was put on
|
||||
hold instead of the far end server across the network playing the music.
|
||||
|
||||
CDR Records:
|
||||
|
||||
* The behavior of the "clid" field of the CDR has always been that it will
|
||||
contain the callerid ANI if it is set, or the callerid number if ANI was not
|
||||
set. When using the "callerid" option for various channel drivers, some
|
||||
would set ANI and some would not. This has been cleared up so that all
|
||||
channel drivers set ANI. If you would like to change the callerid number
|
||||
on the channel from the dialplan and have that change also show up in the
|
||||
CDR, then you *must* set CALLERID(ANI) as well as CALLERID(num).
|
||||
|
||||
API:
|
||||
|
||||
* There are some API functions that were not previously prefixed with the 'ast_'
|
||||
prefix but now are; these include the ADSI, ODBC and AGI interfaces. If you
|
||||
have a module that uses the services provided by res_adsi, res_odbc, or
|
||||
res_agi, you will need to add ast_ prefixes to the functions that you call
|
||||
from those modules.
|
||||
|
||||
Formats:
|
||||
|
||||
* format_wav: The GAIN preprocessor definition has been changed from 2 to 0
|
||||
in Asterisk 1.4. This change was made in response to user complaints of
|
||||
choppiness or the clipping of loud signal peaks. The GAIN preprocessor
|
||||
definition will be retained in Asterisk 1.4, but will be removed in a
|
||||
future release. The use of GAIN for the increasing of voicemail message
|
||||
volume should use the 'volgain' option in voicemail.conf
|
@ -1,277 +0,0 @@
|
||||
=========================================================
|
||||
===
|
||||
=== Information for upgrading from Asterisk 1.4 to 1.6
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also includes advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
===
|
||||
=========================================================
|
||||
|
||||
AEL:
|
||||
|
||||
* Macros are now implemented underneath with the Gosub() application.
|
||||
Heaven Help You if you wrote code depending on any aspect of this!
|
||||
Previous to 1.6, macros were implemented with the Macro() app, which
|
||||
provided a nice feature of auto-returning. The compiler will do its
|
||||
best to insert a Return() app call at the end of your macro if you did
|
||||
not include it, but really, you should make sure that all execution
|
||||
paths within your macros end in "return;".
|
||||
|
||||
* The conf2ael program is 'introduced' in this release; it is in a rather
|
||||
crude state, but deemed useful for making a first pass at converting
|
||||
extensions.conf code into AEL. More intelligence will come with time.
|
||||
|
||||
Core:
|
||||
|
||||
* The 'languageprefix' option in asterisk.conf is now deprecated, and
|
||||
the default sound file layout for non-English sounds is the 'new
|
||||
style' layout introduced in Asterisk 1.4 (and used by the automatic
|
||||
sound file installer in the Makefile).
|
||||
|
||||
* The ast_expr2 stuff has been modified to handle floating-point numbers.
|
||||
Numbers of the format D.D are now acceptable input for the expr parser,
|
||||
Where D is a string of base-10 digits. All math is now done in "long double",
|
||||
if it is available on your compiler/architecture. This was half-way between
|
||||
a bug-fix (because the MATH func returns fp by default), and an enhancement.
|
||||
Also, for those counting on, or needing, integer operations, a series of
|
||||
'functions' were also added to the expr language, to allow several styles
|
||||
of rounding/truncation, along with a set of common floating point operations,
|
||||
like sin, cos, tan, log, pow, etc. The ability to call external functions
|
||||
like CDR(), etc. was also added, without having to use the ${...} notation.
|
||||
|
||||
* The delimiter passed to applications has been changed to the comma (','), as
|
||||
that is what people are used to using within extensions.conf. If you are
|
||||
using realtime extensions, you will need to translate your existing dialplan
|
||||
to use this separator. To use a literal comma, you need merely to escape it
|
||||
with a backslash ('\'). Another possible side effect is that you may need to
|
||||
remove the obscene level of backslashing that was necessary for the dialplan
|
||||
to work correctly in 1.4 and previous versions. This should make writing
|
||||
dialplans less painful in the future, albeit with the pain of a one-time
|
||||
conversion. If you would like to avoid this conversion immediately, set
|
||||
pbx_realtime=1.4 in the [compat] section of asterisk.conf. After
|
||||
transitioning, set pbx_realtime=1.6 in the same section.
|
||||
|
||||
* For the same purpose as above, you may set res_agi=1.4 in the [compat]
|
||||
section of asterisk.conf to continue to use the '|' delimiter in the EXEC
|
||||
arguments of AGI applications. After converting to use the ',' delimiter,
|
||||
change this option to res_agi=1.6.
|
||||
|
||||
* As a side effect of the application delimiter change, many places that used
|
||||
to need quotes in order to get the proper meaning are no longer required.
|
||||
You now only need to quote strings in configuration files if you literally
|
||||
want quotation marks within a string.
|
||||
|
||||
* Any applications run that contain the pipe symbol but not a comma symbol will
|
||||
get a warning printed to the effect that the application delimiter has changed.
|
||||
However, there are legitimate reasons why this might be useful in certain
|
||||
situations, so this warning can be turned off with the dontwarn option in
|
||||
asterisk.conf.
|
||||
|
||||
* The logger.conf option 'rotatetimestamp' has been deprecated in favor of
|
||||
'rotatestrategy'. This new option supports a 'rotate' strategy that more
|
||||
closely mimics the system logger in terms of file rotation.
|
||||
|
||||
* The concise versions of various CLI commands are now deprecated. We recommend
|
||||
using the manager interface (AMI) for application integration with Asterisk.
|
||||
|
||||
Voicemail:
|
||||
|
||||
* The voicemail configuration values 'maxmessage' and 'minmessage' have
|
||||
been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
|
||||
to make them more distinguishable from 'maxmsgs', which sets folder
|
||||
size. The old variables will continue to work in this version, albeit
|
||||
with a deprecation warning.
|
||||
|
||||
* If you use any interface for modifying voicemail aside from the built in
|
||||
dialplan applications, then the option "pollmailboxes" *must* be set in
|
||||
voicemail.conf for message waiting indication (MWI) to work properly. This
|
||||
is because Voicemail notification is now event based instead of polling
|
||||
based. The channel drivers are no longer responsible for constantly manually
|
||||
checking mailboxes for changes so that they can send MWI information to users.
|
||||
Examples of situations that would require this option are web interfaces to
|
||||
voicemail or an email client in the case of using IMAP storage.
|
||||
|
||||
Applications:
|
||||
|
||||
|
||||
* ChanIsAvail() now has a 't' option, which allows the specified device
|
||||
to be queried for state without consulting the channel drivers. This
|
||||
performs mostly a 'ChanExists' sort of function.
|
||||
|
||||
* ChannelRedirect() will not terminate the channel that fails to do a
|
||||
channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS
|
||||
will reflect if the attempt was successful of not.
|
||||
|
||||
* SetCallerPres() has been replaced with the CALLERPRES() dialplan function
|
||||
and is now deprecated.
|
||||
|
||||
* DISA()'s fifth argument is now an options argument. If you have previously
|
||||
used 'NOANSWER' in this argument, you'll need to convert that to the new
|
||||
option 'n'.
|
||||
|
||||
* Macro() is now deprecated. If you need subroutines, you should use the
|
||||
Gosub()/Return() applications. To replace MacroExclusive(), we have
|
||||
introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK(). You may use
|
||||
these functions in any location where you desire to ensure that only one
|
||||
channel is executing that path at any one time. The Macro() applications
|
||||
are deprecated for performance reasons. However, since Macro() has been
|
||||
around for a long time and so many dialplans depend heavily on it, for the
|
||||
sake of backwards compatibility it will not be removed . It is also worth
|
||||
noting that using both Macro() and GoSub() at the same time is _heavily_
|
||||
discouraged.
|
||||
|
||||
* Read() now sets a READSTATUS variable on exit. It does NOT automatically
|
||||
return -1 (and hangup) anymore on error. If you want to hangup on error,
|
||||
you need to do so explicitly in your dialplan.
|
||||
|
||||
* Privacy() no longer uses privacy.conf, so any options must be specified
|
||||
directly in the application arguments.
|
||||
|
||||
* MusicOnHold application now has duration parameter which allows specifying
|
||||
timeout in seconds.
|
||||
|
||||
* WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold.
|
||||
|
||||
* SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
|
||||
instead.
|
||||
|
||||
* The arguments in ExecIf changed a bit, to be more like other applications.
|
||||
The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
|
||||
|
||||
* The behavior of the Set application now depends upon a compatibility option,
|
||||
set in asterisk.conf. To use the old 1.4 behavior, which allowed Set to take
|
||||
multiple key/value pairs, set app_set=1.4 in [compat] in asterisk.conf. To
|
||||
use the new behavior, which permits variables to be set with embedded commas,
|
||||
set app_set=1.6 in [compat] in asterisk.conf. Note that you can have both
|
||||
behaviors at the same time, if you switch to using MSet if you want the old
|
||||
behavior.
|
||||
|
||||
Dialplan Functions:
|
||||
|
||||
* QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For
|
||||
more information, issue a "show function QUEUE_MEMBER" from the CLI.
|
||||
|
||||
CDR:
|
||||
|
||||
* The cdr_sqlite module has been marked as deprecated in favor of
|
||||
cdr_sqlite3_custom. It will potentially be removed from the tree
|
||||
after Asterisk 1.6 is released.
|
||||
|
||||
* The cdr_odbc module now uses res_odbc to manage its connections. The
|
||||
username and password parameters in cdr_odbc.conf, therefore, are no
|
||||
longer used. The dsn parameter now points to an entry in res_odbc.conf.
|
||||
|
||||
* The uniqueid field in the core Asterisk structure has been changed from a
|
||||
maximum 31 character field to a 149 character field, to account for all
|
||||
possible values the systemname prefix could be. In the past, if the
|
||||
systemname was too long, the uniqueid would have been truncated.
|
||||
|
||||
* The cdr_tds module now supports all versions of FreeTDS that contain
|
||||
the db-lib frontend. It will also now log the userfield variable if
|
||||
the target database table contains a column for it.
|
||||
|
||||
Formats:
|
||||
|
||||
* format_wav: The GAIN preprocessor definition and source code that used it
|
||||
is removed. This change was made in response to user complaints of
|
||||
choppiness or the clipping of loud signal peaks. To increase the volume
|
||||
of voicemail messages, use the 'volgain' option in voicemail.conf
|
||||
|
||||
Channel Drivers:
|
||||
|
||||
* SIP: a small upgrade to support the "Record" button on the SNOM360,
|
||||
which sends a sip INFO message with a "Record: on" or "Record: off"
|
||||
header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor"
|
||||
requests (by default, via '*1'), then the user-configured dialpad sequence
|
||||
is generated, and recording can be started and stopped via this button. The
|
||||
file names and formats are all controlled via the normal mechanisms. If the
|
||||
user has not configured the automon feature, the normal "415 Unsupported media type"
|
||||
is returned, and nothing is done.
|
||||
|
||||
* SIP: The "call-limit" option is marked as deprecated. It still works in this version of
|
||||
Asterisk, but will be removed in the following version. Please use the groupcount functions
|
||||
in the dialplan to enforce call limits. The "limitonpeer" configuration option is
|
||||
now renamed to "counteronpeer".
|
||||
|
||||
* SIP: The "username" option is now renamed to "defaultuser" to match "defaultip".
|
||||
These are used only before registration to call a peer with the uri
|
||||
sip:defaultuser@defaultip
|
||||
The "username" setting still work, but is deprecated and will not work in
|
||||
the next version of Asterisk.
|
||||
|
||||
* SIP: The old "insecure" options, deprecated in 1.4, have been removed.
|
||||
"insecure=very" should be changed to "insecure=port,invite"
|
||||
"insecure=yes" should be changed to "insecure=port"
|
||||
Be aware that some telephony providers show the invalid syntax in their
|
||||
sample configurations.
|
||||
|
||||
* chan_local.c: the comma delimiter inside the channel name has been changed to a
|
||||
semicolon, in order to make the Local channel driver compatible with the comma
|
||||
delimiter change in applications.
|
||||
|
||||
* H323: The "tos" setting has changed name to "tos_audio" and "cos" to "cos_audio"
|
||||
to be compatible with settings in sip.conf. The "tos" and "cos" configuration
|
||||
is deprecated and will stop working in the next release of Asterisk.
|
||||
|
||||
* Console: A new console channel driver, chan_console, has been added to Asterisk.
|
||||
This new module can not be loaded at the same time as chan_alsa or chan_oss. The
|
||||
default modules.conf only loads one of them (chan_oss by default). So, unless you
|
||||
have modified your modules.conf to not use the autoload option, then you will need
|
||||
to modify modules.conf to add another "noload" line to ensure that only one of
|
||||
these three modules gets loaded.
|
||||
|
||||
* DAHDI: The chan_zap module that supported PSTN interfaces using
|
||||
Zaptel has been renamed to chan_dahdi, and only supports the DAHDI
|
||||
telephony driver package for PSTN interfaces. See the
|
||||
Zaptel-to-DAHDI.txt file for more details on this transition.
|
||||
|
||||
* DAHDI: The "msdstrip" option has been deprecated, as it provides no value over
|
||||
the method of stripping digits in the dialplan using variable substring syntax.
|
||||
|
||||
Configuration:
|
||||
|
||||
* pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay,
|
||||
lowcost and other is not acceptable now. Look into qos.tex for description of
|
||||
this parameter.
|
||||
|
||||
* queues.conf: the queue-lessthan sound file option is no longer available, and the
|
||||
queue-round-seconds option no longer takes '1' as a valid parameter.
|
||||
|
||||
Manager:
|
||||
|
||||
* Manager has been upgraded to version 1.1 with a lot of changes.
|
||||
Please check doc/manager_1_1.txt for information
|
||||
|
||||
* The IAXpeers command output has been changed to more closely resemble the
|
||||
output of the SIPpeers command.
|
||||
|
||||
* cdr_manager now reports at the "cdr" level, not at "call" You may need to
|
||||
change your manager.conf to add the level to existing AMI users, if they
|
||||
want to see the CDR events generated.
|
||||
|
||||
* The Originate command now requires the Originate write permission. For
|
||||
Originate with the Application parameter, you need the additional System
|
||||
privilege if you want to do anything that calls out to a subshell.
|
||||
|
||||
iLBC Codec:
|
||||
|
||||
* Previously, the Asterisk source code distribution included the iLBC
|
||||
encoder/decoder source code, from Global IP Solutions
|
||||
(http://www.gipscorp.com). This code is not licensed for
|
||||
distribution, and thus has been removed from the Asterisk source
|
||||
code distribution. If you wish to use codec_ilbc to support iLBC
|
||||
channels in Asterisk, you can run the contrib/scripts/get_ilbc_source.sh
|
||||
script to download the source and put it in the proper place in
|
||||
the Asterisk build tree. Once that is done you can follow your normal
|
||||
steps of building Asterisk. You will need to run 'menuselect' and enable
|
||||
the iLBC codec in the 'Codec Translators' category.
|
@ -1,343 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also includes advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
===
|
||||
===========================================================
|
||||
|
||||
From 1.8.13 to 1.8.14:
|
||||
* permitdirectmedia/denydirectmedia now controls whether peers can be
|
||||
bridged via directmedia by comparing the ACL to the bridging peer's
|
||||
address rather than its own address.
|
||||
|
||||
From 1.8.12 to 1.8.13:
|
||||
* The complex processor detection and optimization has been removed from
|
||||
the makefile in favor of using native optimization suppport when available.
|
||||
BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".
|
||||
|
||||
From 1.8.10 to 1.8.11:
|
||||
|
||||
* If no transport is specified in sip.conf, transport will default to UDP.
|
||||
Also, if multiple transport= lines are used, only the last will be used.
|
||||
|
||||
From 1.6.2 to 1.8:
|
||||
|
||||
* chan_sip no longer sets HASH(SIP_CAUSE,<chan name>) on channels by default.
|
||||
This must now be enabled by setting 'sipstorecause' to 'yes' in sip.conf.
|
||||
This carries a performance penalty.
|
||||
|
||||
* Asterisk now requires libpri 1.4.11+ for PRI support.
|
||||
|
||||
* A couple of CLI commands in res_ais were changed back to their original form:
|
||||
"ais show clm members" --> "ais clm show members"
|
||||
"ais show evt event channels" --> "ais evt show event channels"
|
||||
|
||||
* The default value for 'autofill' and 'shared_lastcall' in queues.conf has
|
||||
been changed to 'yes'.
|
||||
|
||||
* The default value for the alwaysauthreject option in sip.conf has been changed
|
||||
from "no" to "yes".
|
||||
|
||||
* The behavior of the 'parkedcallstimeout' has changed slightly. The formulation
|
||||
of the extension name that a timed out parked call is delivered to when this
|
||||
option is set to 'no' was modified such that instead of converting '/' to '0',
|
||||
the '/' is converted to an underscore '_'. See the updated documentation in
|
||||
features.conf.sample for more information on the behavior of the
|
||||
'parkedcallstimeout' option.
|
||||
|
||||
* Asterisk-addons no longer exists as an independent package. Those modules
|
||||
now live in the addons directory of the main Asterisk source tree. They
|
||||
are not enabled by default. For more information about why modules live in
|
||||
addons, see README-addons.txt.
|
||||
|
||||
* The rarely used 'event_log' and LOG_EVENT channel have been removed; the few
|
||||
users of this channel in the tree have been converted to LOG_NOTICE or removed
|
||||
(in cases where the same message was already generated to another channel).
|
||||
|
||||
* The usage of RTP inside of Asterisk has now become modularized. This means
|
||||
the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk.
|
||||
If you are not using autoload=yes in modules.conf you will need to ensure
|
||||
it is set to load. If not, then any module which uses RTP (such as chan_sip)
|
||||
will not be able to send or receive calls.
|
||||
|
||||
* The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still
|
||||
remains. It now exists within app_chanspy.c and retains the exact same
|
||||
functionality as before.
|
||||
|
||||
* The default behavior for Set, AGI, and pbx_realtime has been changed to implement
|
||||
1.6 behavior by default, if there is no [compat] section in asterisk.conf. In
|
||||
prior versions, the behavior defaulted to 1.4 behavior, to assist in upgrades.
|
||||
Specifically, that means that pbx_realtime and res_agi expect you to use commas
|
||||
to separate arguments in applications, and Set only takes a single pair of
|
||||
a variable name/value. The old 1.4 behavior may still be obtained by setting
|
||||
app_set, pbx_realtime, and res_agi each to 1.4 in the [compat] section of
|
||||
asterisk.conf.
|
||||
|
||||
* The PRI channels in chan_dahdi can no longer change the channel name if a
|
||||
different B channel is selected during call negotiation. To prevent using
|
||||
the channel name to infer what B channel a call is using and to avoid name
|
||||
collisions, the channel name format is changed.
|
||||
The new channel naming for PRI channels is:
|
||||
DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>
|
||||
|
||||
* Added CHANNEL(dahdi_span), CHANNEL(dahdi_channel), and CHANNEL(dahdi_type)
|
||||
so the dialplan can determine the B channel currently in use by the channel.
|
||||
Use CHANNEL(no_media_path) to determine if the channel even has a B channel.
|
||||
|
||||
* Added AMI event DAHDIChannel to associate a DAHDI channel with an Asterisk
|
||||
channel so AMI applications can passively determine the B channel currently
|
||||
in use. Calls with "no-media" as the DAHDIChannel do not have an associated
|
||||
B channel. No-media calls are either on hold or call-waiting.
|
||||
|
||||
* The ChanIsAvail application has been changed so the AVAILSTATUS variable
|
||||
no longer contains both the device state and cause code. The cause code
|
||||
is now available in the AVAILCAUSECODE variable. If existing dialplan logic
|
||||
is written to expect AVAILSTATUS to contain the cause code it needs to be
|
||||
changed to use AVAILCAUSECODE.
|
||||
|
||||
* ExternalIVR will now send Z events for invalid or missing files, T events
|
||||
now include the interrupted file and bugs in argument parsing have been
|
||||
fixed so there may be arguments specified in incorrect ways that were
|
||||
working that will no longer work. Please see
|
||||
https://wiki.asterisk.org/wiki/display/AST/External+IVR+Interface for details.
|
||||
|
||||
* OSP lookup application changes following variable names:
|
||||
OSPPEERIP to OSPINPEERIP
|
||||
OSPTECH to OSPOUTTECH
|
||||
OSPDEST to OSPDESTINATION
|
||||
OSPCALLING to OSPOUTCALLING
|
||||
OSPCALLED to OSPOUTCALLED
|
||||
OSPRESULTS to OSPDESTREMAILS
|
||||
|
||||
* The Manager event 'iax2 show peers' output has been updated. It now has a
|
||||
similar output of 'sip show peers'.
|
||||
|
||||
* VoiceMailMain and VMAuthenticate, if a '*' is entered in the first position
|
||||
of a Mailbox or Password, will, if it exists, jump to the 'a' extension in
|
||||
the current dialplan context.
|
||||
|
||||
* The CALLERPRES() dialplan function is deprecated in favor of
|
||||
CALLERID(num-pres) and CALLERID(name-pres).
|
||||
|
||||
* Environment variables that start with "AST_" are reserved to the system and
|
||||
may no longer be set from the dialplan.
|
||||
|
||||
* When a call is redirected inside of a Dial, the app and appdata fields of the
|
||||
CDR will now be set to "AppDial" and "(Outgoing Line)" instead of being blank.
|
||||
|
||||
* The CDR handling of billsec and duration field has changed. If your table
|
||||
definition specifies those fields as float,double or similar they will now
|
||||
be logged with microsecond accuracy instead of a whole integer.
|
||||
|
||||
* chan_sip will no longer set up a local call forward when receiving a
|
||||
482 Loop Detected response. The dialplan will just continue from where it
|
||||
left off.
|
||||
|
||||
* The 'stunaddr' option has been removed from chan_sip. This feature did not
|
||||
behave as expected, had no correct use case, and was not RFC compliant. The
|
||||
removal of this feature will hopefully be followed by a correct RFC compliant
|
||||
STUN implementation in chan_sip in the future.
|
||||
|
||||
* The default value for the pedantic option in sip.conf has been changed
|
||||
from "no" to "yes".
|
||||
|
||||
* The ConnectedLineNum and ConnectedLineName headers were added to many AMI
|
||||
events/responses if the CallerIDNum/CallerIDName headers were also present.
|
||||
The addition of connected line support changes the behavior of the channel
|
||||
caller ID somewhat. The channel caller ID value no longer time shares with
|
||||
the connected line ID on outgoing call legs. The timing of some AMI
|
||||
events/responses output the connected line ID as caller ID. These party ID's
|
||||
are now separate.
|
||||
|
||||
* The Dial application d and H options do not automatically answer the call
|
||||
anymore. It broke DTMF attended transfers. Since many SIP and ISDN phones
|
||||
cannot send DTMF before a call is connected, you need to answer the call
|
||||
leg to those phones before using Dial with these options for them to have
|
||||
any effect before the dialed party answers.
|
||||
|
||||
* The outgoing directory (where .call files are read) now uses inotify to
|
||||
detect file changes instead of polling the directory on a regular basis.
|
||||
If your outgoing folder is on a NFS mount or another network file system,
|
||||
changes to the files will not be detected. You can revert to polling the
|
||||
directory by specifying --without-inotify to configure before compiling.
|
||||
|
||||
* The 'sipusers' realtime table has been removed completely. Use the 'sippeers'
|
||||
table with type 'user' for user type objects.
|
||||
|
||||
* The sip.conf allowoverlap option now accepts 'dtmf' as a value. If you
|
||||
are using the early media DTMF overlap dialing method you now need to set
|
||||
allowoverlap=dtmf.
|
||||
|
||||
From 1.6.1 to 1.6.2:
|
||||
|
||||
* SIP no longer sends the 183 progress message for early media by
|
||||
default. Applications requiring early media should use the
|
||||
progress() dialplan app to generate the progress message.
|
||||
|
||||
* The firmware for the IAXy has been removed from Asterisk. It can be
|
||||
downloaded from http://downloads.digium.com/pub/iaxy/. To have Asterisk
|
||||
install the firmware into its proper location, place the firmware in the
|
||||
contrib/firmware/iax/ directory in the Asterisk source tree before running
|
||||
"make install".
|
||||
|
||||
* T.38 FAX error correction mode can no longer be configured in udptl.conf;
|
||||
instead, it is configured on a per-peer (or global) basis in sip.conf, with
|
||||
the same default as was present in udptl.conf.sample.
|
||||
|
||||
* T.38 FAX maximum datagram size can no longer be configured in updtl.conf;
|
||||
instead, it is either supplied by the application servicing the T.38 channel
|
||||
(for a FAX send or receive) or calculated from the bridged endpoint's
|
||||
maximum datagram size (for a T.38 FAX passthrough call). In addition, sip.conf
|
||||
allows for overriding the value supplied by a remote endpoint, which is useful
|
||||
when T.38 connections are made to gateways that supply incorrectly-calculated
|
||||
maximum datagram sizes.
|
||||
|
||||
* There have been some changes to the IAX2 protocol to address the security
|
||||
concerns documented in the security advisory AST-2009-006. Please see the
|
||||
IAX2 security document, doc/IAX2-security.pdf, for information regarding
|
||||
backwards compatibility with versions of Asterisk that do not contain these
|
||||
changes to IAX2.
|
||||
|
||||
* The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers
|
||||
has been renamed to 'directmedia', to better reflect what it actually does.
|
||||
In the case of SIP, there are still re-INVITEs issued for T.38 negotiation,
|
||||
starting and stopping music-on-hold, and other reasons, and the 'canreinvite'
|
||||
option never had any effect on these cases, it only affected the re-INVITEs
|
||||
used for direct media path setup. For MGCP and Skinny, the option was poorly
|
||||
named because those protocols don't even use INVITE messages at all. For
|
||||
backwards compatibility, the old option is still supported in both normal
|
||||
and Realtime configuration files, but all of the sample configuration files,
|
||||
Realtime/LDAP schemas, and other documentation refer to it using the new name.
|
||||
|
||||
* The default console now will use colors according to the default background
|
||||
color, instead of forcing the background color to black. If you are using a
|
||||
light colored background for your console, you may wish to use the option
|
||||
flag '-W' to present better color choices for the various messages. However,
|
||||
if you'd prefer the old method of forcing colors to white text on a black
|
||||
background, the compatibility option -B is provided for this purpose.
|
||||
|
||||
* SendImage() no longer hangs up the channel on transmission error or on
|
||||
any other error; in those cases, a FAILURE status is stored in
|
||||
SENDIMAGESTATUS and dialplan execution continues. The possible
|
||||
return values stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and
|
||||
UNSUPPORTED. ('OK' has been replaced with 'SUCCESS', and 'NOSUPPORT'
|
||||
has been replaced with 'UNSUPPORTED'). This change makes the
|
||||
SendImage application more consistent with other applications.
|
||||
|
||||
* skinny.conf now has separate sections for lines and devices.
|
||||
Please have a look at configs/skinny.conf.sample and update
|
||||
your skinny.conf.
|
||||
|
||||
* Queue names previously were treated in a case-sensitive manner,
|
||||
meaning that queues with names like "sales" and "sALeS" would be
|
||||
seen as unique queues. The parsing logic has changed to use
|
||||
case-insensitive comparisons now when originally hashing based on
|
||||
queue names, meaning that now the two queues mentioned as examples
|
||||
earlier will be seen as having the same name.
|
||||
|
||||
* The SPRINTF() dialplan function has been moved into its own module,
|
||||
func_sprintf, and is no longer included in func_strings. If you use this
|
||||
function and do not use 'autoload=yes' in modules.conf, you will need
|
||||
to explicitly load func_sprintf for it to be available.
|
||||
|
||||
* The res_indications module has been removed. Its functionality was important
|
||||
enough that most of it has been moved into the Asterisk core.
|
||||
Two applications previously provided by res_indications, PlayTones and
|
||||
StopPlayTones, have been moved into a new module, app_playtones.
|
||||
|
||||
* Support for Taiwanese was incorrectly supported with the "tw" language code.
|
||||
In reality, the "tw" language code is reserved for the Twi language, native
|
||||
to Ghana. If you were previously using the "tw" language code, you should
|
||||
switch to using either "zh" (for Mandarin Chinese) or "zh_TW" for Taiwan
|
||||
specific localizations. Additionally, "mx" should be changed to "es_MX",
|
||||
Georgian was incorrectly specified as "ge" but should be "ka", and Czech is
|
||||
"cs", not "cz".
|
||||
|
||||
* DAHDISendCallreroutingFacility() parameters are now comma-separated,
|
||||
instead of the old pipe.
|
||||
|
||||
* res_jabber: autoprune has been disabled by default, to avoid misconfiguration
|
||||
that would end up being interpreted as a bug once Asterisk started removing
|
||||
the contacts from a user list.
|
||||
|
||||
* The cdr.conf file must exist and be configured correctly in order for CDR
|
||||
records to be written.
|
||||
|
||||
* cdr_pgsql now assumes the encoding of strings it is handed are in LATIN9,
|
||||
which should cover most uses of the extended ASCII set. If your strings
|
||||
use a different encoding in Asterisk, the "encoding" parameter may be set
|
||||
to specify the correct character set.
|
||||
|
||||
From 1.6.0.1 to 1.6.1:
|
||||
|
||||
* The ast_agi_register_multiple() and ast_agi_unregister_multiple()
|
||||
API calls were added in 1.6.0, so that modules that provide multiple
|
||||
AGI commands could register/unregister them all with a single
|
||||
step. However, these API calls were not implemented properly, and did
|
||||
not allow the caller to know whether registration or unregistration
|
||||
succeeded or failed. They have been redefined to now return success
|
||||
or failure, but this means any code using these functions will need
|
||||
be recompiled after upgrading to a version of Asterisk containing
|
||||
these changes. In addition, the source code using these functions
|
||||
should be reviewed to ensure it can properly react to failure
|
||||
of registration or unregistration of its API commands.
|
||||
|
||||
* The ast_agi_fdprintf() API call has been renamed to ast_agi_send()
|
||||
to better match what it really does, and the argument order has been
|
||||
changed to be consistent with other API calls that perform similar
|
||||
operations.
|
||||
|
||||
From 1.6.0.x to 1.6.1:
|
||||
|
||||
* In previous versions of Asterisk, due to the way objects were arranged in
|
||||
memory by chan_sip, the order of entries in sip.conf could be adjusted to
|
||||
control the behavior of matching against peers and users. The way objects
|
||||
are managed has been significantly changed for reasons involving performance
|
||||
and stability. A side effect of these changes is that the order of entries
|
||||
in sip.conf can no longer be relied upon to control behavior.
|
||||
|
||||
* The following core commands dealing with dialplan have been deprecated: 'core
|
||||
show globals', 'core set global' and 'core set chanvar'. Use the equivalent
|
||||
'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar'
|
||||
instead.
|
||||
|
||||
* In the dialplan expression parser, the logical value of spaces
|
||||
immediately preceding a standalone 0 previously evaluated to
|
||||
true. It now evaluates to false. This has confused a good many
|
||||
people in the past (typically because they failed to realize the
|
||||
space had any significance). Since this violates the Principle of
|
||||
Least Surprise, it has been changed.
|
||||
|
||||
* While app_directory has always relied on having a voicemail.conf or users.conf file
|
||||
correctly set up, it now is dependent on app_voicemail being compiled as well.
|
||||
|
||||
* SIP: All of the functionality in SIPCHANINFO() has been implemented in CHANNEL(),
|
||||
and you should start using that function instead for retrieving information about
|
||||
the channel in a technology-agnostic way.
|
||||
|
||||
* If you have any third party modules which use a config file variable whose
|
||||
name ends in a '+', please note that the append capability added to this
|
||||
version may now conflict with that variable naming scheme. An easy
|
||||
workaround is to ensure that a space occurs between the '+' and the '=',
|
||||
to differentiate your variable from the append operator. This potential
|
||||
conflict is unlikely, but is documented here to be thorough.
|
||||
|
||||
* The "Join" event from app_queue now uses the CallerIDNum header instead of
|
||||
the CallerID header to indicate the CallerID number.
|
||||
|
||||
* If you use ODBC storage for voicemail, there is a new field called "flag"
|
||||
which should be a char(8) or larger. This field specifies whether or not a
|
||||
message has been designated to be "Urgent", "PRIORITY", or not.
|
@ -1,92 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
===
|
||||
===========================================================
|
||||
|
||||
From 10.4 to 10.5:
|
||||
|
||||
* The complex processor detection and optimization has been removed from
|
||||
the makefile in favor of using native optimization suppport when available.
|
||||
BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".
|
||||
|
||||
From 10.2 to 10.3:
|
||||
|
||||
* If no transport is specified in sip.conf, transport will default to UDP.
|
||||
Also, if multiple transport= lines are used, only the last will be used.
|
||||
|
||||
From 1.8 to 10:
|
||||
|
||||
cel_pgsql:
|
||||
- This module now expects an 'extra' column in the database for data added
|
||||
using the CELGenUserEvent() application.
|
||||
|
||||
ConfBridge
|
||||
- ConfBridge's dialplan arguments have changed and are not
|
||||
backwards compatible.
|
||||
|
||||
File Interpreters
|
||||
- The format interpreter formats/format_sln16.c for the file extension
|
||||
'.sln16' has been removed. The '.sln16' file interpreter now exists
|
||||
in the formats/format_sln.c module along with new support for sln12,
|
||||
sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
|
||||
|
||||
HTTP:
|
||||
- A bindaddr must be specified in order for the HTTP server
|
||||
to run. Previous versions would default to 0.0.0.0 if no
|
||||
bindaddr was specified.
|
||||
|
||||
Gtalk:
|
||||
- The default value for 'context' and 'parkinglots' in gtalk.conf has
|
||||
been changed to 'default', previously they were empty.
|
||||
|
||||
chan_dahdi:
|
||||
- The mohinterpret=passthrough setting is deprecated in favor of
|
||||
moh_signaling=notify.
|
||||
|
||||
pbx_lua:
|
||||
- Execution no longer continues after applications that do dialplan jumps
|
||||
(such as app.goto). Now when an application such as app.goto() is called,
|
||||
control is returned back to the pbx engine and the current extension
|
||||
function stops executing.
|
||||
- the autoservice now defaults to being on by default
|
||||
- autoservice_start() and autoservice_start() no longer return a value.
|
||||
|
||||
Queue:
|
||||
- Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
|
||||
- QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
|
||||
|
||||
Asterisk Database:
|
||||
- The internal Asterisk database has been switched from Berkeley DB 1.86 to
|
||||
SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
|
||||
utility in the UTILS section of menuselect. If an existing astdb is found and no
|
||||
astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
|
||||
convert an existing astdb to the SQLite3 version automatically at runtime.
|
||||
|
||||
Module Support Level
|
||||
- All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
|
||||
formats, funcs, pbx, and res have been updated to include MODULEINFO data
|
||||
that includes <support_level> tags with a value of core, extended, or deprecated.
|
||||
More information is available on the Asterisk wiki at
|
||||
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
|
||||
|
||||
Deprecated modules are now marked to not build by default and must be explicitly
|
||||
enabled in menuselect.
|
||||
|
||||
===========================================================
|
||||
===========================================================
|
@ -1,280 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
===
|
||||
===========================================================
|
||||
|
||||
From 11.6 to 11.7:
|
||||
ConfBridge
|
||||
- ConfBridge now has the ability to set the language of announcements to the
|
||||
conference. The language can be set on a bridge profile in confbridge.conf
|
||||
or by the dialplan function CONFBRIDGE(bridge,language)=en.
|
||||
chan_sip - Clarify The "sip show peers" Forcerport Column And Add Comedia
|
||||
- Under the "Forcerport" column, the "N" used to mean NAT (i.e. Yes). With
|
||||
the additon of auto_* NAT settings, the meaning changed and there was a
|
||||
certain combination of letters added to indicate the current setting. The
|
||||
combination of using "Y", "N", "A" or "a", can be confusing. Therefore, we
|
||||
now display clearly what the current Forcerport setting is: "Yes", "No",
|
||||
"Auto (Yes)", "Auto (No)".
|
||||
- Since we are clarifying the Forcerport column, we have added a column to
|
||||
display the Comedia setting since this is useful information as well. We
|
||||
no longer have a simple "NAT" setting like other versions before 11.
|
||||
|
||||
From 11.5 to 11.6:
|
||||
* res_agi will now properly indicate if there was an error in streaming an
|
||||
audio file. The result code will be -1 and the result returned from the
|
||||
the function will be RESULT_FAILURE instead of the prior behavior of always
|
||||
returning RESULT_SUCCESS even if there was an error.
|
||||
|
||||
From 11.4 to 11.5:
|
||||
* The default settings for chan_sip are now overriden properly by the general
|
||||
settings in sip.conf. Please look over your settings upon upgrading.
|
||||
|
||||
From 11.3 to 11.4:
|
||||
* Added the 'n' option to MeetMe to prevent application of the DENOISE function
|
||||
to a channel joining a conference. Some channel drivers that vary the number
|
||||
of audio samples in a voice frame will experience significant quality problems
|
||||
if a denoiser is attached to the channel; this option gives them the ability
|
||||
to remove the denoiser without having to unload func_speex.
|
||||
|
||||
* The Registry AMI event for SIP registrations will now always include the
|
||||
Username field. A previous bug fix missed an instance where it was not
|
||||
included; that has been corrected in this release.
|
||||
|
||||
From 11.2.0 to 11.2.1:
|
||||
* Asterisk would previously not output certain error messages when a remote
|
||||
console attempted to connect to Asterisk and no instance of Asterisk was
|
||||
running. This error message is displayed on stderr; as a result, some
|
||||
initialization scripts that used remote consoles to test for the presence
|
||||
of a running Asterisk instance started to display erroneous error messages.
|
||||
The init.d scripts and the safe_asterisk have been updated in the contrib
|
||||
folder to account for this.
|
||||
|
||||
From 11.2 to 11.3:
|
||||
|
||||
* Now by default, when Asterisk is installed in a path other than /usr, the
|
||||
Asterisk binary will search for shared libraries in ${libdir} in addition to
|
||||
searching system libraries. This allows Asterisk to find its shared
|
||||
libraries without having to specify LD_LIBRARY_PATH. This can be disabled by
|
||||
passing --disable-rpath to configure.
|
||||
|
||||
From 10 to 11:
|
||||
|
||||
Voicemail:
|
||||
- All voicemails now have a "msg_id" which uniquely identifies a message. For
|
||||
users of filesystem and IMAP storage of voicemail, this should be transparent.
|
||||
For users of ODBC, you will need to add a "msg_id" column to your voice mail
|
||||
messages table. This should be a string capable of holding at least 32 characters.
|
||||
All messages created in old Asterisk installations will have a msg_id added to
|
||||
them when required. This operation should be transparent as well.
|
||||
|
||||
Parking:
|
||||
- The comebacktoorigin setting must now be set per parking lot. The setting in
|
||||
the general section will not be applied automatically to each parking lot.
|
||||
- The BLINDTRANSFER channel variable is deleted from a channel when it is
|
||||
bridged to prevent subtle bugs in the parking feature. The channel
|
||||
variable is used by Asterisk internally for the Park application to work
|
||||
properly. If you were using it for your own purposes, copy it to your
|
||||
own channel variable before the channel is bridged.
|
||||
|
||||
res_ais:
|
||||
- Users of res_ais in versions of Asterisk prior to Asterisk 11 must change
|
||||
to use the res_corosync module, instead. OpenAIS is deprecated, but
|
||||
Corosync is still actively developed and maintained. Corosync came out of
|
||||
the OpenAIS project.
|
||||
|
||||
Dialplan Functions:
|
||||
- MAILBOX_EXISTS has been deprecated. Use VM_INFO with the 'exists' parameter
|
||||
instead.
|
||||
- Macro has been deprecated in favor of GoSub. For redirecting and connected
|
||||
line purposes use the following variables instead of their macro equivalents:
|
||||
REDIRECTING_SEND_SUB, REDIRECTING_SEND_SUB_ARGS,
|
||||
CONNECTED_LINE_SEND_SUB, CONNECTED_LINE_SEND_SUB_ARGS.
|
||||
- The REDIRECTING function now supports the redirecting original party id
|
||||
and reason.
|
||||
- The HANGUPCAUSE and HANGUPCAUSE_KEYS functions have been introduced to
|
||||
provide a replacement for the SIP_CAUSE hash. The HangupCauseClear
|
||||
application has also been introduced to remove this data from the channel
|
||||
when necessary.
|
||||
|
||||
|
||||
func_enum:
|
||||
- ENUM query functions now return a count of -1 on lookup error to
|
||||
differentiate between a failed query and a successful query with 0 results
|
||||
matching the specified type.
|
||||
|
||||
CDR:
|
||||
- cdr_adaptive_odbc now supports specifying a schema so that Asterisk can
|
||||
connect to databases that use schemas.
|
||||
|
||||
Configuration Files:
|
||||
- Files listed below have been updated to be more consistent with how Asterisk
|
||||
parses configuration files. This makes configuration files more consistent
|
||||
with what is expected across modules.
|
||||
|
||||
- cdr.conf: [general] and [csv] sections
|
||||
- dnsmgr.conf
|
||||
- dsp.conf
|
||||
|
||||
- The 'verbose' setting in logger.conf now takes an optional argument,
|
||||
specifying the verbosity level for each logging destination. The default,
|
||||
if not otherwise specified, is a verbosity of 3.
|
||||
|
||||
AMI:
|
||||
- DBDelTree now correctly returns an error when 0 rows are deleted just as
|
||||
the DBDel action does.
|
||||
- The IAX2 PeerStatus event now sends a 'Port' header. In Asterisk 10, this was
|
||||
erroneously being sent as a 'Post' header.
|
||||
|
||||
CCSS:
|
||||
- Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
|
||||
in channel configurations.
|
||||
|
||||
app_meetme:
|
||||
- The 'c' option (announce user count) will now work even if the 'q' (quiet)
|
||||
option is enabled.
|
||||
|
||||
app_followme:
|
||||
- Answered outgoing calls no longer get cut off when the next step is started.
|
||||
You now have until the last step times out to decide if you want to accept
|
||||
the call or not before being disconnected.
|
||||
|
||||
chan_gtalk:
|
||||
- chan_gtalk has been deprecated in favor of the chan_motif channel driver. It is recommended
|
||||
that users switch to using it as it is a core supported module.
|
||||
|
||||
chan_jingle:
|
||||
- chan_jingle has been deprecated in favor of the chan_motif channel driver. It is recommended
|
||||
that users switch to using it as it is a core supported module.
|
||||
|
||||
SIP
|
||||
===
|
||||
- A new option "tonezone" for setting default tonezone for the channel driver
|
||||
or individual devices
|
||||
- A new manager event, "SessionTimeout" has been added and is triggered when
|
||||
a call is terminated due to RTP stream inactivity or SIP session timer
|
||||
expiration.
|
||||
- SIP_CAUSE is now deprecated. It has been modified to use the same
|
||||
mechanism as the HANGUPCAUSE function. Behavior should not change, but
|
||||
performance should be vastly improved. The HANGUPCAUSE function should now
|
||||
be used instead of SIP_CAUSE. Because of this, the storesipcause option in
|
||||
sip.conf is also deprecated.
|
||||
- The sip paramater for Originating Line Information (oli, isup-oli, and
|
||||
ss7-oli) is now parsed out of the From header and copied into the channel's
|
||||
ANI2 information field. This is readable from the CALLERID(ani2) dialplan
|
||||
function.
|
||||
- ICE support has been added and is enabled by default. Some endpoints may have
|
||||
problems with the ICE candidates within the SDP. If this is the case ICE support
|
||||
can be disabled globally or on a per-endpoint basis using the icesupport
|
||||
configuration option. Symptoms of this include one way media or no media flow.
|
||||
|
||||
chan_unistim
|
||||
- Due to massive update in chan_unistim phone keys functions and on-screen
|
||||
information changed.
|
||||
|
||||
users.conf:
|
||||
- A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
|
||||
as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
|
||||
documented in v1.4. Set the asterisk.conf stdexten=macro parameter to
|
||||
invoke the stdexten the old way.
|
||||
|
||||
res_jabber
|
||||
- This module has been deprecated in favor of the res_xmpp module. The res_xmpp
|
||||
module is backwards compatible with the res_jabber configuration file, dialplan
|
||||
functions, and AMI actions. The old CLI commands can also be made available using
|
||||
the res_clialiases template for Asterisk 11.
|
||||
|
||||
From 1.8 to 10:
|
||||
|
||||
cel_pgsql:
|
||||
- This module now expects an 'extra' column in the database for data added
|
||||
using the CELGenUserEvent() application.
|
||||
|
||||
ConfBridge
|
||||
- ConfBridge's dialplan arguments have changed and are not
|
||||
backwards compatible.
|
||||
|
||||
File Interpreters
|
||||
- The format interpreter formats/format_sln16.c for the file extension
|
||||
'.sln16' has been removed. The '.sln16' file interpreter now exists
|
||||
in the formats/format_sln.c module along with new support for sln12,
|
||||
sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
|
||||
|
||||
HTTP:
|
||||
- A bindaddr must be specified in order for the HTTP server
|
||||
to run. Previous versions would default to 0.0.0.0 if no
|
||||
bindaddr was specified.
|
||||
|
||||
Gtalk:
|
||||
- The default value for 'context' and 'parkinglots' in gtalk.conf has
|
||||
been changed to 'default', previously they were empty.
|
||||
|
||||
chan_dahdi:
|
||||
- The mohinterpret=passthrough setting is deprecated in favor of
|
||||
moh_signaling=notify.
|
||||
|
||||
pbx_lua:
|
||||
- Execution no longer continues after applications that do dialplan jumps
|
||||
(such as app.goto). Now when an application such as app.goto() is called,
|
||||
control is returned back to the pbx engine and the current extension
|
||||
function stops executing.
|
||||
- the autoservice now defaults to being on by default
|
||||
- autoservice_start() and autoservice_start() no longer return a value.
|
||||
|
||||
Queue:
|
||||
- Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
|
||||
- QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
|
||||
|
||||
Asterisk Database:
|
||||
- The internal Asterisk database has been switched from Berkeley DB 1.86 to
|
||||
SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
|
||||
utility in the UTILS section of menuselect. If an existing astdb is found and no
|
||||
astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
|
||||
convert an existing astdb to the SQLite3 version automatically at runtime. If
|
||||
moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
|
||||
to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.
|
||||
|
||||
Manager:
|
||||
- The AMI protocol version was incremented to 1.2 as a result of changing two
|
||||
instances of the Unlink event to Bridge events. This change was documented
|
||||
as part of the AMI 1.1 update, but two Unlink events were inadvertently left
|
||||
unchanged.
|
||||
|
||||
Module Support Level
|
||||
- All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
|
||||
formats, funcs, pbx, and res have been updated to include MODULEINFO data
|
||||
that includes <support_level> tags with a value of core, extended, or deprecated.
|
||||
More information is available on the Asterisk wiki at
|
||||
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
|
||||
|
||||
Deprecated modules are now marked to not build by default and must be explicitly
|
||||
enabled in menuselect.
|
||||
|
||||
chan_sip:
|
||||
- Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
|
||||
by default. It can be enabled using the 'storesipcause' option. This feature
|
||||
has a significant performance penalty.
|
||||
|
||||
UDPTL:
|
||||
- The default UDPTL port range in udptl.conf.sample differed from the defaults
|
||||
in the source. If you didn't have a config file, you got 4500 to 4599. Now the
|
||||
default is 4000 to 4999.
|
||||
|
||||
===========================================================
|
||||
===========================================================
|
@ -1,478 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
|
||||
===
|
||||
===========================================================
|
||||
|
||||
There are many significant architectural changes in Asterisk 12. It is
|
||||
recommended that you not only read through this document for important
|
||||
changes that affect an upgrade, but that you also read through the CHANGES
|
||||
document in depth to better understand the new options available to you.
|
||||
|
||||
Additional information on the architectural changes made in Asterisk can be
|
||||
found on the Asterisk wiki (https://wiki.asterisk.org)
|
||||
|
||||
Of particular note, the following systems in Asterisk underwent significant
|
||||
changes. Documentation for the changes and a specification for their
|
||||
behavior in Asterisk 12 is also available on the Asterisk wiki.
|
||||
- AMI: Many events were changed, and the semantics of channels and bridges
|
||||
were defined. In particular, how channels and bridges behave under
|
||||
transfer scenarios and situations involving multiple parties has
|
||||
changed significantly. See https://wiki.asterisk.org/wiki/x/dAFRAQ
|
||||
for more information.
|
||||
- CDR: CDR logic was extracted from the many locations it existed in across
|
||||
Asterisk and implemented as a consumer of Stasis message bus events.
|
||||
As a result, consistency of records has improved significantly and the
|
||||
behavior of CDRs in transfer scenarios has been defined in the CDR
|
||||
specification. However, significant behavioral changes in CDRs resulted
|
||||
from the transition. The most significant change is the addition of
|
||||
CDR entries when a channel who is the Party A in a CDR leaves a bridge.
|
||||
See https://wiki.asterisk.org/wiki/x/pwpRAQ for more information.
|
||||
- CEL: Much like CDRs, CEL was removed from the many locations it existed in
|
||||
across Asterisk and implemented as a consumer of Stasis message bus
|
||||
events. It now closely follows the Bridging API model of channels and
|
||||
bridges, and has a much closer consistency of conveyed events as AMI.
|
||||
For the changes in events, see https://wiki.asterisk.org/wiki/x/4ICLAQ.
|
||||
|
||||
Build System:
|
||||
- Removed the CHANNEL_TRACE development mode build option. Certain aspects of
|
||||
the CHANNEL_TRACE build option were incompatible with the new bridging
|
||||
architecture.
|
||||
|
||||
- Asterisk now depends on libjansson, libuuid and optionally (but recommended)
|
||||
libxslt and uriparser.
|
||||
|
||||
- The new SIP stack and channel driver uses a particular version of PJSIP.
|
||||
Please see https://wiki.asterisk.org/wiki/x/J4GLAQ for more information on
|
||||
configuring and installing PJSIP for use with Asterisk.
|
||||
|
||||
AgentLogin and chan_agent:
|
||||
- Along with AgentRequest, this application has been modified to be a
|
||||
replacement for chan_agent. The chan_agent module and the Agent channel
|
||||
driver have been removed from Asterisk, as the concept of a channel driver
|
||||
proxying in front of another channel driver was incompatible with the new
|
||||
architecture (and has had numerous problems through past versions of
|
||||
Asterisk). The act of a channel calling the AgentLogin application places the
|
||||
channel into a pool of agents that can be requested by the AgentRequest
|
||||
application. Note that this application, as well as all other agent related
|
||||
functionality, is now provided by the app_agent_pool module.
|
||||
|
||||
- This application no longer performs agent authentication. If authentication
|
||||
is desired, the dialplan needs to perform this function using the
|
||||
Authenticate or VMAuthenticate application or through an AGI script before
|
||||
running AgentLogin.
|
||||
|
||||
- The agents.conf schema has changed. Rather than specifying agents on a
|
||||
single line in comma delineated fashion, each agent is defined in a separate
|
||||
context. This allows agents to use the power of context templates in their
|
||||
definition.
|
||||
|
||||
- A number of parameters from agents.conf have been removed. This includes
|
||||
maxloginretries, autologoffunavail, updatecdr, goodbye, group, recordformat,
|
||||
urlprefix, and savecallsin. These options were obsoleted by the move from
|
||||
a channel driver model to the bridging/application model provided by
|
||||
app_agent_pool.
|
||||
|
||||
- The AGENTUPDATECDR channel variable has also been removed, for the same
|
||||
reason as the updatecdr option.
|
||||
|
||||
- The endcall and enddtmf configuration options are removed. Use the
|
||||
dialplan function CHANNEL(dtmf_features) to set DTMF features on the agent
|
||||
channel before calling AgentLogin.
|
||||
|
||||
AgentMonitorOutgoing
|
||||
- This application has been removed. It was a holdover from when
|
||||
AgentCallbackLogin was removed.
|
||||
|
||||
Answer
|
||||
- It is no longer possible to bypass updating the CDR when answering a
|
||||
channel. CDRs are based on the channel state and will be updated when
|
||||
the channel is Answered.
|
||||
|
||||
ControlPlayback
|
||||
- The channel variable CPLAYBACKSTATUS may now return the value
|
||||
'REMOTESTOPPED' when playback is stopped by an external entity.
|
||||
|
||||
DISA
|
||||
- This application now has a dependency on the app_cdr module. It uses this
|
||||
module to hide the CDR created prior to execution of the DISA application.
|
||||
|
||||
DumpChan:
|
||||
- The output of DumpChan no longer includes the DirectBridge or IndirectBridge
|
||||
fields. Instead, if a channel is in a bridge, it includes a BridgeID field
|
||||
containing the unique ID of the bridge that the channel happens to be in.
|
||||
|
||||
ForkCDR:
|
||||
- Nearly every parameter in ForkCDR has been updated and changed to reflect
|
||||
the changes in CDRs. Please see the documentation for the ForkCDR
|
||||
application, as well as the CDR specification on the Asterisk wiki.
|
||||
|
||||
NoCDR:
|
||||
- The NoCDR application has been deprecated. Please use the CDR_PROP function
|
||||
to disable CDRs on a channel.
|
||||
|
||||
ParkAndAnnounce:
|
||||
- The app_parkandannounce module has been removed. The application
|
||||
ParkAndAnnounce is now provided by the res_parking module. See the
|
||||
Parking changes for more information.
|
||||
|
||||
ResetCDR:
|
||||
- The 'w' and 'a' options have been removed. Dispatching CDRs to registered
|
||||
backends occurs on an as-needed basis in order to preserve linkedid
|
||||
propagation and other needed behavior.
|
||||
- The 'e' option is deprecated. Please use the CDR_PROP function to enable
|
||||
CDRs on a channel that they were previously disabled on.
|
||||
- The ResetCDR application is no longer a part of core Asterisk, and instead
|
||||
is now delivered as part of app_cdr.
|
||||
|
||||
Queues:
|
||||
- Queue strategy rrmemory now has a predictable order similar to strategy
|
||||
rrordered. Members will be called in the order that they are added to the
|
||||
queue.
|
||||
|
||||
- Removed the queues.conf check_state_unknown option. It is no longer
|
||||
necessary.
|
||||
|
||||
- It is now possible to play the Queue prompts to the first user waiting in a
|
||||
call queue. Note that this may impact the ability for agents to talk with
|
||||
users, as a prompt may still be playing when an agent connects to the user.
|
||||
This ability is disabled by default but can be enabled on an individual
|
||||
queue using the 'announce-to-first-user' option.
|
||||
|
||||
- The configuration options eventwhencalled and eventmemberstatus have been
|
||||
removed. As a result, the AMI events QueueMemberStatus, AgentCalled,
|
||||
AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be
|
||||
sent. The "Variable" fields will also no longer exist on the Agent* events.
|
||||
These events can be filtered out from a connected AMI client using the
|
||||
eventfilter setting in manager.conf.
|
||||
|
||||
- The queue log now differentiates between blind and attended transfers. A
|
||||
blind transfer will result in a BLINDTRANSFER message with the destination
|
||||
context and extension. An attended transfer will result in an
|
||||
ATTENDEDTRANSFER message. This message will indicate the method by which
|
||||
the attended transfer was completed: "BRIDGE" for a bridge merge, "APP"
|
||||
for running an application on a bridge or channel, or "LINK" for linking
|
||||
two bridges together with local channels. The queue log will also now detect
|
||||
externally initiated blind and attended transfers and record the transfer
|
||||
status accordingly.
|
||||
|
||||
- When performing queue pause/unpause on an interface without specifying an
|
||||
individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
|
||||
least one member of any queue exists for that interface.
|
||||
|
||||
SetAMAFlags
|
||||
- This application is deprecated in favor of CHANNEL(amaflags).
|
||||
|
||||
VoiceMail:
|
||||
- Mailboxes defined by app_voicemail MUST be referenced by the rest of the
|
||||
system as mailbox@context. The rest of the system cannot add @default
|
||||
to mailbox identifiers for app_voicemail that do not specify a context
|
||||
any longer. It is a mailbox identifier format that should only be
|
||||
interpreted by app_voicemail.
|
||||
|
||||
- The voicemail.conf configuration file now has an 'alias' configuration
|
||||
parameter for use with the Directory application. The voicemail realtime
|
||||
database table schema has also been updated with an 'alias' column. Systems
|
||||
using voicemail with realtime should update their schemas accordingly.
|
||||
|
||||
Channel Drivers:
|
||||
- When a channel driver is configured to enable jiterbuffers, they are now
|
||||
applied unconditionally when a channel joins a bridge. If a jitterbuffer
|
||||
is already set for that channel when it enters, such as by the JITTERBUFFER
|
||||
function, then the existing jitterbuffer will be used and the one set by
|
||||
the channel driver will not be applied.
|
||||
|
||||
chan_bridge
|
||||
- chan_bridge is removed and its functionality is incorporated into ConfBridge
|
||||
itself.
|
||||
|
||||
chan_dahdi:
|
||||
- Analog port dialing and deferred DTMF dialing for PRI now distinguishes
|
||||
between 'w' and 'W'. The 'w' pauses dialing for half a second. The 'W'
|
||||
pauses dialing for one second.
|
||||
|
||||
- The default for inband_on_proceeding has changed to no.
|
||||
|
||||
- The CLI command 'dahdi destroy channel' is now 'dahdi destroy channels'.
|
||||
A range of channels can be specified to be destroyed. Note that this command
|
||||
should only be used if you understand the risks it entails.
|
||||
|
||||
- The script specified by the chan_dahdi.conf mwimonitornotify option now gets
|
||||
the exact configured mailbox name. For app_voicemail mailboxes this is
|
||||
mailbox@context.
|
||||
|
||||
- Added mwi_vm_boxes that also must be configured for ISDN MWI to be enabled.
|
||||
|
||||
- ignore_failed_channels now defaults to True: the channel will continue to
|
||||
be configured even if configuring it has failed. This is generally a
|
||||
better setup for systems with not more than one DAHDI device or with DAHDI
|
||||
>= 2.8.0 .
|
||||
|
||||
chan_local:
|
||||
- The /b option has been removed.
|
||||
|
||||
- chan_local moved into the system core and is no longer a loadable module.
|
||||
|
||||
chan_sip:
|
||||
- The 'callevents' parameter has been removed. Hold AMI events are now raised
|
||||
in the core, and can be filtered out using the 'eventfilter' parameter
|
||||
in manager.conf.
|
||||
|
||||
- Dynamic realtime tables for SIP Users can now include a 'path' field. This
|
||||
will store the path information for that peer when it registers. Realtime
|
||||
tables can also use the 'supportpath' field to enable Path header support.
|
||||
|
||||
- LDAP realtime configurations for SIP Users now have the AstAccountPathSupport
|
||||
objectIdentifier. This maps to the supportpath option in sip.conf.
|
||||
|
||||
Core:
|
||||
- Masquerades as an operation inside Asterisk have been effectively hidden
|
||||
by the migration to the Bridging API. As such, many 'quirks' of Asterisk
|
||||
no longer occur. This includes renaming of channels, "<ZOMBIE>" channels,
|
||||
dropping of frame/audio hooks, and other internal implementation details
|
||||
that users had to deal with. This fundamental change has large implications
|
||||
throughout the changes documented for this version. For more information
|
||||
about the new core architecture of Asterisk, please see the Asterisk wiki.
|
||||
|
||||
- The following channel variables have changed behavior which is described in
|
||||
the CHANGES file: TRANSFER_CONTEXT, BRIDGEPEER, BRIDGEPVTCALLID,
|
||||
ATTENDED_TRANSFER_COMPLETE_SOUND, DYNAMIC_FEATURENAME, and DYNAMIC_PEERNAME.
|
||||
|
||||
AMI (Asterisk Manager Interface):
|
||||
- Version 1.4 - The details of what happens to a channel when a masquerade
|
||||
happens (transfers, parking, etc) have changed.
|
||||
- The Masquerade event now includes the Uniqueid's of the clone and original
|
||||
channels.
|
||||
- Channels no longer swap Uniqueid's as a result of the masquerade.
|
||||
- Instead of a shell game of renames, there's now a single rename, appending
|
||||
<ZOMBIE> to the name of the original channel.
|
||||
|
||||
- *Major* changes were made to both the syntax as well as the semantics of the
|
||||
AMI protocol. In particular, AMI events have been substantially modified
|
||||
and improved in this version of Asterisk. The major event changes are listed
|
||||
below.
|
||||
- NewPeerAccount has been removed. NewAccountCode is raised instead.
|
||||
- Reload events have been consolidated and standardized.
|
||||
- ModuleLoadReport has been removed.
|
||||
- FaxSent is now SendFAX; FaxReceived is now ReceiveFAX. This standardizes
|
||||
app_fax and res_fax events.
|
||||
- MusicOnHold has been replaced with MusicOnHoldStart and MusicOnHoldStop.
|
||||
- JabberEvent has been removed.
|
||||
- Hold is now in the core and will now raise Hold and Unhold events.
|
||||
- Join is now QueueCallerJoin.
|
||||
- Leave is now QueueCallerLeave.
|
||||
- Agentlogin/Agentlogoff is now AgentLogin/AgentLogoff, respectively.
|
||||
- ChannelUpdate has been removed.
|
||||
- Local channel optimization is now conveyed via LocalOptimizationBegin and
|
||||
LocalOptimizationEnd.
|
||||
- BridgeAction and BridgeExec have been removed.
|
||||
- BlindTransfer and AttendedTransfer events were added.
|
||||
- Dial is now DialBegin and DialEnd.
|
||||
- DTMF is now DTMFBegin and DTMFEnd.
|
||||
- Bridge has been replaced with BridgeCreate, BridgeEnter, BridgeLeave, and
|
||||
BridgeDestroy
|
||||
- MusicOnHold has been replaced with MusicOnHoldStart and MusicOnHoldStop
|
||||
- AGIExec is now AGIExecStart and AGIExecEnd
|
||||
- AsyncAGI is now AsyncAGIStart, AsyncAGIExec, and AsyncAGIEnd
|
||||
|
||||
- The 'MCID' AMI event now publishes a channel snapshot when available and
|
||||
its non-channel-snapshot parameters now use either the "MCallerID" or
|
||||
'MConnectedID' prefixes with Subaddr*, Name*, and Num* suffixes instead
|
||||
of 'CallerID' and 'ConnectedID' to avoid confusion with similarly named
|
||||
parameters in the channel snapshot.
|
||||
|
||||
- The 'Channel' key used in the 'AlarmClear', 'Alarm', and 'DNDState' has been
|
||||
renamed "DAHDIChannel" since it does not convey an Asterisk channel name.
|
||||
|
||||
- All AMI events now contain a 'SystemName' field, if available.
|
||||
|
||||
- Local channel information in events is now prefixed with 'LocalOne' and
|
||||
'LocalTwo'. This replaces the suffix of '1' and '2' for the two halves of
|
||||
the Local channel. This affects the 'LocalBridge', 'LocalOptimizationBegin',
|
||||
and 'LocalOptimizationEnd' events.
|
||||
|
||||
- The 'RTCPSent'/'RTCPReceived' events have been significantly modified from
|
||||
previous versions. They now report all SR/RR packets sent/received, and
|
||||
have been restructured to better reflect the data sent in a SR/RR. In
|
||||
particular, the event structure now supports multiple report blocks.
|
||||
|
||||
- The deprecated use of | (pipe) as a separator in the channelvars setting in
|
||||
manager.conf has been removed.
|
||||
|
||||
- The SIP SIPqualifypeer action now sends a response indicating it will qualify
|
||||
a peer once a peer has been found to qualify. Once the qualify has been
|
||||
completed it will now issue a SIPqualifypeerdone event.
|
||||
|
||||
- The AMI event 'Newexten' field 'Extension' is deprecated, and may be removed
|
||||
in a future release. Please use the common 'Exten' field instead.
|
||||
|
||||
- The AMI events 'ParkedCall', 'ParkedCallTimeOut', 'ParkedCallGiveUp', and
|
||||
'UnParkedCall' have changed significantly in the new res_parking module.
|
||||
- The 'Channel' and 'From' headers are gone. For the channel that was parked
|
||||
or is coming out of parking, a 'Parkee' channel snapshot is issued and it
|
||||
has a number of fields associated with it. The old 'Channel' header relayed
|
||||
the same data as the new 'ParkeeChannel' header.
|
||||
- The 'From' field was ambiguous and changed meaning depending on the event.
|
||||
for most of these, it was the name of the channel that parked the call
|
||||
(the 'Parker'). There is no longer a header that provides this channel name,
|
||||
however the 'ParkerDialString' will contain a dialstring to redial the
|
||||
device that parked the call.
|
||||
- On UnParkedCall events, the 'From' header would instead represent the
|
||||
channel responsible for retrieving the parkee. It receives a channel
|
||||
snapshot labeled 'Retriever'. The 'from' field is is replaced with
|
||||
'RetrieverChannel'.
|
||||
- Lastly, the 'Exten' field has been replaced with 'ParkingSpace'.
|
||||
|
||||
- The AMI event 'Parkinglot' (response to 'Parkinglots' command) in a similar
|
||||
fashion has changed the field names 'StartExten' and 'StopExten' to
|
||||
'StartSpace' and 'StopSpace' respectively.
|
||||
|
||||
- The AMI 'Status' response event to the AMI Status action replaces the
|
||||
'BridgedChannel' and 'BridgedUniqueid' headers with the 'BridgeID' header to
|
||||
indicate what bridge the channel is currently in.
|
||||
|
||||
CDR (Call Detail Records)
|
||||
- Significant changes have been made to the behavior of CDRs. The CDR engine
|
||||
was effectively rewritten and built on the Stasis message bus. For a full
|
||||
definition of CDR behavior in Asterisk 12, please read the specification
|
||||
on the Asterisk wiki (wiki.asterisk.org).
|
||||
|
||||
- CDRs will now be created between all participants in a bridge. For each
|
||||
pair of channels in a bridge, a CDR is created to represent the path of
|
||||
communication between those two endpoints. This lets an end user choose who
|
||||
to bill for what during bridge operations with multiple parties.
|
||||
|
||||
- The duration, billsec, start, answer, and end times now reflect the times
|
||||
associated with the current CDR for the channel, as opposed to a cumulative
|
||||
measurement of all CDRs for that channel.
|
||||
|
||||
CEL:
|
||||
- The Uniqueid field for a channel is now a stable identifier, and will not
|
||||
change due to transfers, parking, etc.
|
||||
|
||||
- CEL has undergone significant rework in Asterisk 12, and is now built on the
|
||||
Stasis message bus. Please see the specification for CEL on the Asterisk
|
||||
wiki at https://wiki.asterisk.org/wiki/x/4ICLAQ for more detailed
|
||||
information. A summary of the affected events is below:
|
||||
- BRIDGE_START, BRIDGE_END, BRIDGE_UPDATE, 3WAY_START, 3WAY_END, CONF_ENTER,
|
||||
CONF_EXIT, CONF_START, and CONF_END events have all been removed. These
|
||||
events have been replaced by BRIDGE_ENTER/BRIDGE_EXIT.
|
||||
- BLINDTRANSFER/ATTENDEDTRANSFER events now report the peer as NULL and
|
||||
additional information in the extra string field.
|
||||
|
||||
Dialplan Functions:
|
||||
|
||||
- Certain dialplan functions have been marked as 'dangerous', and may only be
|
||||
executed from the dialplan. Execution from extenal sources (AMI's GetVar and
|
||||
SetVar actions; etc.) may be inhibited by setting live_dangerously in the
|
||||
[options] section of asterisk.conf to no. SHELL(), channel locking, and
|
||||
direct file read/write functions are marked as dangerous. DB_DELETE() and
|
||||
REALTIME_DESTROY() are marked as dangerous for reads, but can now safely
|
||||
accept writes (which ignore the provided value).
|
||||
- The default value for live_dangerously was changed from yes (in Asterisk 11
|
||||
and earlier) to no (in Asterisk 12 and greater).
|
||||
|
||||
Dialplan:
|
||||
- All channel and global variable names are evaluated in a case-sensitive
|
||||
manner. In previous versions of Asterisk, variables created and evaluated in
|
||||
the dialplan were evaluated case-insensitively, but built-in variables and
|
||||
variable evaluation done internally within Asterisk was done
|
||||
case-sensitively.
|
||||
|
||||
- Asterisk has always had code to ignore dash '-' characters that are not
|
||||
part of a character set in the dialplan extensions. The code now
|
||||
consistently ignores these characters when matching dialplan extensions.
|
||||
|
||||
- BRIDGE_FEATURES channel variable is now casesensitive for feature letter
|
||||
codes. Uppercase variants apply them to the calling party while lowercase
|
||||
variants apply them to the called party.
|
||||
|
||||
Features:
|
||||
- The features.conf [applicationmap] <FeatureName> ActivatedBy option is
|
||||
no longer honored. The feature is always activated by the channel that has
|
||||
DYNAMIC_FEATURES defined on it when it enters the bridge. Use predial to set
|
||||
different values of DYNAMIC_FEATURES on the channels
|
||||
|
||||
- Executing a dynamic feature on the bridge peer in a multi-party bridge will
|
||||
execute it on all peers of the activating channel.
|
||||
|
||||
- There is no longer an explicit 'features reload' CLI command. Features can
|
||||
still be reloaded using 'module reload features'.
|
||||
|
||||
- It is no longer necessary (or possible) to define the ATXFER_NULL_TECH in
|
||||
features.c for atxferdropcall=no to work properly. This option now just
|
||||
works.
|
||||
|
||||
Parking:
|
||||
- Parking has been extracted from the Asterisk core as a loadable module,
|
||||
res_parking.
|
||||
|
||||
- Configuration is found in res_parking.conf. It is no longer supported in
|
||||
features.conf
|
||||
|
||||
- The arguments for the Park, ParkedCall, and ParkAndAnnounce applications
|
||||
have been modified significantly. See the application documents for
|
||||
specific details.
|
||||
|
||||
- Numerous changes to Parking related applications, AMI and CLI commands and
|
||||
internal inter-workings have been made. Please read the CHANGES file for
|
||||
the detailed list.
|
||||
|
||||
Security Events Framework:
|
||||
- Security Event timestamps now use ISO 8601 formatted date/time instead of
|
||||
the "seconds-microseconds" format that it was using previously.
|
||||
|
||||
AGENT:
|
||||
- The password option has been disabled, as the AgentLogin application no
|
||||
longer provides authentication.
|
||||
|
||||
AUDIOHOOK_INHERIT:
|
||||
- Due to changes in the Asterisk core, this function is no longer needed to
|
||||
preserve a MixMonitor on a channel during transfer operations and dialplan
|
||||
execution. It is effectively obsolete.
|
||||
|
||||
CDR: (function)
|
||||
- The 'amaflags' and 'accountcode' attributes for the CDR function are
|
||||
deprecated. Use the CHANNEL function instead to access these attributes.
|
||||
|
||||
- The 'l' option has been removed. When reading a CDR attribute, the most
|
||||
recent record is always used. When writing a CDR attribute, all non-finalized
|
||||
CDRs are updated.
|
||||
|
||||
- The 'r' option has been removed, for the same reason as the 'l' option.
|
||||
|
||||
- The 's' option has been removed, as LOCKED semantics no longer exist in the
|
||||
CDR engine.
|
||||
|
||||
VMCOUNT:
|
||||
- Mailboxes defined by app_voicemail MUST be referenced by the rest of the
|
||||
system as mailbox@context. The rest of the system cannot add @default
|
||||
to mailbox identifiers for app_voicemail that do not specify a context
|
||||
any longer. It is a mailbox identifier format that should only be
|
||||
interpreted by app_voicemail.
|
||||
|
||||
res_rtp_asterisk:
|
||||
- ICE/STUN/TURN support in res_rtp_asterisk has been made optional. To enable
|
||||
them, an Asterisk-specific version of PJSIP needs to be installed.
|
||||
Tarballs are available from https://github.com/asterisk/pjproject/tags/.
|
||||
|
||||
|
||||
===========================================================
|
||||
===========================================================
|
@ -1,399 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
|
||||
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
|
||||
===========================================================
|
||||
|
||||
General Asterisk Changes:
|
||||
- The asterisk command line -I option and the asterisk.conf internal_timing
|
||||
option are removed and always enabled if any timing module is loaded.
|
||||
|
||||
- The per console verbose level feature as previously implemented caused a
|
||||
large performance penalty. The fix required some minor incompatibilities
|
||||
if the new rasterisk is used to connect to an earlier version. If the new
|
||||
rasterisk connects to an older Asterisk version then the root console verbose
|
||||
level is always affected by the "core set verbose" command of the remote
|
||||
console even though it may appear to only affect the current console. If
|
||||
an older version of rasterisk connects to the new version then the
|
||||
"core set verbose" command will have no effect.
|
||||
|
||||
- The asterisk compatibility options in asterisk.conf have been removed.
|
||||
These options enabled certain backwards compatibility features for
|
||||
pbx_realtime, res_agi, and app_set that made their behaviour similar to
|
||||
Asterisk 1.4. Users who used these backwards compatibility settings should
|
||||
update their dialplans to use ',' instead of '|' as a delimiter, and should
|
||||
use the Set dialplan application instead of the MSet dialplan application.
|
||||
|
||||
Build System:
|
||||
- Sample config files have been moved from configs/ to a subfolder of that
|
||||
directory, 'samples'.
|
||||
|
||||
- The menuselect utility has been pulled into the Asterisk repository. As a
|
||||
result, the libxml2 development library is now a required dependency for
|
||||
Asterisk.
|
||||
|
||||
- Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
|
||||
objects will emit additional debug information to the refs log file located
|
||||
in the standard Asterisk log file directory. This log file is useful in
|
||||
tracking down object leaks and other reference counting issues. Prior to
|
||||
this version, this option was only available by modifying the source code
|
||||
directly. This change also includes a new script, refcounter.py, in the
|
||||
contrib folder that will process the refs log file.
|
||||
|
||||
Applications:
|
||||
|
||||
ConfBridge:
|
||||
- The sound_place_into_conference sound used in Confbridge is now deprecated
|
||||
and is no longer functional since it has been broken since its inception
|
||||
and the fix involved using a different method to achieve the same goal. The
|
||||
new method to achieve this functionality is by using sound_begin to play
|
||||
a sound to the conference when waitmarked users are moved into the conference.
|
||||
|
||||
- Added 'Admin' header to ConfbridgeJoin, ConfbridgeLeave, ConfbridgeMute,
|
||||
ConfbridgeUnmute, and ConfbridgeTalking AMI events.
|
||||
|
||||
ControlPlayback:
|
||||
- The ControlPlayback and 'control stream file' AGI command will no longer
|
||||
implicitly answer the channel. If you do not answer the channel prior to
|
||||
using either this application or AGI command, you must send Progress
|
||||
first.
|
||||
|
||||
Queue:
|
||||
- Queue rules provided in queuerules.conf can no longer be named "general".
|
||||
|
||||
SetMusicOnHold:
|
||||
- The SetMusicOnHold dialplan application was deprecated and has been removed.
|
||||
Users of the application should use the CHANNEL function's musicclass
|
||||
setting instead.
|
||||
|
||||
WaitMusicOnHold:
|
||||
- The WaitMusicOnHold dialplan application was deprecated and has been
|
||||
removed. Users of the application should use MusicOnHold with a duration
|
||||
parameter instead.
|
||||
|
||||
CDR Backends:
|
||||
- The cdr_sqlite module was deprecated and has been removed. Users of this
|
||||
module should use the cdr_sqlite3_custom module instead.
|
||||
|
||||
Channel Drivers:
|
||||
|
||||
chan_dahdi:
|
||||
- SS7 support now requires libss7 v2.0 or later.
|
||||
|
||||
- Added the inband_on_setup_ack compatibility option to chan_dahdi.conf to
|
||||
deal with switches that don't send an inband progress indication in the
|
||||
SETUP ACKNOWLEDGE message.
|
||||
Default is now no.
|
||||
|
||||
chan_gtalk
|
||||
- This module was deprecated and has been removed. Users of chan_gtalk
|
||||
should use chan_motif.
|
||||
|
||||
chan_h323
|
||||
- This module was deprecated and has been removed. Users of chan_h323
|
||||
should use chan_ooh323.
|
||||
|
||||
chan_jingle
|
||||
- This module was deprecated and has been removed. Users of chan_jingle
|
||||
should use chan_motif.
|
||||
|
||||
chan_pjsip:
|
||||
- Added a 'force_avp' option to chan_pjsip which will force the usage of
|
||||
'RTP/AVP', 'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' as the media transport type
|
||||
in SDP offers depending on settings, even when DTLS is used for media
|
||||
encryption.
|
||||
|
||||
- Added a 'media_use_received_transport' option to chan_pjsip which will
|
||||
cause the SDP answer to use the media transport as received in the SDP
|
||||
offer.
|
||||
|
||||
chan_sip:
|
||||
- Made set SIPREFERREDBYHDR as inheritable for better chan_pjsip
|
||||
interoperability.
|
||||
|
||||
- The SIPPEER dialplan function no longer supports using a colon as a
|
||||
delimiter for parameters. The parameters for the function should be
|
||||
delimited using a comma.
|
||||
|
||||
- The SIPCHANINFO dialplan function was deprecated and has been removed. Users
|
||||
of the function should use the CHANNEL function instead.
|
||||
|
||||
- Added a 'force_avp' option for chan_sip. When enabled this option will
|
||||
cause the media transport in the offer or answer SDP to be 'RTP/AVP',
|
||||
'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' even if a DTLS stream has been
|
||||
configured. This option can be set to improve interoperability with WebRTC
|
||||
clients that don't use the RFC defined transport for DTLS.
|
||||
|
||||
- The 'dtlsverify' option in chan_sip now has additional values besides
|
||||
'yes' and 'no'. If 'yes' is specified both the certificate and fingerprint
|
||||
will be verified. If 'no' is specified then neither the certificate or
|
||||
fingerprint is verified. If 'certificate' is specified then only the
|
||||
certificate is verified. If 'fingerprint' is specified then only the
|
||||
fingerprint is verified.
|
||||
|
||||
- A 'dtlsfingerprint' option has been added to chan_sip which allows the
|
||||
hash to be specified for the DTLS fingerprint placed in SDP. Supported
|
||||
values are 'sha-1' and 'sha-256' with 'sha-256' being the default.
|
||||
|
||||
- The 'progressinband=never' option is now more zealous in the persecution of
|
||||
progress messages coming from Asterisk. Channels bridged with a SIP channel
|
||||
that has 'progressinband=never' set will not be able to forward their
|
||||
progress indications through to the SIP device. chan_sip will now turn such
|
||||
progress indications into a 180 Ringing (if a 180 has not yet been
|
||||
transmitted) if 'progressinband=never'.
|
||||
|
||||
- The codec preference order in an SDP during an offer is slightly different
|
||||
than previous releases. Prior to Asterisk 13, the preference order of
|
||||
codecs used to be:
|
||||
(1) Our preferred codec
|
||||
(2) Our configured codecs
|
||||
(3) Any non-audio joint codecs
|
||||
|
||||
One of the ways the new media format architecture in Asterisk 13 improves
|
||||
performance is by reference counting formats, such that they can be reused
|
||||
in many places without additional allocation. To not require a large
|
||||
amount of locking, an instance of a format is immutable by convention.
|
||||
This works well except for formats with attributes. Since a media format
|
||||
with an attribute is a different object than the same format without an
|
||||
attribute, we have to carry over the formats with attributes from an
|
||||
inbound offer so that the correct attributes are offered in an outgoing
|
||||
INVITE request. This requires some subtle tweaks to the preference order
|
||||
to ensure that the media format with attributes is offered to a remote
|
||||
peer, as opposed to the same media format (but without attributes) that
|
||||
may be stored in the peer object.
|
||||
|
||||
All of this means that our offer offer list will now be:
|
||||
(1) Our preferred codec
|
||||
(2) Any joint codecs offered by the inbound offer
|
||||
(3) All other codecs that are not the preferred codec and not a joint
|
||||
codec offered by the inbound offer
|
||||
|
||||
chan_unistim:
|
||||
- The unistim.conf 'dateformat' has changed meaning of options values to conform
|
||||
values used inside Unistim protocol
|
||||
|
||||
- Added 'dtmf_duration' option with changing default operation to disable
|
||||
receivied dtmf playback on unistim phone
|
||||
|
||||
Core:
|
||||
|
||||
Account Codes:
|
||||
- accountcode behavior changed somewhat to add functional peeraccount
|
||||
support. The main change is that local channels now cross accountcode
|
||||
and peeraccount across the special bridge between the ;1 and ;2 channels
|
||||
just like channels between normal bridges. See the CHANGES file for
|
||||
more information.
|
||||
|
||||
ARI:
|
||||
- The ARI version has been changed to 1.5.0. This is to reflect backwards
|
||||
compatible changes made since 12.0.0 was released.
|
||||
|
||||
- Added a new ARI resource 'mailboxes' which allows the creation and
|
||||
modification of mailboxes managed by external MWI. Modules res_mwi_external
|
||||
and res_stasis_mailbox must be enabled to use this resource.
|
||||
|
||||
- Added new events for externally initiated transfers. The event
|
||||
BridgeBlindTransfer is now raised when a channel initiates a blind transfer
|
||||
of a bridge in the ARI controlled application to the dialplan; the
|
||||
BridgeAttendedTransfer event is raised when a channel initiates an
|
||||
attended transfer of a bridge in the ARI controlled application to the
|
||||
dialplan.
|
||||
|
||||
- Channel variables may now be specified as a body parameter to the
|
||||
POST /channels operation. The 'variables' key in the JSON is interpreted
|
||||
as a sequence of key/value pairs that will be added to the created channel
|
||||
as channel variables. Other parameters in the JSON body are treated as
|
||||
query parameters of the same name.
|
||||
|
||||
- A bug fix in bridge creation has caused a behavioural change in how
|
||||
subscriptions are created for bridges. A bridge created through ARI, does
|
||||
not, by itself, have a subscription created for any particular Stasis
|
||||
application. When a channel in a Stasis application joins a bridge, an
|
||||
implicit event subscription is created for that bridge as well. Previously,
|
||||
when a channel left such a bridge, the subscription was leaked; this allowed
|
||||
for later bridge events to continue to be pushed to the subscribed
|
||||
applications. That leak has been fixed; as a result, bridge events that were
|
||||
delivered after a channel left the bridge are no longer delivered. An
|
||||
application must subscribe to a bridge through the applications resource if
|
||||
it wishes to receive all events related to a bridge.
|
||||
|
||||
AMI:
|
||||
- The AMI version has been changed to 2.5.0. This is to reflect backwards
|
||||
compatible changes made since 12.0.0 was released.
|
||||
|
||||
- The DialStatus field in the DialEnd event can now have additional values.
|
||||
This includes ABORT, CONTINUE, and GOTO.
|
||||
|
||||
- The res_mwi_external_ami module can, if loaded, provide additional AMI
|
||||
actions and events that convey MWI state within Asterisk. This includes
|
||||
the MWIGet, MWIUpdate, and MWIDelete actions, as well as the MWIGet and
|
||||
MWIGetComplete events that occur in response to an MWIGet action.
|
||||
|
||||
- AMI now contains a new class authorization, 'security'. This is used with
|
||||
the following new events: FailedACL, InvalidAccountID, SessionLimit,
|
||||
MemoryLimit, LoadAverageLimit, RequestNotAllowed, AuthMethodNotAllowed,
|
||||
RequestBadFormat, SuccessfulAuth, UnexpectedAddress, ChallengeResponseFailed,
|
||||
InvalidPassword, ChallengeSent, and InvalidTransport.
|
||||
|
||||
- Bridge related events now have two additional fields: BridgeName and
|
||||
BridgeCreator. BridgeName is a descriptive name for the bridge;
|
||||
BridgeCreator is the name of the entity that created the bridge. This
|
||||
affects the following events: ConfbridgeStart, ConfbridgeEnd,
|
||||
ConfbridgeJoin, ConfbridgeLeave, ConfbridgeRecord, ConfbridgeStopRecord,
|
||||
ConfbridgeMute, ConfbridgeUnmute, ConfbridgeTalking, BlindTransfer,
|
||||
AttendedTransfer, BridgeCreate, BridgeDestroy, BridgeEnter, BridgeLeave
|
||||
|
||||
- MixMonitor AMI actions now require users to have authorization classes.
|
||||
* MixMonitor - system
|
||||
* MixMonitorMute - call or system
|
||||
* StopMixMonitor - call or system
|
||||
|
||||
- Removed the undocumented manager.conf block-sockets option. It interferes with
|
||||
TCP/TLS inactivity timeouts.
|
||||
|
||||
- The response to the PresenceState AMI action has historically contained two
|
||||
Message keys. The first of these is used as an informative message regarding
|
||||
the success/failure of the action; the second contains a Presence state
|
||||
specific message. Having two keys with the same unique name in an AMI
|
||||
message is cumbersome for some client; hence, the Presence specific Message
|
||||
has been deprecated. The message will now contain a PresenceMessage key
|
||||
for the presence specific information; the Message key containing presence
|
||||
information will be removed in the next major version of AMI.
|
||||
|
||||
- The manager.conf 'eventfilter' now takes an "extended" regular expression
|
||||
instead of a "basic" one.
|
||||
|
||||
CDRs:
|
||||
- The "endbeforehexten" setting now defaults to "yes", instead of "no".
|
||||
When set to "no", yhis setting will cause a new CDR to be generated when a
|
||||
channel enters into hangup logic (either the 'h' extension or a hangup
|
||||
handler subroutine). In general, this is not the preferred default: this
|
||||
causes extra CDRs to be generated for a channel in many common dialplans.
|
||||
|
||||
CLI commands:
|
||||
- "core show settings" now lists the current console verbosity in addition
|
||||
to the root console verbosity.
|
||||
|
||||
- "core set verbose" has not been able to support the by module verbose
|
||||
logging levels since verbose logging levels were made per console. That
|
||||
syntax is now removed and a silence option added in its place.
|
||||
|
||||
Logging:
|
||||
- The 'verbose' setting in logger.conf still takes an optional argument,
|
||||
specifying the verbosity level for each logging destination. However,
|
||||
the default is now to once again follow the current root console level.
|
||||
As a result, using the AMI Command action with "core set verbose" could
|
||||
again set the root console verbose level and affect the verbose level
|
||||
logged.
|
||||
|
||||
HTTP:
|
||||
- Added http.conf session_inactivity timer option to close HTTP connections
|
||||
that aren't doing anything.
|
||||
|
||||
- Added support for persistent HTTP connections. To enable persistent
|
||||
HTTP connections configure the keep alive time between HTTP requests. The
|
||||
keep alive time between HTTP requests is configured in http.conf with the
|
||||
session_keep_alive parameter.
|
||||
|
||||
Realtime Configuration:
|
||||
- WARNING: The database migration script that adds the 'extensions' table for
|
||||
realtime had to be modified due to an error when installing for MySQL. The
|
||||
'extensions' table's 'id' column was changed to be a primary key. This could
|
||||
potentially cause a migration problem. If so, it may be necessary to
|
||||
manually alter the affected table/column to bring it back in line with the
|
||||
migration scripts.
|
||||
|
||||
- New columns have been added to realtime tables for 'support_path' on
|
||||
ps_registrations and ps_aors and for 'path' on ps_contacts for the new
|
||||
SIP Path support in chan_pjsip.
|
||||
|
||||
- The following new tables have been added for pjsip realtime: 'ps_systems',
|
||||
'ps_globals', 'ps_tranports', 'ps_registrations'.
|
||||
|
||||
- The following columns were added to the 'ps_aors' realtime table:
|
||||
'maximum_expiration', 'outbound_proxy', and 'support_path'.
|
||||
|
||||
- The following columns were added to the 'ps_contacts' realtime table:
|
||||
'outbound_proxy', 'user_agent', and 'path'.
|
||||
|
||||
- New columns have been added to the ps_endpoints realtime table for the
|
||||
'media_address', 'redirect_method' and 'set_var' options. Also the
|
||||
'mwi_fromuser' column was renamed to 'mwi_from_user'. A new column
|
||||
'message_context' was added to let users configure how MESSAGE requests are
|
||||
routed to the dialplan.
|
||||
|
||||
- A new column was added to the 'ps_globals' realtime table for the 'debug'
|
||||
option.
|
||||
|
||||
- PJSIP endpoint columns 'tos_audio' and 'tos_video' have been changed from
|
||||
yes/no enumerators to string values. 'cos_audio' and 'cos_video' have been
|
||||
changed from yes/no enumerators to integer values. PJSIP transport column
|
||||
'tos' has been changed from a yes/no enumerator to a string value. 'cos' has
|
||||
been changed from a yes/no enumerator to an integer value.
|
||||
|
||||
- The 'queues' and 'queue_members' realtime tables have been added to the
|
||||
config Alembic scripts.
|
||||
|
||||
- A new set of Alembic scripts has been added for CDR tables. This will create
|
||||
a 'cdr' table with the default schema that Asterisk expects.
|
||||
|
||||
- A new upgrade script has been added that adds a 'queue_rules' table for
|
||||
app_queue. Users of app_queue can store queue rules in a database. It is
|
||||
important to note that app_queue only looks for this table on module load or
|
||||
module reload; for more information, see the CHANGES file.
|
||||
|
||||
Resources:
|
||||
|
||||
res_odbc:
|
||||
- The compatibility setting, allow_empty_string_in_nontext, has been removed.
|
||||
Empty column values will be stored as empty strings during realtime updates.
|
||||
|
||||
res_jabber:
|
||||
- This module was deprecated and has been removed. Users of this module should
|
||||
use res_xmpp instead.
|
||||
|
||||
res_http_websocket:
|
||||
- Added a compatibility option to ari.conf, sip.conf, and pjsip.conf
|
||||
'websocket_write_timeout'. When a websocket connection exists where Asterisk
|
||||
writes a substantial amount of data to the connected client, and the connected
|
||||
client is slow to process the received data, the socket may be disconnected.
|
||||
In such cases, it may be necessary to adjust this value.
|
||||
Default is 100 ms.
|
||||
Scripts:
|
||||
|
||||
safe_asterisk:
|
||||
- The safe_asterisk script was previously not installed on top of an existing
|
||||
version. This caused bug-fixes in that script not to be deployed. If your
|
||||
safe_asterisk script is customized, be sure to keep your changes. Custom
|
||||
values for variables should be created in *.sh file(s) inside
|
||||
ASTETCDIR/startup.d/. See ASTERISK-21965.
|
||||
|
||||
- Changed a log message in safe_asterisk and the $NOTIFY mail subject. If
|
||||
you use tools to parse either of them, update your parse functions
|
||||
accordingly. The changed strings are:
|
||||
- "Exited on signal $EXITSIGNAL" => "Asterisk exited on signal $EXITSIGNAL."
|
||||
- "Asterisk Died" => "Asterisk on $MACHINE died (sig $EXITSIGNAL)"
|
||||
|
||||
Utilities:
|
||||
- The refcounter program has been removed in favor of the refcounter.py script
|
||||
in contrib/scripts.
|
||||
|
||||
===========================================================
|
||||
===========================================================
|
@ -1,115 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
|
||||
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
|
||||
=== UPGRADE-13.txt -- Upgrade info for 12 to 13
|
||||
===========================================================
|
||||
|
||||
From 14.6.0 to 14.7.0:
|
||||
|
||||
Core:
|
||||
- ast_app_parse_timelen now returns an error if it encounters extra characters
|
||||
at the end of the string to be parsed.
|
||||
|
||||
From 14.4.0 to 14.5.0:
|
||||
|
||||
Core:
|
||||
- Support for embedded modules has been removed. This has not worked in
|
||||
many years. LOADABLE_MODULES menuselect option is also removed as
|
||||
loadable module support is now always enabled.
|
||||
|
||||
From 14.3.0 to 14.4.0:
|
||||
|
||||
res_rtp_asterisk:
|
||||
- The RTP layer of Asterisk now has support for RFC 5761: "Multiplexing RTP
|
||||
Data and Control Packets on a Single Port." For the PJSIP channel driver,
|
||||
chan_pjsip, you can set "rtcp_mux = yes" on a PJSIP endpoint in pjsip.conf
|
||||
to enable the feature. For chan_sip you can set "rtcp_mux = yes" either
|
||||
globally or on a per-peer basis in sip.conf.
|
||||
|
||||
New in 14.0.0
|
||||
|
||||
ARI:
|
||||
- The policy for when to send "Dial" events has changed. Previously, "Dial"
|
||||
events were sent on the calling channel's topic. However, starting in Asterisk
|
||||
14, if there is no calling channel on which to send the event, the event is
|
||||
instead sent on the called channel's topic. Note that for the ARI channels
|
||||
resource's dial operation, this means that the "Dial" events will always be
|
||||
sent on the called channel's topic.
|
||||
|
||||
Channel Drivers:
|
||||
|
||||
chan_dahdi:
|
||||
- For users using the FXO port (FXS signaling) distinctive ring detection
|
||||
feature, you will need to adjust the dringX count values. The count
|
||||
values now only record ring end events instead of any DAHDI event. A
|
||||
ring-ring-ring pattern would exceed the pattern limits and stop
|
||||
Caller-ID detection.
|
||||
|
||||
chan_sip:
|
||||
- The SIP dial string has been extended past the [!dnid] option by another
|
||||
exclamation mark: [!dnid[!fromuri]. An exclamation mark in the To-URI
|
||||
will now mean changes to the From-URI.
|
||||
|
||||
Core:
|
||||
- The REF_DEBUG compiler flag is now used to enable refdebug by default.
|
||||
The setting can be overridden in asterisk.conf by setting refdebug in
|
||||
the options category. No recompile is required to enable/disable it.
|
||||
|
||||
- Modified processing of command-line options to first parse only what
|
||||
is necessary to read asterisk.conf. Once asterisk.conf is fully loaded,
|
||||
the remaining options are processed. The -X option now applies to
|
||||
asterisk.conf only. To enable #exec for other config files you must
|
||||
set execincludes=yes in asterisk.conf. Any other option set on the
|
||||
command-line will now override the equivalent setting from asterisk.conf.
|
||||
|
||||
AMI:
|
||||
- The 'ModuleCheck' Action's Version key will no longer show the module
|
||||
version. The value will always be blank.
|
||||
|
||||
CLI:
|
||||
- The 'core show file version' command has been removed. When Asterisk
|
||||
moved to Git, the source control version support was removed. As a
|
||||
result, the CLi command was no longer useful and was removed as well.
|
||||
|
||||
Logging:
|
||||
- The first callid created is now 1 instead of 0. The value 0
|
||||
is now reserved to represent a lack of callid.
|
||||
|
||||
AMI:
|
||||
- The Command action now sends the output from the CLI command as a series
|
||||
of Output headers for each line instead of as a block of text with the
|
||||
--END COMMAND-- delimiter to match the output from other actions.
|
||||
|
||||
Commands that fail to execute (no such command, invalid syntax etc.) now
|
||||
return an Error response instead of Success.
|
||||
|
||||
app_amd:
|
||||
- The 'maximum_number_of_words' configuration option and parameter to the AMD
|
||||
application previously did not match the documented functionality + variable
|
||||
name. In Asterisk 13, a value of '3' would mean that if '3' words were detected,
|
||||
the result would be detection as a 'MACHINE'. As of this version, the value
|
||||
reflects the maximum words that if EXCEEDED (rather than reached), would
|
||||
result in detection as a machine. This means that you should update this
|
||||
value to be one higher than your previos value, if your previous value
|
||||
was working well for you.
|
||||
|
||||
===========================================================
|
||||
===========================================================
|
@ -1,63 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
|
||||
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
|
||||
=== UPGRADE-13.txt -- Upgrade info for 12 to 13
|
||||
=== UPGRADE-14.txt -- Upgrade info for 13 to 14
|
||||
===========================================================
|
||||
|
||||
From 15.2.0 to 15.3.0:
|
||||
|
||||
res_pjsip
|
||||
------------------
|
||||
* Users who are matching endpoints by SIP header need to reevaluate their
|
||||
global "endpoint_identifier_order" option in light of the "ip" endpoint
|
||||
identifier method split into the "ip" and "header" endpoint identifier
|
||||
methods.
|
||||
|
||||
res_pjsip_endpoint_identifier_ip
|
||||
------------------
|
||||
* The endpoint identifier "ip" method previously recognized endpoints either
|
||||
by IP address or a matching SIP header. The "ip" endpoint identifier method
|
||||
is now split into the "ip" and "header" endpoint identifier methods. The
|
||||
"ip" endpoint identifier method only matches by IP address and the "header"
|
||||
endpoint identifier method only matches by SIP header. The split allows the
|
||||
user to control the relative priority of the IP address and the SIP header
|
||||
identification methods in the global "endpoint_identifier_order" option.
|
||||
e.g., If you have two type=identify sections where one matches by IP address
|
||||
for endpoint alice and the other matches by SIP header for endpoint bob then
|
||||
you can now predict which endpoint is matched when a request comes in that
|
||||
matches both.
|
||||
|
||||
New in 15.0.0:
|
||||
|
||||
Build System:
|
||||
- '--with-pjproject-bundled' is now the default when running ./configure
|
||||
It can be disabled with '--without-pjproject-bundled'.
|
||||
|
||||
Core:
|
||||
- Multi-stream support has been added so a channel can have multiple
|
||||
streams of the same type such as audio and video.
|
||||
|
||||
- The 'Data Retrieval API' has been removed. This API was not actively
|
||||
maintained, was not added to new modules (such as res_pjsip), and there
|
||||
exist better alternatives to acquire the same information, such as the
|
||||
ARI. As a result, the 'DataGet' AMI action as well as the 'data get'
|
||||
CLI command have been removed.
|
@ -1,86 +0,0 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
|
||||
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
|
||||
=== UPGRADE-13.txt -- Upgrade info for 12 to 13
|
||||
=== UPGRADE-14.txt -- Upgrade info for 13 to 14
|
||||
=== UPGRADE-15.txt -- Upgrade info for 14 to 15
|
||||
===========================================================
|
||||
|
||||
New in 16.0.0:
|
||||
|
||||
app_fax:
|
||||
- The app_fax module is now deprecated, users should migrate to the
|
||||
replacement module res_fax.
|
||||
|
||||
app_macro:
|
||||
- The app_macro module is now deprecated and by default it is no longer
|
||||
built. Users should migrate to app_stack (Gosub). A warning is logged
|
||||
the first time any Macro is used.
|
||||
|
||||
AMI:
|
||||
- The ContactStatus and Status fields for the manager events ContactStatus
|
||||
and ContactStatusDetail are now set to "NonQualified" when a contact exists
|
||||
but has not been qualified.
|
||||
- The ContactStatus event will no longer be sent by PJSIP when a device
|
||||
refreshes its registration.
|
||||
- The "Newexten" event is now part of the "dialplan" class. The documentation
|
||||
for Asterisk 15 already specified this, but the implementation was actually
|
||||
using the "call" class instead.
|
||||
|
||||
ARI:
|
||||
- The ContactInfo event's contact_status field is now set to "NonQualified"
|
||||
when a contact exists but has not been qualified.
|
||||
|
||||
Build System:
|
||||
- MALLOC_DEBUG no longer has an effect on Asterisk's ABI. Asterisk built
|
||||
with MALLOC_DEBUG can now successfully load binary modules built without
|
||||
MALLOC_DEBUG and vice versa. Third-party pre-compiled modules no longer
|
||||
need to have a special build with it enabled.
|
||||
|
||||
- Asterisk now depends on libjansson >= 2.11. If this version is not
|
||||
available on your distro you can use `./configure --with-jansson-bundled`.
|
||||
|
||||
chan_dahdi:
|
||||
- Timeouts for reading digits from analog phones are now configurable in
|
||||
chan_dahdi.conf: firstdigit_timeout, interdigit_timeout, matchdigit_timeout.
|
||||
|
||||
cdr_syslog:
|
||||
- The cdr_syslog module is now deprecated and by default it is no longer
|
||||
built.
|
||||
|
||||
res_config_sqlite:
|
||||
- The res_config_sqlite module is now deprecated, users should migrate to the
|
||||
replacement module res_config_sqlite3.
|
||||
|
||||
res_monitor:
|
||||
- The res_monitor module is now deprecated, users should migrate to the
|
||||
replacement module app_mixmonitor.
|
||||
|
||||
Core:
|
||||
- libedit is no longer available as an embedded library and must be provided
|
||||
by the system.
|
||||
- The module loader now enforces inter-module dependencies. This ensures that
|
||||
a module is not started before another it depends on, even if preload is used.
|
||||
If a dependency is not available or fails to startup this will block any
|
||||
dependants from startup.
|
||||
- Parts of the Asterisk core which can load configuration from realtime are now
|
||||
built-in modules. It is no longer necessary to preload realtime drivers as
|
||||
they are always initialized before the built-in modules.
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,36 @@
|
||||
Subject: Bridging
|
||||
Master-Only: true
|
||||
|
||||
The bridging core no longer uses the stasis cache for bridge
|
||||
snapshots. The latest bridge snapshot is now stored on the
|
||||
ast_bridge structure itself.
|
||||
|
||||
The following APIs are no longer available since the stasis cache
|
||||
is no longer used:
|
||||
ast_bridge_topic_cached()
|
||||
ast_bridge_topic_all_cached()
|
||||
|
||||
A topic pool is now used for individual bridge topics.
|
||||
|
||||
The ast_bridge_cache() function was removed since there's no
|
||||
longer a separate container of snapshots.
|
||||
|
||||
A new function "ast_bridges()" was created to retrieve the
|
||||
container of all bridges. Users formerly calling
|
||||
ast_bridge_cache() can use the new function to iterate over
|
||||
bridges and retrieve the latest snapshot directly from the
|
||||
bridge.
|
||||
|
||||
The ast_bridge_snapshot_get_latest() function was renamed to
|
||||
ast_bridge_get_snapshot_by_uniqueid().
|
||||
|
||||
A new function "ast_bridge_get_snapshot()" was created to retrieve
|
||||
the bridge snapshot directly from the bridge structure.
|
||||
|
||||
The ast_bridge_topic_all() function now returns a normal topic
|
||||
not a cached one so you can't use stasis cache functions on it
|
||||
either.
|
||||
|
||||
The ast_bridge_snapshot_type() stasis message now has the
|
||||
ast_bridge_snapshot_update structure as it's data. It contains
|
||||
the last snapshot and the new one.
|
@ -0,0 +1,7 @@
|
||||
Subject: chan_sip
|
||||
Master-Only: true
|
||||
|
||||
The chan_sip module is now deprecated, users should migrate to the
|
||||
replacement module chan_pjsip. See guides at the Asterisk Wiki:
|
||||
https://wiki.asterisk.org/wiki/x/tAHOAQ
|
||||
https://wiki.asterisk.org/wiki/x/hYCLAQ
|
@ -0,0 +1,16 @@
|
||||
Subject: Channels
|
||||
Master-Only: true
|
||||
|
||||
The core no longer uses the stasis cache for channels snapshots.
|
||||
The following APIs are no longer available:
|
||||
ast_channel_topic_cached()
|
||||
ast_channel_topic_all_cached()
|
||||
The ast_channel_cache_all() and ast_channel_cache_by_name() functions
|
||||
now returns an ao2_container of ast_channel_snapshots rather than a
|
||||
container of stasis_messages therefore you can't call stasis_cache
|
||||
functions on it.
|
||||
The ast_channel_topic_all() function now returns a normal topic,
|
||||
not a cached one so you can't use stasis cache functions on it either.
|
||||
The ast_channel_snapshot_type() stasis message now has the
|
||||
ast_channel_snapshot_update structure as it's data.
|
||||
ast_channel_snapshot_get_latest() still returns the latest snapshot.
|
@ -0,0 +1,4 @@
|
||||
Subject: Applications
|
||||
Master-Only: true
|
||||
|
||||
The JabberStatus application, deprecated in Asterisk 12, has been removed.
|
@ -0,0 +1,36 @@
|
||||
Subject: Bridging
|
||||
Master-Only: true
|
||||
|
||||
The bridging core no longer uses the stasis cache for bridge
|
||||
snapshots. The latest bridge snapshot is now stored on the
|
||||
ast_bridge structure itself.
|
||||
|
||||
The following APIs are no longer available since the stasis cache
|
||||
is no longer used:
|
||||
ast_bridge_topic_cached()
|
||||
ast_bridge_topic_all_cached()
|
||||
|
||||
A topic pool is now used for individual bridge topics.
|
||||
|
||||
The ast_bridge_cache() function was removed since there's no
|
||||
longer a separate container of snapshots.
|
||||
|
||||
A new function "ast_bridges()" was created to retrieve the
|
||||
container of all bridges. Users formerly calling
|
||||
ast_bridge_cache() can use the new function to iterate over
|
||||
bridges and retrieve the latest snapshot directly from the
|
||||
bridge.
|
||||
|
||||
The ast_bridge_snapshot_get_latest() function was renamed to
|
||||
ast_bridge_get_snapshot_by_uniqueid().
|
||||
|
||||
A new function "ast_bridge_get_snapshot()" was created to retrieve
|
||||
the bridge snapshot directly from the bridge structure.
|
||||
|
||||
The ast_bridge_topic_all() function now returns a normal topic
|
||||
not a cached one so you can't use stasis cache functions on it
|
||||
either.
|
||||
|
||||
The ast_bridge_snapshot_type() stasis message now has the
|
||||
ast_bridge_snapshot_update structure as it's data. It contains
|
||||
the last snapshot and the new one.
|
@ -0,0 +1,7 @@
|
||||
Subject: chan_sip
|
||||
Master-Only: true
|
||||
|
||||
The chan_sip module is now deprecated, users should migrate to the
|
||||
replacement module chan_pjsip. See guides at the Asterisk Wiki:
|
||||
https://wiki.asterisk.org/wiki/x/tAHOAQ
|
||||
https://wiki.asterisk.org/wiki/x/hYCLAQ
|
@ -0,0 +1,16 @@
|
||||
Subject: Channels
|
||||
Master-Only: true
|
||||
|
||||
The core no longer uses the stasis cache for channels snapshots.
|
||||
The following APIs are no longer available:
|
||||
ast_channel_topic_cached()
|
||||
ast_channel_topic_all_cached()
|
||||
The ast_channel_cache_all() and ast_channel_cache_by_name() functions
|
||||
now returns an ao2_container of ast_channel_snapshots rather than a
|
||||
container of stasis_messages therefore you can't call stasis_cache
|
||||
functions on it.
|
||||
The ast_channel_topic_all() function now returns a normal topic,
|
||||
not a cached one so you can't use stasis cache functions on it either.
|
||||
The ast_channel_snapshot_type() stasis message now has the
|
||||
ast_channel_snapshot_update structure as it's data.
|
||||
ast_channel_snapshot_get_latest() still returns the latest snapshot.
|
@ -0,0 +1,5 @@
|
||||
Subject: func_callerid
|
||||
Master-Only: true
|
||||
|
||||
The CALLERPRES() dialplan function, deprecated in Asterisk 1.8, has been
|
||||
removed.
|
@ -0,0 +1,5 @@
|
||||
Subject: res_parking
|
||||
Master-Only: true
|
||||
|
||||
The PARKINGSLOT channel variable, deprecated in Asterisk 12 in favor of the
|
||||
PARKING_SPACE channel variable, will no longer be set.
|
@ -0,0 +1,4 @@
|
||||
Subject: res_xmpp
|
||||
Master-Only: true
|
||||
|
||||
The JabberStatus application, deprecated in Asterisk 12, has been removed.
|
Loading…
Reference in new issue