mirror of https://github.com/asterisk/asterisk
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
278 lines
14 KiB
278 lines
14 KiB
=========================================================
|
|
===
|
|
=== 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.
|