UPGRADE-1.6.txt 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. =========================================================
  2. ===
  3. === Information for upgrading from Asterisk 1.4 to 1.6
  4. ===
  5. === These files document all the changes that MUST be taken
  6. === into account when upgrading between the Asterisk
  7. === versions listed below. These changes may require that
  8. === you modify your configuration files, dialplan or (in
  9. === some cases) source code if you have your own Asterisk
  10. === modules or patches. These files also includes advance
  11. === notice of any functionality that has been marked as
  12. === 'deprecated' and may be removed in a future release,
  13. === along with the suggested replacement functionality.
  14. ===
  15. === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
  16. === UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
  17. ===
  18. =========================================================
  19. AEL:
  20. * Macros are now implemented underneath with the Gosub() application.
  21. Heaven Help You if you wrote code depending on any aspect of this!
  22. Previous to 1.6, macros were implemented with the Macro() app, which
  23. provided a nice feature of auto-returning. The compiler will do its
  24. best to insert a Return() app call at the end of your macro if you did
  25. not include it, but really, you should make sure that all execution
  26. paths within your macros end in "return;".
  27. * The conf2ael program is 'introduced' in this release; it is in a rather
  28. crude state, but deemed useful for making a first pass at converting
  29. extensions.conf code into AEL. More intelligence will come with time.
  30. Core:
  31. * The 'languageprefix' option in asterisk.conf is now deprecated, and
  32. the default sound file layout for non-English sounds is the 'new
  33. style' layout introduced in Asterisk 1.4 (and used by the automatic
  34. sound file installer in the Makefile).
  35. * The ast_expr2 stuff has been modified to handle floating-point numbers.
  36. Numbers of the format D.D are now acceptable input for the expr parser,
  37. Where D is a string of base-10 digits. All math is now done in "long double",
  38. if it is available on your compiler/architecture. This was half-way between
  39. a bug-fix (because the MATH func returns fp by default), and an enhancement.
  40. Also, for those counting on, or needing, integer operations, a series of
  41. 'functions' were also added to the expr language, to allow several styles
  42. of rounding/truncation, along with a set of common floating point operations,
  43. like sin, cos, tan, log, pow, etc. The ability to call external functions
  44. like CDR(), etc. was also added, without having to use the ${...} notation.
  45. * The delimiter passed to applications has been changed to the comma (','), as
  46. that is what people are used to using within extensions.conf. If you are
  47. using realtime extensions, you will need to translate your existing dialplan
  48. to use this separator. To use a literal comma, you need merely to escape it
  49. with a backslash ('\'). Another possible side effect is that you may need to
  50. remove the obscene level of backslashing that was necessary for the dialplan
  51. to work correctly in 1.4 and previous versions. This should make writing
  52. dialplans less painful in the future, albeit with the pain of a one-time
  53. conversion. If you would like to avoid this conversion immediately, set
  54. pbx_realtime=1.4 in the [compat] section of asterisk.conf. After
  55. transitioning, set pbx_realtime=1.6 in the same section.
  56. * For the same purpose as above, you may set res_agi=1.4 in the [compat]
  57. section of asterisk.conf to continue to use the '|' delimiter in the EXEC
  58. arguments of AGI applications. After converting to use the ',' delimiter,
  59. change this option to res_agi=1.6.
  60. * As a side effect of the application delimiter change, many places that used
  61. to need quotes in order to get the proper meaning are no longer required.
  62. You now only need to quote strings in configuration files if you literally
  63. want quotation marks within a string.
  64. * Any applications run that contain the pipe symbol but not a comma symbol will
  65. get a warning printed to the effect that the application delimiter has changed.
  66. However, there are legitimate reasons why this might be useful in certain
  67. situations, so this warning can be turned off with the dontwarn option in
  68. asterisk.conf.
  69. * The logger.conf option 'rotatetimestamp' has been deprecated in favor of
  70. 'rotatestrategy'. This new option supports a 'rotate' strategy that more
  71. closely mimics the system logger in terms of file rotation.
  72. * The concise versions of various CLI commands are now deprecated. We recommend
  73. using the manager interface (AMI) for application integration with Asterisk.
  74. Voicemail:
  75. * The voicemail configuration values 'maxmessage' and 'minmessage' have
  76. been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
  77. to make them more distinguishable from 'maxmsgs', which sets folder
  78. size. The old variables will continue to work in this version, albeit
  79. with a deprecation warning.
  80. * If you use any interface for modifying voicemail aside from the built in
  81. dialplan applications, then the option "pollmailboxes" *must* be set in
  82. voicemail.conf for message waiting indication (MWI) to work properly. This
  83. is because Voicemail notification is now event based instead of polling
  84. based. The channel drivers are no longer responsible for constantly manually
  85. checking mailboxes for changes so that they can send MWI information to users.
  86. Examples of situations that would require this option are web interfaces to
  87. voicemail or an email client in the case of using IMAP storage.
  88. Applications:
  89. * ChanIsAvail() now has a 't' option, which allows the specified device
  90. to be queried for state without consulting the channel drivers. This
  91. performs mostly a 'ChanExists' sort of function.
  92. * ChannelRedirect() will not terminate the channel that fails to do a
  93. channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS
  94. will reflect if the attempt was successful of not.
  95. * SetCallerPres() has been replaced with the CALLERPRES() dialplan function
  96. and is now deprecated.
  97. * DISA()'s fifth argument is now an options argument. If you have previously
  98. used 'NOANSWER' in this argument, you'll need to convert that to the new
  99. option 'n'.
  100. * Macro() is now deprecated. If you need subroutines, you should use the
  101. Gosub()/Return() applications. To replace MacroExclusive(), we have
  102. introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK(). You may use
  103. these functions in any location where you desire to ensure that only one
  104. channel is executing that path at any one time. The Macro() applications
  105. are deprecated for performance reasons. However, since Macro() has been
  106. around for a long time and so many dialplans depend heavily on it, for the
  107. sake of backwards compatibility it will not be removed . It is also worth
  108. noting that using both Macro() and GoSub() at the same time is _heavily_
  109. discouraged.
  110. * Read() now sets a READSTATUS variable on exit. It does NOT automatically
  111. return -1 (and hangup) anymore on error. If you want to hangup on error,
  112. you need to do so explicitly in your dialplan.
  113. * Privacy() no longer uses privacy.conf, so any options must be specified
  114. directly in the application arguments.
  115. * MusicOnHold application now has duration parameter which allows specifying
  116. timeout in seconds.
  117. * WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold.
  118. * SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
  119. instead.
  120. * The arguments in ExecIf changed a bit, to be more like other applications.
  121. The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
  122. * The behavior of the Set application now depends upon a compatibility option,
  123. set in asterisk.conf. To use the old 1.4 behavior, which allowed Set to take
  124. multiple key/value pairs, set app_set=1.4 in [compat] in asterisk.conf. To
  125. use the new behavior, which permits variables to be set with embedded commas,
  126. set app_set=1.6 in [compat] in asterisk.conf. Note that you can have both
  127. behaviors at the same time, if you switch to using MSet if you want the old
  128. behavior.
  129. Dialplan Functions:
  130. * QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For
  131. more information, issue a "show function QUEUE_MEMBER" from the CLI.
  132. CDR:
  133. * The cdr_sqlite module has been marked as deprecated in favor of
  134. cdr_sqlite3_custom. It will potentially be removed from the tree
  135. after Asterisk 1.6 is released.
  136. * The cdr_odbc module now uses res_odbc to manage its connections. The
  137. username and password parameters in cdr_odbc.conf, therefore, are no
  138. longer used. The dsn parameter now points to an entry in res_odbc.conf.
  139. * The uniqueid field in the core Asterisk structure has been changed from a
  140. maximum 31 character field to a 149 character field, to account for all
  141. possible values the systemname prefix could be. In the past, if the
  142. systemname was too long, the uniqueid would have been truncated.
  143. * The cdr_tds module now supports all versions of FreeTDS that contain
  144. the db-lib frontend. It will also now log the userfield variable if
  145. the target database table contains a column for it.
  146. Formats:
  147. * format_wav: The GAIN preprocessor definition and source code that used it
  148. is removed. This change was made in response to user complaints of
  149. choppiness or the clipping of loud signal peaks. To increase the volume
  150. of voicemail messages, use the 'volgain' option in voicemail.conf
  151. Channel Drivers:
  152. * SIP: a small upgrade to support the "Record" button on the SNOM360,
  153. which sends a sip INFO message with a "Record: on" or "Record: off"
  154. header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor"
  155. requests (by default, via '*1'), then the user-configured dialpad sequence
  156. is generated, and recording can be started and stopped via this button. The
  157. file names and formats are all controlled via the normal mechanisms. If the
  158. user has not configured the automon feature, the normal "415 Unsupported media type"
  159. is returned, and nothing is done.
  160. * SIP: The "call-limit" option is marked as deprecated. It still works in this version of
  161. Asterisk, but will be removed in the following version. Please use the groupcount functions
  162. in the dialplan to enforce call limits. The "limitonpeer" configuration option is
  163. now renamed to "counteronpeer".
  164. * SIP: The "username" option is now renamed to "defaultuser" to match "defaultip".
  165. These are used only before registration to call a peer with the uri
  166. sip:defaultuser@defaultip
  167. The "username" setting still work, but is deprecated and will not work in
  168. the next version of Asterisk.
  169. * SIP: The old "insecure" options, deprecated in 1.4, have been removed.
  170. "insecure=very" should be changed to "insecure=port,invite"
  171. "insecure=yes" should be changed to "insecure=port"
  172. Be aware that some telephony providers show the invalid syntax in their
  173. sample configurations.
  174. * chan_local.c: the comma delimiter inside the channel name has been changed to a
  175. semicolon, in order to make the Local channel driver compatible with the comma
  176. delimiter change in applications.
  177. * H323: The "tos" setting has changed name to "tos_audio" and "cos" to "cos_audio"
  178. to be compatible with settings in sip.conf. The "tos" and "cos" configuration
  179. is deprecated and will stop working in the next release of Asterisk.
  180. * Console: A new console channel driver, chan_console, has been added to Asterisk.
  181. This new module can not be loaded at the same time as chan_alsa or chan_oss. The
  182. default modules.conf only loads one of them (chan_oss by default). So, unless you
  183. have modified your modules.conf to not use the autoload option, then you will need
  184. to modify modules.conf to add another "noload" line to ensure that only one of
  185. these three modules gets loaded.
  186. * DAHDI: The chan_zap module that supported PSTN interfaces using
  187. Zaptel has been renamed to chan_dahdi, and only supports the DAHDI
  188. telephony driver package for PSTN interfaces. See the
  189. Zaptel-to-DAHDI.txt file for more details on this transition.
  190. * DAHDI: The "msdstrip" option has been deprecated, as it provides no value over
  191. the method of stripping digits in the dialplan using variable substring syntax.
  192. Configuration:
  193. * pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay,
  194. lowcost and other is not acceptable now. Look into qos.tex for description of
  195. this parameter.
  196. * queues.conf: the queue-lessthan sound file option is no longer available, and the
  197. queue-round-seconds option no longer takes '1' as a valid parameter.
  198. Manager:
  199. * Manager has been upgraded to version 1.1 with a lot of changes.
  200. Please check doc/manager_1_1.txt for information
  201. * The IAXpeers command output has been changed to more closely resemble the
  202. output of the SIPpeers command.
  203. * cdr_manager now reports at the "cdr" level, not at "call" You may need to
  204. change your manager.conf to add the level to existing AMI users, if they
  205. want to see the CDR events generated.
  206. * The Originate command now requires the Originate write permission. For
  207. Originate with the Application parameter, you need the additional System
  208. privilege if you want to do anything that calls out to a subshell.
  209. iLBC Codec:
  210. * Previously, the Asterisk source code distribution included the iLBC
  211. encoder/decoder source code, from Global IP Solutions
  212. (http://www.gipscorp.com). This code is not licensed for
  213. distribution, and thus has been removed from the Asterisk source
  214. code distribution. If you wish to use codec_ilbc to support iLBC
  215. channels in Asterisk, you can run the contrib/scripts/get_ilbc_source.sh
  216. script to download the source and put it in the proper place in
  217. the Asterisk build tree. Once that is done you can follow your normal
  218. steps of building Asterisk. You will need to run 'menuselect' and enable
  219. the iLBC codec in the 'Codec Translators' category.