UPGRADE.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. ===========================================================
  2. ===
  3. === Information for upgrading between Asterisk versions
  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 include 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. === UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
  18. === UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
  19. === UPGRADE-10.txt -- Upgrade info for 1.8 to 10
  20. ===
  21. ===========================================================
  22. from 11.16 to 11.17
  23. chan_dahdi:
  24. - For users using the FXO port (FXS signaling) distinctive ring detection
  25. feature, you will need to adjust the dringX count values. The count
  26. values now only record ring end events instead of any DAHDI event. A
  27. ring-ring-ring pattern would exceed the pattern limits and stop
  28. Caller-ID detection.
  29. from 11.15 to 11.16
  30. chan_dahdi:
  31. - The CALLERID(ani2) value for incoming calls is now populated in featdmf
  32. signaling mode. The information was previously discarded.
  33. from 11.13.0 to 11.13.1:
  34. * Due to the POODLE vulnerability (see
  35. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566), the
  36. default TLS method for TLS clients will no longer allow SSLv3. As
  37. SSLv2 was already deprecated, it is no longer allowed by default as
  38. well. TLS servers no longer allow SSLv2 or SSLv3 connections. This
  39. affects the chan_sip channel driver, AMI, and the Asterisk HTTP server.
  40. * The res_jabber resource module no longer uses SSLv3 to connect to an
  41. XMPP server. It will now only use TLSv1 or later methods.
  42. from 11.10.2 to 11.11.0
  43. - Added a compatibility option for chan_sip, 'websocket_write_timeout'.
  44. When a websocket connection exists where Asterisk writes a substantial
  45. amount of data to the connected client, and the connected client is slow
  46. to process the received data, the socket may be disconnected. In such
  47. cases, it may be necessary to adjust this value. Default is 100 ms.
  48. - Added a 'force_avp' option for chan_sip. When enabled this option will
  49. cause the media transport in the offer or answer SDP to be 'RTP/AVP',
  50. 'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' even if a DTLS stream has been
  51. configured. This option can be set to improve interoperability with WebRTC
  52. clients that don't use the RFC defined transport for DTLS.
  53. - The 'dtlsverify' option in chan_sip now has additional values besides
  54. 'yes' and 'no'. If 'yes' is specified both the certificate and fingerprint
  55. will be verified. If 'no' is specified then neither the certificate or
  56. fingerprint is verified. If 'certificate' is specified then only the
  57. certificate is verified. If 'fingerprint' is specified then only the
  58. fingerprint is verified.
  59. - A 'dtlsfingerprint' option has been added to chan_sip which allows the
  60. hash to be specified for the DTLS fingerprint placed in SDP. Supported
  61. values are 'sha-1' and 'sha-256' with 'sha-256' being the default.
  62. - Added the inband_on_setup_ack compatibility option to chan_dahdi.conf to
  63. deal with switches that don't send an inband progress indication in the
  64. SETUP ACKNOWLEDGE message.
  65. from 11.10.0 to 11.10.1
  66. - MixMonitor AMI actions now require users to have authorization classes.
  67. * MixMonitor - system
  68. * MixMonitorMute - call or system
  69. * StopMixMonitor - call or system
  70. - Added http.conf session_inactivity timer option to close HTTP connections
  71. that aren't doing anything.
  72. - Removed the undocumented manager.conf block-sockets option. It interferes with
  73. TCP/TLS inactivity timeouts.
  74. from 11.9 to 11.10
  75. - The asterisk command line -I option and the asterisk.conf internal_timing
  76. option are removed and always enabled if any timing module is loaded.
  77. - Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
  78. objects will emit additional debug information to the refs log file located
  79. in the standard Asterisk log file directory. This log file is useful in
  80. tracking down object leaks and other reference counting issues. Prior to
  81. this version, this option was only available by modifying the source code
  82. directly. This change also includes a new script, refcounter.py, in the
  83. contrib folder that will process the refs log file.
  84. from 11.8 to 11.9
  85. - res_fax now returns the correct rates for V.27ter (4800 or 9600 bit/s).
  86. Because of this the default settings would not load, so the minrate (minimum
  87. transmission rate) option was changed to default to 4800 since that is the
  88. minimum rate for v.27 which is included in the default modem options.
  89. - The sound_place_into_conference sound used in Confbridge is now deprecated
  90. and is no longer functional since it has been broken since its inception
  91. and the fix involved using a different method to achieve the same goal. The
  92. new method to achieve this functionality is by using sound_begin to play
  93. a sound to the conference when waitmarked users are moved into the conference.
  94. - When communicating with a peer on an Asterisk 1.4 or earlier system, the
  95. chan_iax2 parameter 'connectedline' must be set to "no" in iax.conf. This
  96. prevents an incompatible connected line frame from an Astersik 1.8 or later
  97. system from causing a hangup in an Asterisk 1.4 or earlier system. Note that
  98. this particular incompatibility has always existed between 1.4 and 1.8 and
  99. later versions; this upgrade note is simply informing users of its existance.
  100. - A compatibility setting, allow_empty_string_in_nontext, has been added to
  101. res_odbc.conf. When enabled (default behavior), empty column values are
  102. stored as empty strings during realtime updates. Disabling this option
  103. causes empty column values to be stored as NULLs for non-text columns.
  104. Disable it for PostgreSQL backends in order to avoid errors caused by
  105. updating integer columns with an empty string instead of NULL
  106. (sippeers, sipregs, ..).
  107. From 11.7 to 11.8:
  108. - The per console verbose level feature as previously implemented caused a
  109. large performance penalty. The fix required some minor incompatibilities
  110. if the new rasterisk is used to connect to an earlier version. If the new
  111. rasterisk connects to an older Asterisk version then the root console verbose
  112. level is always affected by the "core set verbose" command of the remote
  113. console even though it may appear to only affect the current console. If
  114. an older version of rasterisk connects to the new version then the
  115. "core set verbose" command will have no effect.
  116. CLI commands:
  117. - "core show settings" now lists the current console verbosity in addition
  118. to the root console verbosity.
  119. - "core set verbose" has not been able to support the by module verbose
  120. logging levels since verbose logging levels were made per console. That
  121. syntax is now removed and a silence option added in its place.
  122. Configuration Files:
  123. - The 'verbose' setting in logger.conf still takes an optional argument,
  124. specifying the verbosity level for each logging destination. However,
  125. the default is now to once again follow the current root console level.
  126. As a result, using the AMI Command action with "core set verbose" could
  127. again set the root console verbose level and affect the verbose level
  128. logged.
  129. From 11.6 to 11.7:
  130. ConfBridge
  131. - ConfBridge now has the ability to set the language of announcements to the
  132. conference. The language can be set on a bridge profile in confbridge.conf
  133. or by the dialplan function CONFBRIDGE(bridge,language)=en.
  134. chan_sip - Clarify The "sip show peers" Forcerport Column And Add Comedia
  135. - Under the "Forcerport" column, the "N" used to mean NAT (i.e. Yes). With
  136. the additon of auto_* NAT settings, the meaning changed and there was a
  137. certain combination of letters added to indicate the current setting. The
  138. combination of using "Y", "N", "A" or "a", can be confusing. Therefore, we
  139. now display clearly what the current Forcerport setting is: "Yes", "No",
  140. "Auto (Yes)", "Auto (No)".
  141. - Since we are clarifying the Forcerport column, we have added a column to
  142. display the Comedia setting since this is useful information as well. We
  143. no longer have a simple "NAT" setting like other versions before 11.
  144. * Certain dialplan functions have been marked as 'dangerous', and may only be
  145. executed from the dialplan. Execution from extenal sources (AMI's GetVar and
  146. SetVar actions; etc.) may be inhibited by setting live_dangerously in the
  147. [options] section of asterisk.conf to no. SHELL(), channel locking, and direct
  148. file read/write functions are marked as dangerous. DB_DELETE() and
  149. REALTIME_DESTROY() are marked as dangerous for reads, but can now safely
  150. accept writes (which ignore the provided value).
  151. From 11.5 to 11.6:
  152. * res_agi will now properly indicate if there was an error in streaming an
  153. audio file. The result code will be -1 and the result returned from the
  154. the function will be RESULT_FAILURE instead of the prior behavior of always
  155. returning RESULT_SUCCESS even if there was an error.
  156. * The libuuid development library is now optional for res_rtp_asterisk. If the
  157. library is not present when building ICE and TURN support will not be present.
  158. * The option "register_retry_403" has been added to chan_sip to work around
  159. servers that are known to erroneously send 403 in response to valid
  160. REGISTER requests and allows Asterisk to continue attepmting to connect.
  161. Due to a failed merge, this option is present, but non-functional until 11.8.0.
  162. From 11.4 to 11.5:
  163. * The default settings for chan_sip are now overriden properly by the general
  164. settings in sip.conf. Please look over your settings upon upgrading.
  165. * It is now possible to play the Queue prompts to the first user waiting in a call queue.
  166. Note that this may impact the ability for agents to talk with users, as a prompt may
  167. still be playing when an agent connects to the user. This ability is disabled by
  168. default but can be enabled on an individual queue using the 'announce-to-first-user'
  169. option.
  170. * The libuuid development library is now required for res_rtp_asterisk. Consult
  171. your distribution for the appropriate development library name.
  172. From 11.3 to 11.4:
  173. * Added the 'n' option to MeetMe to prevent application of the DENOISE function
  174. to a channel joining a conference. Some channel drivers that vary the number
  175. of audio samples in a voice frame will experience significant quality problems
  176. if a denoiser is attached to the channel; this option gives them the ability
  177. to remove the denoiser without having to unload func_speex.
  178. * The Registry AMI event for SIP registrations will now always include the
  179. Username field. A previous bug fix missed an instance where it was not
  180. included; that has been corrected in this release.
  181. From 11.2.0 to 11.2.1:
  182. * Asterisk would previously not output certain error messages when a remote
  183. console attempted to connect to Asterisk and no instance of Asterisk was
  184. running. This error message is displayed on stderr; as a result, some
  185. initialization scripts that used remote consoles to test for the presence
  186. of a running Asterisk instance started to display erroneous error messages.
  187. The init.d scripts and the safe_asterisk have been updated in the contrib
  188. folder to account for this.
  189. From 11.2 to 11.3:
  190. * Now by default, when Asterisk is installed in a path other than /usr, the
  191. Asterisk binary will search for shared libraries in ${libdir} in addition to
  192. searching system libraries. This allows Asterisk to find its shared
  193. libraries without having to specify LD_LIBRARY_PATH. This can be disabled by
  194. passing --disable-rpath to configure.
  195. From 11.1 to 11.2:
  196. * Asterisk has always had code to ignore dash '-' characters that are not
  197. part of a character set in the dialplan extensions. The code now
  198. consistently ignores these characters when matching dialplan extensions.
  199. * Removed the queues.conf check_state_unknown option. It is no longer
  200. necessary.
  201. From 11.0 to 11.1:
  202. Queues:
  203. - Queue strategy rrmemory now has a predictable order similar to strategy
  204. rrordered. Members will be called in the order that they are added to the
  205. queue.
  206. From 10 to 11:
  207. Voicemail:
  208. - All voicemails now have a "msg_id" which uniquely identifies a message. For
  209. users of filesystem and IMAP storage of voicemail, this should be transparent.
  210. For users of ODBC, you will need to add a "msg_id" column to your voice mail
  211. messages table. This should be a string capable of holding at least 32 characters.
  212. All messages created in old Asterisk installations will have a msg_id added to
  213. them when required. This operation should be transparent as well.
  214. Parking:
  215. - The comebacktoorigin setting must now be set per parking lot. The setting in
  216. the general section will not be applied automatically to each parking lot.
  217. - The BLINDTRANSFER channel variable is deleted from a channel when it is
  218. bridged to prevent subtle bugs in the parking feature. The channel
  219. variable is used by Asterisk internally for the Park application to work
  220. properly. If you were using it for your own purposes, copy it to your
  221. own channel variable before the channel is bridged.
  222. res_ais:
  223. - Users of res_ais in versions of Asterisk prior to Asterisk 11 must change
  224. to use the res_corosync module, instead. OpenAIS is deprecated, but
  225. Corosync is still actively developed and maintained. Corosync came out of
  226. the OpenAIS project.
  227. Dialplan Functions:
  228. - MAILBOX_EXISTS has been deprecated. Use VM_INFO with the 'exists' parameter
  229. instead.
  230. - Macro has been deprecated in favor of GoSub. For redirecting and connected
  231. line purposes use the following variables instead of their macro equivalents:
  232. REDIRECTING_SEND_SUB, REDIRECTING_SEND_SUB_ARGS,
  233. CONNECTED_LINE_SEND_SUB, CONNECTED_LINE_SEND_SUB_ARGS.
  234. - The REDIRECTING function now supports the redirecting original party id
  235. and reason.
  236. - The HANGUPCAUSE and HANGUPCAUSE_KEYS functions have been introduced to
  237. provide a replacement for the SIP_CAUSE hash. The HangupCauseClear
  238. application has also been introduced to remove this data from the channel
  239. when necessary.
  240. func_enum:
  241. - ENUM query functions now return a count of -1 on lookup error to
  242. differentiate between a failed query and a successful query with 0 results
  243. matching the specified type.
  244. CDR:
  245. - cdr_adaptive_odbc now supports specifying a schema so that Asterisk can
  246. connect to databases that use schemas.
  247. Configuration Files:
  248. - Files listed below have been updated to be more consistent with how Asterisk
  249. parses configuration files. This makes configuration files more consistent
  250. with what is expected across modules.
  251. - cdr.conf: [general] and [csv] sections
  252. - dnsmgr.conf
  253. - dsp.conf
  254. - The 'verbose' setting in logger.conf now takes an optional argument,
  255. specifying the verbosity level for each logging destination. The default,
  256. if not otherwise specified, is a verbosity of 3.
  257. AMI:
  258. - DBDelTree now correctly returns an error when 0 rows are deleted just as
  259. the DBDel action does.
  260. - The IAX2 PeerStatus event now sends a 'Port' header. In Asterisk 10, this was
  261. erroneously being sent as a 'Post' header.
  262. CCSS:
  263. - Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
  264. in channel configurations.
  265. app_meetme:
  266. - The 'c' option (announce user count) will now work even if the 'q' (quiet)
  267. option is enabled.
  268. app_followme:
  269. - Answered outgoing calls no longer get cut off when the next step is started.
  270. You now have until the last step times out to decide if you want to accept
  271. the call or not before being disconnected.
  272. chan_gtalk:
  273. - chan_gtalk has been deprecated in favor of the chan_motif channel driver. It is recommended
  274. that users switch to using it as it is a core supported module.
  275. chan_jingle:
  276. - chan_jingle has been deprecated in favor of the chan_motif channel driver. It is recommended
  277. that users switch to using it as it is a core supported module.
  278. SIP
  279. ===
  280. - A new option "tonezone" for setting default tonezone for the channel driver
  281. or individual devices
  282. - A new manager event, "SessionTimeout" has been added and is triggered when
  283. a call is terminated due to RTP stream inactivity or SIP session timer
  284. expiration.
  285. - SIP_CAUSE is now deprecated. It has been modified to use the same
  286. mechanism as the HANGUPCAUSE function. Behavior should not change, but
  287. performance should be vastly improved. The HANGUPCAUSE function should now
  288. be used instead of SIP_CAUSE. Because of this, the storesipcause option in
  289. sip.conf is also deprecated.
  290. - The sip paramater for Originating Line Information (oli, isup-oli, and
  291. ss7-oli) is now parsed out of the From header and copied into the channel's
  292. ANI2 information field. This is readable from the CALLERID(ani2) dialplan
  293. function.
  294. - ICE support has been added and is enabled by default. Some endpoints may have
  295. problems with the ICE candidates within the SDP. If this is the case ICE support
  296. can be disabled globally or on a per-endpoint basis using the icesupport
  297. configuration option. Symptoms of this include one way media or no media flow.
  298. chan_unistim
  299. - Due to massive update in chan_unistim phone keys functions and on-screen
  300. information changed.
  301. users.conf:
  302. - A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
  303. as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
  304. documented in v1.4. Set the asterisk.conf stdexten=macro parameter to
  305. invoke the stdexten the old way.
  306. res_jabber
  307. - This module has been deprecated in favor of the res_xmpp module. The res_xmpp
  308. module is backwards compatible with the res_jabber configuration file, dialplan
  309. functions, and AMI actions. The old CLI commands can also be made available using
  310. the res_clialiases template for Asterisk 11.
  311. From 1.8 to 10:
  312. cel_pgsql:
  313. - This module now expects an 'extra' column in the database for data added
  314. using the CELGenUserEvent() application.
  315. ConfBridge
  316. - ConfBridge's dialplan arguments have changed and are not
  317. backwards compatible.
  318. File Interpreters
  319. - The format interpreter formats/format_sln16.c for the file extension
  320. '.sln16' has been removed. The '.sln16' file interpreter now exists
  321. in the formats/format_sln.c module along with new support for sln12,
  322. sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
  323. HTTP:
  324. - A bindaddr must be specified in order for the HTTP server
  325. to run. Previous versions would default to 0.0.0.0 if no
  326. bindaddr was specified.
  327. Gtalk:
  328. - The default value for 'context' and 'parkinglots' in gtalk.conf has
  329. been changed to 'default', previously they were empty.
  330. chan_dahdi:
  331. - The mohinterpret=passthrough setting is deprecated in favor of
  332. moh_signaling=notify.
  333. pbx_lua:
  334. - Execution no longer continues after applications that do dialplan jumps
  335. (such as app.goto). Now when an application such as app.goto() is called,
  336. control is returned back to the pbx engine and the current extension
  337. function stops executing.
  338. - the autoservice now defaults to being on by default
  339. - autoservice_start() and autoservice_start() no longer return a value.
  340. Queue:
  341. - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
  342. - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
  343. Asterisk Database:
  344. - The internal Asterisk database has been switched from Berkeley DB 1.86 to
  345. SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
  346. utility in the UTILS section of menuselect. If an existing astdb is found and no
  347. astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
  348. convert an existing astdb to the SQLite3 version automatically at runtime. If
  349. moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
  350. to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.
  351. Manager:
  352. - The AMI protocol version was incremented to 1.2 as a result of changing two
  353. instances of the Unlink event to Bridge events. This change was documented
  354. as part of the AMI 1.1 update, but two Unlink events were inadvertently left
  355. unchanged.
  356. Module Support Level
  357. - All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
  358. formats, funcs, pbx, and res have been updated to include MODULEINFO data
  359. that includes <support_level> tags with a value of core, extended, or deprecated.
  360. More information is available on the Asterisk wiki at
  361. https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
  362. Deprecated modules are now marked to not build by default and must be explicitly
  363. enabled in menuselect.
  364. chan_sip:
  365. - Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
  366. by default. It can be enabled using the 'storesipcause' option. This feature
  367. has a significant performance penalty.
  368. - In order to improve compliance with RFC 3261, SIP usernames are now properly
  369. escaped when encoding reserved characters. Prior to this change, the use of
  370. these characters in certain SIP settings affecting usernames could cause
  371. injections of these characters in their raw form into SIP headers which could
  372. in turn cause all sorts of nasty behaviors. All characters that are not
  373. alphanumeric or are not contained in the the following lists specified by
  374. RFC 3261 section 25.1 will be escaped as %XX when encoding a SIP username:
  375. * mark: "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
  376. * user-unreserved: "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"
  377. UDPTL:
  378. - The default UDPTL port range in udptl.conf.sample differed from the defaults
  379. in the source. If you didn't have a config file, you got 4500 to 4599. Now the
  380. default is 4000 to 4999.
  381. ===========================================================
  382. ===========================================================