diff --git a/UPGRADE-1.8.txt b/UPGRADE-1.8.txt new file mode 100644 index 0000000000000000000000000000000000000000..677fdb7c21a1ebe160778e679f36f0696f909ca3 --- /dev/null +++ b/UPGRADE-1.8.txt @@ -0,0 +1,264 @@ +=========================================================== +=== +=== Information for upgrading between Asterisk versions +=== +=== These files document 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. +=== +=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2 +=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4 +=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6 +=== +=========================================================== + +From 1.6.2 to 1.8: + +* The behavior of the 'parkedcallstimeout' has changed slightly. The formulation + of the extension name that a timed out parked call is delivered to when this + option is set to 'no' was modified such that instead of converting '/' to '0', + the '/' is converted to an underscore '_'. See the updated documentation in + features.conf.sample for more information on the behavior of the + 'parkedcallstimeout' option. + +* Asterisk-addons no longer exists as an independent package. Those modules + now live in the addons directory of the main Asterisk source tree. They + are not enabled by default. For more information about why modules live in + addons, see README-addons.txt. + +* The rarely used 'event_log' and LOG_EVENT channel have been removed; the few + users of this channel in the tree have been converted to LOG_NOTICE or removed + (in cases where the same message was already generated to another channel). + +* The usage of RTP inside of Asterisk has now become modularized. This means + the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk. + If you are not using autoload=yes in modules.conf you will need to ensure + it is set to load. If not, then any module which uses RTP (such as chan_sip) + will not be able to send or receive calls. + +* The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still + remains. It now exists within app_chanspy.c and retains the exact same + functionality as before. + +* The default behavior for Set, AGI, and pbx_realtime has been changed to implement + 1.6 behavior by default, if there is no [compat] section in asterisk.conf. In + prior versions, the behavior defaulted to 1.4 behavior, to assist in upgrades. + Specifically, that means that pbx_realtime and res_agi expect you to use commas + to separate arguments in applications, and Set only takes a single pair of + a variable name/value. The old 1.4 behavior may still be obtained by setting + app_set, pbx_realtime, and res_agi each to 1.4 in the [compat] section of + asterisk.conf. + +* The PRI channels in chan_dahdi can no longer change the channel name if a + different B channel is selected during call negotiation. To prevent using + the channel name to infer what B channel a call is using and to avoid name + collisions, the channel name format is changed. + The new channel naming for PRI channels is: + DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number> + +* The ChanIsAvail application has been changed so the AVAILSTATUS variable + no longer contains both the device state and cause code. The cause code + is now available in the AVAILCAUSECODE variable. If existing dialplan logic + is written to expect AVAILSTATUS to contain the cause code it needs to be + changed to use AVAILCAUSECODE. + +* ExternalIVR will now send Z events for invalid or missing files, T events + now include the interrupted file and bugs in argument parsing have been + fixed so there may be arguments specified in incorrect ways that were + working that will no longer work. + Please see doc/externalivr.txt for details. + +* OSP lookup application changes following variable names: + OSPPEERIP to OSPINPEERIP + OSPTECH to OSPOUTTECH + OSPDEST to OSPDESTINATION + OSPCALLING to OSPOUTCALLING + OSPCALLED to OSPOUTCALLED + OSPRESULTS to OSPDESTREMAILS + +* The Manager event 'iax2 show peers' output has been updated. It now has a + similar output of 'sip show peers'. + +* VoiceMailMain and VMAuthenticate, if a '*' is entered in the first position + of a Mailbox or Password, will, if it exists, jump to the 'a' extension in + the current dialplan context. + +* The CALLERPRES() dialplan function is deprecated in favor of + CALLERID(num-pres) and CALLERID(name-pres). + +* Environment variables that start with "AST_" are reserved to the system and + may no longer be set from the dialplan. + +* When a call is redirected inside of a Dial, the app and appdata fields of the + CDR will now be set to "AppDial" and "(Outgoing Line)" instead of being blank. + +* The CDR handling of billsec and duration field has changed. If your table + definition specifies those fields as float,double or similar they will now + be logged with microsecond accuracy instead of a whole integer. + +* chan_sip will no longer set up a local call forward when receiving a + 482 Loop Detected response. The dialplan will just continue from where it + left off. + +From 1.6.1 to 1.6.2: + +* SIP no longer sends the 183 progress message for early media by + default. Applications requiring early media should use the + progress() dialplan app to generate the progress message. + +* The firmware for the IAXy has been removed from Asterisk. It can be + downloaded from http://downloads.digium.com/pub/iaxy/. To have Asterisk + install the firmware into its proper location, place the firmware in the + contrib/firmware/iax/ directory in the Asterisk source tree before running + "make install". + +* T.38 FAX error correction mode can no longer be configured in udptl.conf; + instead, it is configured on a per-peer (or global) basis in sip.conf, with + the same default as was present in udptl.conf.sample. + +* T.38 FAX maximum datagram size can no longer be configured in updtl.conf; + instead, it is either supplied by the application servicing the T.38 channel + (for a FAX send or receive) or calculated from the bridged endpoint's + maximum datagram size (for a T.38 FAX passthrough call). In addition, sip.conf + allows for overriding the value supplied by a remote endpoint, which is useful + when T.38 connections are made to gateways that supply incorrectly-calculated + maximum datagram sizes. + +* There have been some changes to the IAX2 protocol to address the security + concerns documented in the security advisory AST-2009-006. Please see the + IAX2 security document, doc/IAX2-security.pdf, for information regarding + backwards compatibility with versions of Asterisk that do not contain these + changes to IAX2. + +* The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers + has been renamed to 'directmedia', to better reflect what it actually does. + In the case of SIP, there are still re-INVITEs issued for T.38 negotiation, + starting and stopping music-on-hold, and other reasons, and the 'canreinvite' + option never had any effect on these cases, it only affected the re-INVITEs + used for direct media path setup. For MGCP and Skinny, the option was poorly + named because those protocols don't even use INVITE messages at all. For + backwards compatibility, the old option is still supported in both normal + and Realtime configuration files, but all of the sample configuration files, + Realtime/LDAP schemas, and other documentation refer to it using the new name. + +* The default console now will use colors according to the default background + color, instead of forcing the background color to black. If you are using a + light colored background for your console, you may wish to use the option + flag '-W' to present better color choices for the various messages. However, + if you'd prefer the old method of forcing colors to white text on a black + background, the compatibility option -B is provided for this purpose. + +* SendImage() no longer hangs up the channel on transmission error or on + any other error; in those cases, a FAILURE status is stored in + SENDIMAGESTATUS and dialplan execution continues. The possible + return values stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and + UNSUPPORTED. ('OK' has been replaced with 'SUCCESS', and 'NOSUPPORT' + has been replaced with 'UNSUPPORTED'). This change makes the + SendImage application more consistent with other applications. + +* skinny.conf now has separate sections for lines and devices. + Please have a look at configs/skinny.conf.sample and update + your skinny.conf. + +* Queue names previously were treated in a case-sensitive manner, + meaning that queues with names like "sales" and "sALeS" would be + seen as unique queues. The parsing logic has changed to use + case-insensitive comparisons now when originally hashing based on + queue names, meaning that now the two queues mentioned as examples + earlier will be seen as having the same name. + +* The SPRINTF() dialplan function has been moved into its own module, + func_sprintf, and is no longer included in func_strings. If you use this + function and do not use 'autoload=yes' in modules.conf, you will need + to explicitly load func_sprintf for it to be available. + +* The res_indications module has been removed. Its functionality was important + enough that most of it has been moved into the Asterisk core. + Two applications previously provided by res_indications, PlayTones and + StopPlayTones, have been moved into a new module, app_playtones. + +* Support for Taiwanese was incorrectly supported with the "tw" language code. + In reality, the "tw" language code is reserved for the Twi language, native + to Ghana. If you were previously using the "tw" language code, you should + switch to using either "zh" (for Mandarin Chinese) or "zh_TW" for Taiwan + specific localizations. Additionally, "mx" should be changed to "es_MX", + Georgian was incorrectly specified as "ge" but should be "ka", and Czech is + "cs", not "cz". + +* DAHDISendCallreroutingFacility() parameters are now comma-separated, + instead of the old pipe. + +* res_jabber: autoprune has been disabled by default, to avoid misconfiguration + that would end up being interpreted as a bug once Asterisk started removing + the contacts from a user list. + +* The cdr.conf file must exist and be configured correctly in order for CDR + records to be written. + +From 1.6.0.1 to 1.6.1: + +* The ast_agi_register_multiple() and ast_agi_unregister_multiple() + API calls were added in 1.6.0, so that modules that provide multiple + AGI commands could register/unregister them all with a single + step. However, these API calls were not implemented properly, and did + not allow the caller to know whether registration or unregistration + succeeded or failed. They have been redefined to now return success + or failure, but this means any code using these functions will need + be recompiled after upgrading to a version of Asterisk containing + these changes. In addition, the source code using these functions + should be reviewed to ensure it can properly react to failure + of registration or unregistration of its API commands. + +* The ast_agi_fdprintf() API call has been renamed to ast_agi_send() + to better match what it really does, and the argument order has been + changed to be consistent with other API calls that perform similar + operations. + +From 1.6.0.x to 1.6.1: + +* In previous versions of Asterisk, due to the way objects were arranged in + memory by chan_sip, the order of entries in sip.conf could be adjusted to + control the behavior of matching against peers and users. The way objects + are managed has been significantly changed for reasons involving performance + and stability. A side effect of these changes is that the order of entries + in sip.conf can no longer be relied upon to control behavior. + +* The following core commands dealing with dialplan have been deprecated: 'core + show globals', 'core set global' and 'core set chanvar'. Use the equivalent + 'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar' + instead. + +* In the dialplan expression parser, the logical value of spaces + immediately preceding a standalone 0 previously evaluated to + true. It now evaluates to false. This has confused a good many + people in the past (typically because they failed to realize the + space had any significance). Since this violates the Principle of + Least Surprise, it has been changed. + +* While app_directory has always relied on having a voicemail.conf or users.conf file + correctly set up, it now is dependent on app_voicemail being compiled as well. + +* SIP: All of the functionality in SIPCHANINFO() has been implemented in CHANNEL(), + and you should start using that function instead for retrieving information about + the channel in a technology-agnostic way. + +* If you have any third party modules which use a config file variable whose + name ends in a '+', please note that the append capability added to this + version may now conflict with that variable naming scheme. An easy + workaround is to ensure that a space occurs between the '+' and the '=', + to differentiate your variable from the append operator. This potential + conflict is unlikely, but is documented here to be thorough. + +* The "Join" event from app_queue now uses the CallerIDNum header instead of + the CallerID header to indicate the CallerID number. + +* If you use ODBC storage for voicemail, there is a new field called "flag" + which should be a char(8) or larger. This field specifies whether or not a + message has been designated to be "Urgent", "PRIORITY", or not. + diff --git a/UPGRADE.txt b/UPGRADE.txt index 677fdb7c21a1ebe160778e679f36f0696f909ca3..70ce3c71f9954b44cb9f523c00cfd986d74034cf 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -15,250 +15,12 @@ === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2 === UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4 === UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6 +=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8 === =========================================================== -From 1.6.2 to 1.8: +From 1.8 to 1.10: -* The behavior of the 'parkedcallstimeout' has changed slightly. The formulation - of the extension name that a timed out parked call is delivered to when this - option is set to 'no' was modified such that instead of converting '/' to '0', - the '/' is converted to an underscore '_'. See the updated documentation in - features.conf.sample for more information on the behavior of the - 'parkedcallstimeout' option. - -* Asterisk-addons no longer exists as an independent package. Those modules - now live in the addons directory of the main Asterisk source tree. They - are not enabled by default. For more information about why modules live in - addons, see README-addons.txt. - -* The rarely used 'event_log' and LOG_EVENT channel have been removed; the few - users of this channel in the tree have been converted to LOG_NOTICE or removed - (in cases where the same message was already generated to another channel). - -* The usage of RTP inside of Asterisk has now become modularized. This means - the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk. - If you are not using autoload=yes in modules.conf you will need to ensure - it is set to load. If not, then any module which uses RTP (such as chan_sip) - will not be able to send or receive calls. - -* The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still - remains. It now exists within app_chanspy.c and retains the exact same - functionality as before. - -* The default behavior for Set, AGI, and pbx_realtime has been changed to implement - 1.6 behavior by default, if there is no [compat] section in asterisk.conf. In - prior versions, the behavior defaulted to 1.4 behavior, to assist in upgrades. - Specifically, that means that pbx_realtime and res_agi expect you to use commas - to separate arguments in applications, and Set only takes a single pair of - a variable name/value. The old 1.4 behavior may still be obtained by setting - app_set, pbx_realtime, and res_agi each to 1.4 in the [compat] section of - asterisk.conf. - -* The PRI channels in chan_dahdi can no longer change the channel name if a - different B channel is selected during call negotiation. To prevent using - the channel name to infer what B channel a call is using and to avoid name - collisions, the channel name format is changed. - The new channel naming for PRI channels is: - DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number> - -* The ChanIsAvail application has been changed so the AVAILSTATUS variable - no longer contains both the device state and cause code. The cause code - is now available in the AVAILCAUSECODE variable. If existing dialplan logic - is written to expect AVAILSTATUS to contain the cause code it needs to be - changed to use AVAILCAUSECODE. - -* ExternalIVR will now send Z events for invalid or missing files, T events - now include the interrupted file and bugs in argument parsing have been - fixed so there may be arguments specified in incorrect ways that were - working that will no longer work. - Please see doc/externalivr.txt for details. - -* OSP lookup application changes following variable names: - OSPPEERIP to OSPINPEERIP - OSPTECH to OSPOUTTECH - OSPDEST to OSPDESTINATION - OSPCALLING to OSPOUTCALLING - OSPCALLED to OSPOUTCALLED - OSPRESULTS to OSPDESTREMAILS - -* The Manager event 'iax2 show peers' output has been updated. It now has a - similar output of 'sip show peers'. - -* VoiceMailMain and VMAuthenticate, if a '*' is entered in the first position - of a Mailbox or Password, will, if it exists, jump to the 'a' extension in - the current dialplan context. - -* The CALLERPRES() dialplan function is deprecated in favor of - CALLERID(num-pres) and CALLERID(name-pres). - -* Environment variables that start with "AST_" are reserved to the system and - may no longer be set from the dialplan. - -* When a call is redirected inside of a Dial, the app and appdata fields of the - CDR will now be set to "AppDial" and "(Outgoing Line)" instead of being blank. - -* The CDR handling of billsec and duration field has changed. If your table - definition specifies those fields as float,double or similar they will now - be logged with microsecond accuracy instead of a whole integer. - -* chan_sip will no longer set up a local call forward when receiving a - 482 Loop Detected response. The dialplan will just continue from where it - left off. - -From 1.6.1 to 1.6.2: - -* SIP no longer sends the 183 progress message for early media by - default. Applications requiring early media should use the - progress() dialplan app to generate the progress message. - -* The firmware for the IAXy has been removed from Asterisk. It can be - downloaded from http://downloads.digium.com/pub/iaxy/. To have Asterisk - install the firmware into its proper location, place the firmware in the - contrib/firmware/iax/ directory in the Asterisk source tree before running - "make install". - -* T.38 FAX error correction mode can no longer be configured in udptl.conf; - instead, it is configured on a per-peer (or global) basis in sip.conf, with - the same default as was present in udptl.conf.sample. - -* T.38 FAX maximum datagram size can no longer be configured in updtl.conf; - instead, it is either supplied by the application servicing the T.38 channel - (for a FAX send or receive) or calculated from the bridged endpoint's - maximum datagram size (for a T.38 FAX passthrough call). In addition, sip.conf - allows for overriding the value supplied by a remote endpoint, which is useful - when T.38 connections are made to gateways that supply incorrectly-calculated - maximum datagram sizes. - -* There have been some changes to the IAX2 protocol to address the security - concerns documented in the security advisory AST-2009-006. Please see the - IAX2 security document, doc/IAX2-security.pdf, for information regarding - backwards compatibility with versions of Asterisk that do not contain these - changes to IAX2. - -* The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers - has been renamed to 'directmedia', to better reflect what it actually does. - In the case of SIP, there are still re-INVITEs issued for T.38 negotiation, - starting and stopping music-on-hold, and other reasons, and the 'canreinvite' - option never had any effect on these cases, it only affected the re-INVITEs - used for direct media path setup. For MGCP and Skinny, the option was poorly - named because those protocols don't even use INVITE messages at all. For - backwards compatibility, the old option is still supported in both normal - and Realtime configuration files, but all of the sample configuration files, - Realtime/LDAP schemas, and other documentation refer to it using the new name. - -* The default console now will use colors according to the default background - color, instead of forcing the background color to black. If you are using a - light colored background for your console, you may wish to use the option - flag '-W' to present better color choices for the various messages. However, - if you'd prefer the old method of forcing colors to white text on a black - background, the compatibility option -B is provided for this purpose. - -* SendImage() no longer hangs up the channel on transmission error or on - any other error; in those cases, a FAILURE status is stored in - SENDIMAGESTATUS and dialplan execution continues. The possible - return values stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and - UNSUPPORTED. ('OK' has been replaced with 'SUCCESS', and 'NOSUPPORT' - has been replaced with 'UNSUPPORTED'). This change makes the - SendImage application more consistent with other applications. - -* skinny.conf now has separate sections for lines and devices. - Please have a look at configs/skinny.conf.sample and update - your skinny.conf. - -* Queue names previously were treated in a case-sensitive manner, - meaning that queues with names like "sales" and "sALeS" would be - seen as unique queues. The parsing logic has changed to use - case-insensitive comparisons now when originally hashing based on - queue names, meaning that now the two queues mentioned as examples - earlier will be seen as having the same name. - -* The SPRINTF() dialplan function has been moved into its own module, - func_sprintf, and is no longer included in func_strings. If you use this - function and do not use 'autoload=yes' in modules.conf, you will need - to explicitly load func_sprintf for it to be available. - -* The res_indications module has been removed. Its functionality was important - enough that most of it has been moved into the Asterisk core. - Two applications previously provided by res_indications, PlayTones and - StopPlayTones, have been moved into a new module, app_playtones. - -* Support for Taiwanese was incorrectly supported with the "tw" language code. - In reality, the "tw" language code is reserved for the Twi language, native - to Ghana. If you were previously using the "tw" language code, you should - switch to using either "zh" (for Mandarin Chinese) or "zh_TW" for Taiwan - specific localizations. Additionally, "mx" should be changed to "es_MX", - Georgian was incorrectly specified as "ge" but should be "ka", and Czech is - "cs", not "cz". - -* DAHDISendCallreroutingFacility() parameters are now comma-separated, - instead of the old pipe. - -* res_jabber: autoprune has been disabled by default, to avoid misconfiguration - that would end up being interpreted as a bug once Asterisk started removing - the contacts from a user list. - -* The cdr.conf file must exist and be configured correctly in order for CDR - records to be written. - -From 1.6.0.1 to 1.6.1: - -* The ast_agi_register_multiple() and ast_agi_unregister_multiple() - API calls were added in 1.6.0, so that modules that provide multiple - AGI commands could register/unregister them all with a single - step. However, these API calls were not implemented properly, and did - not allow the caller to know whether registration or unregistration - succeeded or failed. They have been redefined to now return success - or failure, but this means any code using these functions will need - be recompiled after upgrading to a version of Asterisk containing - these changes. In addition, the source code using these functions - should be reviewed to ensure it can properly react to failure - of registration or unregistration of its API commands. - -* The ast_agi_fdprintf() API call has been renamed to ast_agi_send() - to better match what it really does, and the argument order has been - changed to be consistent with other API calls that perform similar - operations. - -From 1.6.0.x to 1.6.1: - -* In previous versions of Asterisk, due to the way objects were arranged in - memory by chan_sip, the order of entries in sip.conf could be adjusted to - control the behavior of matching against peers and users. The way objects - are managed has been significantly changed for reasons involving performance - and stability. A side effect of these changes is that the order of entries - in sip.conf can no longer be relied upon to control behavior. - -* The following core commands dealing with dialplan have been deprecated: 'core - show globals', 'core set global' and 'core set chanvar'. Use the equivalent - 'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar' - instead. - -* In the dialplan expression parser, the logical value of spaces - immediately preceding a standalone 0 previously evaluated to - true. It now evaluates to false. This has confused a good many - people in the past (typically because they failed to realize the - space had any significance). Since this violates the Principle of - Least Surprise, it has been changed. - -* While app_directory has always relied on having a voicemail.conf or users.conf file - correctly set up, it now is dependent on app_voicemail being compiled as well. - -* SIP: All of the functionality in SIPCHANINFO() has been implemented in CHANNEL(), - and you should start using that function instead for retrieving information about - the channel in a technology-agnostic way. - -* If you have any third party modules which use a config file variable whose - name ends in a '+', please note that the append capability added to this - version may now conflict with that variable naming scheme. An easy - workaround is to ensure that a space occurs between the '+' and the '=', - to differentiate your variable from the append operator. This potential - conflict is unlikely, but is documented here to be thorough. - -* The "Join" event from app_queue now uses the CallerIDNum header instead of - the CallerID header to indicate the CallerID number. - -* If you use ODBC storage for voicemail, there is a new field called "flag" - which should be a char(8) or larger. This field specifies whether or not a - message has been designated to be "Urgent", "PRIORITY", or not. +=========================================================== +===========================================================