mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			271 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			271 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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.
 | |
| 
 | |
| The resulting file from menuselect is called 'menuselect.makeopts'. Note that
 | |
| the resulting menuselect.makeopts file generally contains which modules *not*
 | |
| to build. The modules listed in this file indicate which modules have unmet
 | |
| dependencies, a present conflict, or have been disabled by the user in the
 | |
| menuselect interface. Compiler Flags can also be set in the menuselect
 | |
| interface.  In this case, the resulting file contains which CFLAGS are in use,
 | |
| not which ones are not in use.
 | |
| 
 | |
| If you would like to save your choices and have them applied against all
 | |
| builds, the file can be copied to '~/.asterisk.makeopts' or 
 | |
| '/etc/asterisk.makeopts'.
 | |
| 
 | |
| PBX Core:
 | |
| 
 | |
| * The (very old and undocumented) ability to use BYEXTENSION for dialing
 | |
|   instead of ${EXTEN} has been removed.
 | |
|   
 | |
| * Builtin (res_features) transfer functionality attempts to use the context
 | |
|   defined in TRANSFER_CONTEXT variable of the transferer channel first. If
 | |
|   not set, it uses the transferee variable. If not set in any channel, it will 
 | |
|   attempt to use the last non macro context. If not possible, it will default
 | |
|   to the current context.
 | |
|  
 | |
| 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 SetGlobalVar has been deprecated.  You should replace uses
 | |
|   of this application with the following combination of Set and GLOBAL():
 | |
|   Set(GLOBAL(name)=value).  You may also access global variables exclusively by
 | |
|   using the GLOBAL() dialplan function, instead of relying on variable
 | |
|   interpolation falling back to globals when no channel variable is set.
 | |
| 
 | |
| * 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.  
 | |
| 
 | |
| * The old/current behavior of app_queue has a serial type behavior
 | |
|   in that the queue will make all waiting callers wait in the queue
 | |
|   even if there is more than one available member ready to take
 | |
|   calls until the head caller is connected with the member they
 | |
|   were trying to get to. The next waiting caller in line then
 | |
|   becomes the head caller, and they are then connected with the
 | |
|   next available member and all available members and waiting callers
 | |
|   waits while this happens. This cycle continues until there are
 | |
|   no more available members or waiting callers, whichever comes first.
 | |
|   The new behavior, enabled by setting autofill=yes in queues.conf
 | |
|   either at the [general] level to default for all queues or 
 | |
|   to set on a per-queue level, makes sure that when the waiting 
 | |
|   callers are connecting with available members in a parallel fashion 
 | |
|   until there are no more available members or no more waiting callers,
 | |
|   whichever comes first. This is probably more along the lines of how
 | |
|   one would expect a queue should work and in most cases, you will want 
 | |
|   to enable this new behavior. If you do not specify or comment out this 
 | |
|   option, it will default to "no" to keep backward compatability with the old 
 | |
|   behavior.
 | |
| 
 | |
| * The app_queue application now has the ability to use MixMonitor to 
 | |
|   record conversations queue members are having with queue callers. Please
 | |
|   see configs/queues.conf.sample for more information on this option.
 | |
| 
 | |
| * app_meetme: The 'm' option (monitor) is renamed to 'l' (listen only), and
 | |
|   the 'm' option now provides the functionality of "initially muted". 
 | |
|   In practice, most existing dialplans using the 'm' flag should not notice
 | |
|   any difference, unless the keypad menu is enabled, allowing the user 
 | |
|   to unmute themsleves.
 | |
| 
 | |
| * ast_play_and_record would attempt to cancel the recording if a DTMF
 | |
|   '0' was received.  This behavior was not documented in most of the
 | |
|   applications that used ast_play_and_record and the return codes from
 | |
|   ast_play_and_record weren't checked for properly.
 | |
|   ast_play_and_record has been changed so that '0' no longer cancels a
 | |
|   recording.  If you want to allow DTMF digits to cancel an
 | |
|   in-progress recording use ast_play_and_record_full which allows you
 | |
|   to specify which DTMF digits can be used to accept a recording and
 | |
|   which digits can be used to cancel a recording.
 | |
| 
 | |
| * ast_app_messagecount has been renamed to ast_app_inboxcount.  There is now a
 | |
|   new ast_app_messagecount function which takes a single context/mailbox/folder
 | |
|   mailbox specification and returns the message count for that folder only.
 | |
|   This addresses the deficiency of not being able to count the number of
 | |
|   messages in folders other than INBOX and Old.
 | |
| 
 | |
| * The exit behavior of the AGI applications has changed. Previously, when
 | |
|   a connection to an AGI server failed, the application would cause the channel
 | |
|   to immediately stop dialplan execution and hangup. Now, the only time that
 | |
|   the AGI applications will cause the channel to stop dialplan execution is
 | |
|   when the channel itself requests hangup. The AGI applications now set an
 | |
|   AGISTATUS variable which will allow you to find out whether running the AGI
 | |
|   was successful or not.
 | |
| 
 | |
|   Previously, there was no way to handle the case where Asterisk was unable to
 | |
|   locally execute an AGI script for some reason. In this case, dialplan
 | |
|   execution will continue as it did before, but the AGISTATUS variable will be
 | |
|   set to "FAILURE".
 | |
| 
 | |
|   A locally executed AGI script can now exit with a non-zero exit code and this
 | |
|   failure will be detected by Asterisk. If an AGI script exits with a non-zero
 | |
|   exit code, the AGISTATUS variable will be set to "FAILURE" as opposed to
 | |
|   "SUCCESS".
 | |
| 
 | |
| 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.
 | |
| 
 | |
| * app_userevent has been modified to always send Event: UserEvent with the
 | |
|   additional header UserEvent: <userspec>.  Also, the Channel and UniqueID
 | |
|   headers are not automatically sent, unless you specify them as separate
 | |
|   arguments.  Please see the application help for the new syntax.
 | |
| 
 | |
| * app_meetme: Mute and Unmute events are now reported via the Manager API.
 | |
|   Native Manager API commands MeetMeMute and MeetMeUnmute are provided, which
 | |
|   are easier to use than "Action Command:". The MeetMeStopTalking event has
 | |
|   also been deprecated in favor of the already existing MeetmeTalking event
 | |
|   with a "Status" of "on" or "off" added.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| * OSP applications exports several new variables, ${OSPINHANDLE},
 | |
|   ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
 | |
|   ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
 | |
|   
 | |
| * Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
 | |
|   created channel. This variables holds the channel name of the transferer.
 | |
| 
 | |
| 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 REALTIME() function is now available in version 1.4 and app_realtime has
 | |
|   been deprecated in favor of the new function. app_realtime will be removed
 | |
|   completely with the version 1.6 release so please take the time between
 | |
|   releases to make any necessary changes
 | |
| 
 | |
| * The QUEUEAGENTCOUNT() function has been deprecated in favor of
 | |
|   QUEUE_MEMBER_COUNT().
 | |
| 
 | |
| 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:
 | |
| 
 | |
| * The "incominglimit" setting is replaced by the "call-limit" setting in 
 | |
|   sip.conf.
 | |
| 
 | |
| * 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. 
 | |
| 
 | |
| The Zap channel:
 | |
| 
 | |
| * Support for MFC/R2 has been removed, as it has not been functional for some
 | |
|   time and it has no maintainer.
 | |
| 
 | |
| Installation:
 | |
| 
 | |
| * 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
 | |
| 
 | |
| Sounds:
 | |
| 
 | |
| * 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.
 |