123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- =========================================================
- ===
- === 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
|