UPGRADE.txt 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. Information for Upgrading From Previous Asterisk Releases
  2. =========================================================
  3. IAX2:
  4. * There have been some changes to the IAX2 protocol to address the security
  5. concerns documented in the security advisory AST-2009-006. Please see the
  6. IAX2 security document, doc/IAX2-security.pdf, for information regarding
  7. backwards compatibility with versions of Asterisk that do not contain these
  8. changes to IAX2.
  9. Compiling:
  10. * The Asterisk 1.2 source code now uses C language features
  11. supported only by 'modern' C compilers. Generally, this means GCC
  12. version 3.0 or higher, although some GCC 2.96 releases will also
  13. work. Some non-GCC compilers that support C99 and the common GCC
  14. extensions (including anonymous structures and unions) will also
  15. work. All releases of GCC 2.95 do _not_ have the requisite feature
  16. support; systems using that compiler will need to be upgraded to
  17. a more recent compiler release.
  18. Dialplan Expressions:
  19. * The dialplan expression parser (which handles $[ ... ] constructs)
  20. has gone through a major upgrade, but has one incompatible change:
  21. spaces are no longer required around expression operators, including
  22. string comparisons. However, you can now use quoting to keep strings
  23. together for comparison. For more details, please read the
  24. doc/README.variables file, and check over your dialplan for possible
  25. problems.
  26. Agents:
  27. * The default for ackcall has been changed to "no" instead of "yes"
  28. because of a bug which caused the "yes" behavior to generally act like
  29. "no". You may need to adjust the value if your agents behave
  30. differently than you expect with respect to acknowledgement.
  31. * The AgentCallBackLogin application now requires a second '|' before
  32. specifying an extension@context. This is to distinguish the options
  33. string from the extension, so that they do not conflict. See
  34. 'show application AgentCallbackLogin' for more details.
  35. Parking:
  36. * Parking behavior has changed slightly; when a parked call times out,
  37. Asterisk will attempt to deliver the call back to the extension that
  38. parked it, rather than the 's' extension. If that extension is busy
  39. or unavailable, the parked call will be lost.
  40. Dialing:
  41. * The Caller*ID of the outbound leg is now the extension that was
  42. called, rather than the Caller*ID of the inbound leg of the call. The
  43. "o" flag for Dial can be used to restore the original behavior if
  44. desired. Note that if you are looking for the originating callerid
  45. from the manager event, there is a new manager event "Dial" which
  46. provides the source and destination channels and callerid.
  47. IAX:
  48. * The naming convention for IAX channels has changed in two ways:
  49. 1. The call number follows a "-" rather than a "/" character.
  50. 2. The name of the channel has been simplified to IAX2/peer-callno,
  51. rather than IAX2/peer@peer-callno or even IAX2/peer@peer/callno.
  52. SIP:
  53. * The global option "port" in 1.0.X that is used to set which port to
  54. bind to has been changed to "bindport" to be more consistent with
  55. the other channel drivers and to avoid confusion with the "port"
  56. option for users/peers.
  57. * The "Registry" event now uses "Username" rather than "User" for
  58. consistency with IAX.
  59. Applications:
  60. * With the addition of dialplan functions (which operate similarly
  61. to variables), the SetVar application has been renamed to Set.
  62. * The CallerPres application has been removed. Use SetCallerPres
  63. instead. It accepts both numeric and symbolic names.
  64. * The applications GetGroupCount, GetGroupMatchCount, SetGroup, and
  65. CheckGroup have been deprecated in favor of functions. Here is a
  66. table of their replacements:
  67. GetGroupCount([groupname][@category] GROUP_COUNT([groupname][@category]) Set(GROUPCOUNT=${GROUP_COUNT()})
  68. GroupMatchCount(groupmatch[@category]) GROUP_MATCH_COUNT(groupmatch[@category]) Set(GROUPCOUNT=${GROUP_MATCH_COUNT(SIP/.*)})
  69. SetGroup(groupname[@category]) GROUP([category])=groupname Set(GROUP()=test)
  70. CheckGroup(max[@category]) N/A GotoIf($[ ${GROUP_COUNT()} > 5 ]?103)
  71. Note that CheckGroup does not have a direct replacement. There is
  72. also a new function called GROUP_LIST() which will return a space
  73. separated list of all of the groups set on a channel. The GROUP()
  74. function can also return the name of the group set on a channel when
  75. used in a read environment.
  76. * The applications DBGet and DBPut have been deprecated in favor of
  77. functions. Here is a table of their replacements:
  78. DBGet(foo=family/key) Set(foo=${DB(family/key)})
  79. DBPut(family/key=${foo}) Set(DB(family/key)=${foo})
  80. * The application SetLanguage has been deprecated in favor of the
  81. function LANGUAGE().
  82. SetLanguage(fr) Set(LANGUAGE()=fr)
  83. The LANGUAGE function can also return the currently set language:
  84. Set(MYLANG=${LANGUAGE()})
  85. * The applications AbsoluteTimeout, DigitTimeout, and ResponseTimeout
  86. have been deprecated in favor of the function TIMEOUT(timeouttype):
  87. AbsoluteTimeout(300) Set(TIMEOUT(absolute)=300)
  88. DigitTimeout(15) Set(TIMEOUT(digit)=15)
  89. ResponseTimeout(15) Set(TIMEOUT(response)=15)
  90. The TIMEOUT() function can also return the currently set timeouts:
  91. Set(DTIMEOUT=${TIMEOUT(digit)})
  92. * The applications SetCIDName, SetCIDNum, and SetRDNIS have been
  93. deprecated in favor of the CALLERID(datatype) function:
  94. SetCIDName(Joe Cool) Set(CALLERID(name)=Joe Cool)
  95. SetCIDNum(2025551212) Set(CALLERID(number)=2025551212)
  96. SetRDNIS(2024561414) Set(CALLERID(RDNIS)=2024561414)
  97. * The application Record now uses the period to separate the filename
  98. from the format, rather than the colon.
  99. * The application VoiceMail now supports a 'temporary' greeting for each
  100. mailbox. This greeting can be recorded by using option 4 in the
  101. 'mailbox options' menu, and 'change your password' option has been
  102. moved to option 5.
  103. * The application VoiceMailMain now only matches the 'default' context if
  104. none is specified in the arguments. (This was the previously
  105. documented behavior, however, we didn't follow that behavior.) The old
  106. behavior can be restored by setting searchcontexts=yes in voicemail.conf.
  107. Queues:
  108. * A queue is now considered empty not only if there are no members but if
  109. none of the members are available (e.g. agents not logged on). To
  110. restore the original behavior, use "leavewhenempty=strict" or
  111. "joinwhenempty=strict" instead of "=yes" for those options.
  112. * It is now possible to use multi-digit extensions in the exit context
  113. for a queue (although you should not have overlapping extensions,
  114. as there is no digit timeout). This means that the EXITWITHKEY event
  115. in queue_log can now contain a key field with more than a single
  116. character in it.
  117. Extensions:
  118. * By default, there is a new option called "autofallthrough" in
  119. extensions.conf that is set to yes. Asterisk 1.0 (and earlier)
  120. behavior was to wait for an extension to be dialed after there were no
  121. more extensions to execute. "autofallthrough" changes this behavior
  122. so that the call will immediately be terminated with BUSY,
  123. CONGESTION, or HANGUP based on Asterisk's best guess. If you are
  124. writing an extension for IVR, you must use the WaitExten application
  125. if "autofallthrough" is set to yes.
  126. AGI:
  127. * AGI scripts did not always get SIGHUP at the end, previously. That
  128. behavior has been fixed. If you do not want your script to terminate
  129. at the end of AGI being called (e.g. on a hangup) then set SIGHUP to
  130. be ignored within your application.
  131. * CallerID is reported with agi_callerid and agi_calleridname instead
  132. of a single parameter holding both.
  133. Music On Hold:
  134. * The preferred format for musiconhold.conf has changed; please see the
  135. sample configuration file for the new format. The existing format
  136. is still supported but will generate warnings when the module is loaded.
  137. chan_modem:
  138. * All the chan_modem channel drivers (aopen, bestdata and i4l) are deprecated
  139. in this release, and will be removed in the next major Asterisk release.
  140. Please migrate to chan_misdn for ISDN interfaces; there is no upgrade
  141. path for aopen and bestdata modem users.
  142. MeetMe:
  143. * The conference application now allows users to increase/decrease their
  144. speaking volume and listening volume (independently of each other and
  145. other users); the 'admin' and 'user' menus have changed, and new sound
  146. files are included with this release. However, if a user calling in
  147. over a Zaptel channel that does NOT have hardware DTMF detection
  148. increases their speaking volume, it is likely they will no longer be
  149. able to enter/exit the menu or make any further adjustments, as the
  150. software DTMF detector will not be able to recognize the DTMF coming
  151. from their device.
  152. GetVar Manager Action:
  153. * Previously, the behavior of the GetVar manager action reported the value
  154. of a variable in the following manner:
  155. > name: value
  156. This has been changed to a manner similar to the SetVar action and is now
  157. > Variable: name
  158. > Value: value
  159. iLBC Codec:
  160. * Previously, the Asterisk source code distribution included the iLBC
  161. encoder/decoder source code, from Global IP Solutions
  162. (http://www.gipscorp.com). This code is not licensed for
  163. distribution, and thus has been removed from the Asterisk source
  164. code distribution. If you wish to use codec_ilbc to support iLBC
  165. channels in Asterisk, you can run the contrib/scripts/get_ilbc_source.sh
  166. script to download the source and put it in the proper place in
  167. the Asterisk build tree. Once that is done you can follow your normal
  168. steps of building Asterisk.