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.
219 lines
9.1 KiB
219 lines
9.1 KiB
=========================================================
|
|
===
|
|
=== 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
|