Added a small bit of code to support the SNOM 360's Record button. Made the find_feat...
[asterisk/asterisk.git] / UPGRADE.txt
index 5ada44e..3cd4c2d 100644 (file)
 Information for Upgrading From Previous Asterisk Releases
 =========================================================
 
-Build Process (configure script):
-
-Asterisk now uses an autoconf-generated configuration script to learn how it
-should build itself for your system. As it is a standard script, running:
-
-$ ./configure --help
-
-will show you all the options available. This script can be used to tell the
-build process what libraries you have on your system (if it cannot find them
-automatically), which libraries you wish to have ignored even though they may
-be present, etc.
-
-You must run the configure script before Asterisk will build, although it will
-attempt to automatically run it for you with no options specified; for most users,
-that will result in a similar build to what they would have had before the
-configure script was added to the build process (except for having to run 'make'
-again after the configure script is run). Note that the configure script does NOT
-need to be re-run just to rebuild Asterisk; you only need to re-run it when your
-system configuration changes or you wish to build Asterisk with different options.
-
-Build Process (module selection):
-
-The Asterisk source tree now includes a basic module selection and build option
-selection tool called 'menuselect'. Run 'make menuselect' to make your choices.
-In this tool, you can disable building of modules that you don't care about,
-turn on/off global options for the build and see which modules will not (and cannot)
-be built because your system does not have the required external dependencies
-installed.
-
-(TODO: document where 'global' and 'per-user' menuselect input files should go
-and what they need to contain)
-
-PBX Core:
-
-* The (very old and undocumented) ability to use BYEXTENSION for dialing
-  instead of ${EXTEN} has been removed.
-
-Command Line Interface:
-
-* 'show channels concise', designed to be used by applications that will parse
-  its output, previously used ':' characters to separate fields. However, some
-  of those fields can easily contain that character, making the output not
-  parseable. The delimiter has been changed to '!'.
-
-Applications:
-
-* In previous Asterisk releases, many applications would jump to priority n+101
-  to indicate some kind of status or error condition.  This functionality was
-  marked deprecated in Asterisk 1.2.  An option to disable it was provided with
-  the default value set to 'on'.  The default value for the global priority
-  jumping option is now 'off'.
-
-* The applications Cut, Sort, DBGet, DBPut, SetCIDNum, SetCIDName, SetRDNIS,
-  AbsoluteTimeout, DigitTimeout, ResponseTimeout, SetLanguage, GetGroupCount,
-  and GetGroupMatchCount were all deprecated in version 1.2, and therefore have
-  been removed in this version.  You should use the equivalent dialplan
-  function in places where you have previously used one of these applications.
-
-* The application SetVar has been renamed to Set.  The syntax SetVar was marked
-  deprecated in version 1.2 and is no longer recognized in this version.
-
-* app_read has been updated to use the newer options codes, using "skip" or
-  "noanswer" will not work.  Use s or n.  Also there is a new feature i, for
-  using indication tones, so typing in skip would give you unexpected results.
-
-* OSPAuth is added to authenticate OSP tokens in in_bound call setup messages.
-
-* The CONNECT event in the queue_log from app_queue now has a second field 
-  in addition to the holdtime field. It contains the unique ID of the 
-  queue member channel that is taking the call. This is useful when trying 
-  to link recording filenames back to a particular call from the queue.  
-
 Manager:
 
-* After executing the 'status' manager action, the "Status" manager events
-  included the header "CallerID:" which was actually only the CallerID number,
-  and not the full CallerID string.  This header has been renamed to
-  "CallerIDNum".  For compatibility purposes, the CallerID parameter will remain
-  until after the release of 1.4, when it will be removed.  Please use the time
-  during the 1.4 release to make this transition.
-
-* The AgentConnect event now has an additional field called "BridgedChannel" 
-  which contains the unique ID of the queue member channel that is taking the 
-  call. This is useful when trying to link recording filenames back to 
-  a particular call from the queue.
-
-Variables:
-
-* The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
-  ${CALLERANI}, ${DNID}, ${RDNIS}, ${DATETIME}, ${TIMESTAMP}, ${ACCOUNTCODE},
-  and ${LANGUAGE} have all been deprecated in favor of their related dialplan
-  functions.  You are encouraged to move towards the associated dialplan
-  function, as these variables will be removed in a future release.
-
-* The CDR-CSV variables uniqueid, userfield, and basing time on GMT are now 
-  adjustable from cdr.conf, instead of recompiling.
+* The CallerID fields across Manager events have now been made more
+  consistent. CallerID Number will be sent as CallerIDNum and CallerID
+  Name will be sent as CallerIDName wherever used.
+
+AEL:
+
+* Macros are now implemented underneath with the Gosub() application.
+  Heaven Help You if you wrote code depending on any aspect of this!
+  Previous to 1.6, macros were implemented with the Macro() app, which
+  provided a nice feature of auto-returning. The compiler will do its
+  best to insert a Return() app call at the end of your macro if you did
+  not include it, but really, you should make sure that all execution
+  paths within your macros end in "return;".
+
+Core:
+
+* The 'languageprefix' option in asterisk.conf is now deprecated, and
+  the default sound file layout for non-English sounds is the 'new
+  style' layout introduced in Asterisk 1.4 (and used by the automatic
+  sound file installer in the Makefile).
+
+Voicemail:
+
+* The voicemail configuration values 'maxmessage' and 'minmessage' have
+  been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
+  to make them more distinguishable from 'maxmsgs', which sets folder
+  size.  The old variables will continue to work in this version, albeit
+  with a deprecation warning.
+* If you use any interface for modifying voicemail aside from the built in
+  dialplan applications, then the option "pollmailboxes" *must* be set in
+  voicemail.conf for message waiting indication (MWI) to work properly.  This
+  is because Voicemail notification is now event based instead of polling
+  based.  The channel drivers are no longer responsible for constantly manually
+  checking mailboxes for changes so that they can send MWI information to users.
+  Examples of situations that would require this option are web interfaces to
+  voicemail or an email client in the case of using IMAP storage.
 
-* OSP applications exports several new variables, ${OSPINHANDLE},
-  ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
-  ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
-
-Functions:
-
-* The function ${CHECK_MD5()} has been deprecated in favor of using an
-  expression: $[${MD5(<string>)} = ${saved_md5}].
-
-* The 'builtin' functions that used to be combined in pbx_functions.so are
-  now built as separate modules. If you are not using 'autoload=yes' in your
-  modules.conf file then you will need to explicitly load the modules that
-  contain the functions you want to use.
-
-* The ENUMLOOKUP() function with the 'c' option (for counting the number of records),
-  but the lookup fails to match any records, the returned value will now be "0" instead of blank.
-
-The IAX2 channel:
-
-* The "mailboxdetail" option has been deprecated.  Previously, if this option
-  was not enabled, the 2 byte MSGCOUNT information element would be set to all
-  1's to indicate there there is some number of messages waiting.  With this
-  option enabled, the number of new messages were placed in one byte and the
-  number of old messages are placed in the other.  This is now the default
-  (and the only) behavior.
-
-The SIP channel:
+Applications:
 
-* The "incominglimit" setting is replaced by the "call-limit" setting in sip.conf.
+* ChanIsAvail() now has a 't' option, which allows the specified device
+  to be queried for state without consulting the channel drivers. This
+  performs mostly a 'ChanExists' sort of function.
+* SetCallerPres() has been replaced with the CALLERPRES() dialplan function
+  and is now deprecated.
 
-* OSP support code is removed from SIP channel to OSP applications. ospauth 
-  option in sip.conf is removed to osp.conf as authpolicy. allowguest option
-  in sip.conf cannot be set as osp anymore. 
+CDR:
 
-The Zap channel:
+* The cdr_sqlite module has been marked as deprecated in favor of
+  cdr_sqlite3_custom.  It will potentially be removed from the tree
+  after Asterisk 1.6 is released.
 
-* Support for MFC/R2 has been removed, as it has not been functional for some time
-  and it has no maintainer.
+Formats:
 
-Installation:
+* format_wav: The GAIN preprocessor definition and source code that used it
+  is removed.  This change was made in response to user complaints of
+  choppiness or the clipping of loud signal peaks.  To increasing the volume
+  of voicemail messages, use the 'volgain' option in voicemail.conf
 
-* On BSD systems, the installation directories have changed to more "FreeBSDish" directories. On startup, Asterisk will look for the main configuration in /usr/local/etc/asterisk/asterisk.conf
-If you have an old installation, you might want to remove the binaries and move the configuration files to the new locations. The following directories are now default:
-       ASTLIBDIR       /usr/local/lib/asterisk
-       ASTVARLIBDIR    /usr/local/share/asterisk
-       ASTETCDIR       /usr/local/etc/asterisk
-       ASTBINDIR       /usr/local/bin/asterisk
-       ASTSBINDIR      /usr/local/sbin/asterisk
+Channel Drivers:
 
-Sounds:
+* chan_sip.c: a small upgrade to support the "Record" button on the SNOM360,
+  which sends a sip INFO message with a "Record: on" or "Record: off" 
+  header. If asterisk is set up (via features.conf) to accept "One Touch Monitor"
+  requests (by default, via '*1'), then the user-configured dialpad sequence
+  is generated, and recording can be started and stopped via this button. The
+  file names and formats are all controlled via the normal mechanisms. If the
+  user has not configured the automon feature, the normal "415 Unsupported media type"
+  is returned, and nothing is done.
 
-* The phonetic sounds directory has been removed from the asterisk-sounds package
-  because they are now included directly in Asterisk.  However, it is important to
-  note that the phonetic sounds that existed in asterisk-sounds used a different
-  naming convention than the sounds in Asterisk.  For example, instead of alpha.gsm
-  and bravo.gsm, Asterisk has a_p.gsm and b_p.gsm.