Mention callerid name / num changes in UPGRADE.txt (bug #5624)
[asterisk/asterisk.git] / UPGRADE.txt
1 Information for Upgrading From Previous Asterisk Releases
2 =========================================================
3
4 Compiling:
5
6 * The Asterisk 1.2 source code now uses C language features
7   supported only by 'modern' C compilers.  Generally, this means GCC
8   version 3.0 or higher, although some GCC 2.96 releases will also
9   work.  Some non-GCC compilers that support C99 and the common GCC
10   extensions (including anonymous structures and unions) will also
11   work.  All releases of GCC 2.95 do _not_ have the requisite feature
12   support; systems using that compiler will need to be upgraded to
13   a more recent compiler release.
14
15 Dialplan Expressions:
16
17 * The dialplan expression parser (which handles $[ ... ] constructs)
18   has gone through a major upgrade, but has one incompatible change:
19   spaces are no longer required around expression operators, including
20   string comparisons. However, you can now use quoting to keep strings
21   together for comparison. For more details, please read the
22   doc/README.variables file, and check over your dialplan for possible
23   problems.
24
25 Agents:
26
27 * The default for ackcall has been changed to "no" instead of "yes" 
28   because of a bug which caused the "yes" behavior to generally act like
29   "no".  You may need to adjust the value if your agents behave 
30   differently than you expect with respect to acknowledgement.
31
32 * The AgentCallBackLogin application now requires a second '|' before
33   specifying an extension@context.  This is to distinguish the options
34   string from the extension, so that they do not conflict.  See
35   'show application AgentCallbackLogin' for more details.
36
37 Parking:
38
39 * Parking behavior has changed slightly; when a parked call times out,
40   Asterisk will attempt to deliver the call back to the extension that
41   parked it, rather than the 's' extension. If that extension is busy
42   or unavailable, the parked call will be lost.
43
44 Dialing:
45
46 * The Caller*ID of the outbound leg is now the extension that was 
47   called, rather than the Caller*ID of the inbound leg of the call.  The 
48   "o" flag for Dial can be used to restore the original behavior if 
49   desired.  Note that if you are looking for the originating callerid
50   from the manager event, there is a new manager event "Dial" which 
51   provides the source and destination channels and callerid.
52
53 IAX: 
54
55 * The naming convention for IAX channels has changed in a minor way such 
56   that the call number follows a "-" rather than a "/" character.
57
58 SIP:
59
60 * The global option "port" in 1.0.X that is used to set which port to
61   bind to has been changed to "bindport" to be more consistent with
62   the other channel drivers and to avoid confusion with the "port"
63   option for users/peers.
64
65 * The "Registry" event now uses "Username" rather than "User" for 
66   consistency with IAX.
67
68 Applications:
69
70 * With the addition of dialplan functions (which operate similarly
71   to variables), the SetVar application has been renamed to Set.
72
73 * The CallerPres application has been removed.  Use SetCallerPres 
74   instead.  It accepts both numeric and symbolic names.
75
76 * The applications GetGroupCount, GetGroupMatchCount, SetGroup, and
77   CheckGroup have been deprecated in favor of functions.  Here is a
78   table of their replacements:
79
80   GetGroupCount([groupname][@category]         GROUP_COUNT([groupname][@category])      Set(GROUPCOUNT=${GROUP_COUNT()})
81   GroupMatchCount(groupmatch[@category])       GROUP_MATCH_COUNT(groupmatch[@category]) Set(GROUPCOUNT=${GROUP_MATCH_COUNT(SIP/.*)})
82   SetGroup(groupname[@category])               GROUP([category])=groupname              Set(GROUP()=test)
83   CheckGroup(max[@category])                   N/A                                      GotoIf($[ ${GROUP_COUNT()} > 5 ]?103)
84
85   Note that CheckGroup does not have a direct replacement.  There is
86   also a new function called GROUP_LIST() which will return a space
87   separated list of all of the groups set on a channel.  The GROUP()
88   function can also return the name of the group set on a channel when
89   used in a read environment.
90
91 * The applications DBGet and DBPut have been deprecated in favor of
92   functions.  Here is a table of their replacements:
93
94   DBGet(foo=family/key)        Set(foo=${DB(family/key)})
95   DBPut(family/key=${foo})     Set(DB(family/key)=${foo})
96
97 * The application SetLanguage has been deprecated in favor of the
98   function LANGUAGE().
99
100   SetLanguage(fr)               Set(LANGUAGE()=fr)
101
102   The LANGUAGE function can also return the currently set language:
103
104   Set(MYLANG=${LANGUAGE()})
105
106 * The applications AbsoluteTimeout, DigitTimeout, and ResponseTimeout
107   have been deprecated in favor of the function TIMEOUT(timeouttype):
108
109   AbsoluteTimeout(300)          Set(TIMEOUT(absolute)=300)
110   DigitTimeout(15)              Set(TIMEOUT(digit)=15)
111   ResponseTimeout(15)           Set(TIMEOUT(response)=15)
112
113   The TIMEOUT() function can also return the currently set timeouts:
114
115   Set(DTIMEOUT=${TIMEOUT(digit)})
116
117 * The applications SetCIDName, SetCIDNum, and SetRDNIS have been
118   deprecated in favor of the CALLERID(datatype) function:
119
120   SetCIDName(Joe Cool)          Set(CALLERID(name)=Joe Cool)
121   SetCIDNum(2025551212)         Set(CALLERID(number)=2025551212)
122   SetRDNIS(2024561414)          Set(CALLERID(RDNIS)=2024561414)
123
124 * The application Record now uses the period to separate the filename
125   from the format, rather than the colon.
126
127 * The application VoiceMail now supports a 'temporary' greeting for each
128   mailbox. This greeting can be recorded by using option 4 in the
129   'mailbox options' menu, and 'change your password' option has been
130   moved to option 5.
131
132 Queues:
133
134 * A queue is now considered empty not only if there are no members but if
135   none of the members are available (e.g. agents not logged on).  To
136   restore the original behavior, use "leavewhenempty=strict" or 
137   "joinwhenempty=strict" instead of "=yes" for those options.
138
139 * It is now possible to use multi-digit extensions in the exit context
140   for a queue (although you should not have overlapping extensions,
141   as there is no digit timeout). This means that the EXITWITHKEY event
142   in queue_log can now contain a key field with more than a single
143   character in it.
144
145 Extensions:
146
147 * By default, there is a new option called "autofallthrough" in
148   extensions.conf that is set to yes.  Asterisk 1.0 (and earlier) 
149   behavior was to wait for an extension to be dialed after there were no 
150   more extensions to execute.  "autofallthrough" changes this behavior
151   so that the call will immediately be terminated with BUSY,
152   CONGESTION, or HANGUP based on Asterisk's best guess.  If you are
153   writing an extension for IVR, you must use the WaitExten application
154   if "autofallthrough" is set to yes.
155
156 AGI:
157
158 * AGI scripts did not always get SIGHUP at the end, previously.  That 
159   behavior has been fixed.  If you do not want your script to terminate 
160   at the end of AGI being called (e.g. on a hangup) then set SIGHUP to 
161   be ignored within your application.
162
163 * CallerID is reported with agi_callerid and agi_calleridname instead
164   of a single parameter holding both.
165
166 Music On Hold:
167
168 * The preferred format for musiconhold.conf has changed; please see the
169   sample configuration file for the new format. The existing format
170   is still supported but will generate warnings when the module is loaded.
171
172 chan_modem:
173
174 * All the chan_modem channel drivers (aopen, bestdata and i4l) are deprecated
175   in this release, and will be removed in the next major Asterisk release.
176   Please migrate to chan_misdn for ISDN interfaces; there is no upgrade
177   path for aopen and bestdata modem users.
178
179 MeetMe:
180
181 * The conference application now allows users to increase/decrease their
182   speaking volume and listening volume (independently of each other and 
183   other users); the 'admin' and 'user' menus have changed, and new sound 
184   files are included with this release. However, if a user calling in 
185   over a Zaptel channel that does NOT have hardware DTMF detection 
186   increases their speaking volume, it is likely they will no longer be 
187   able to enter/exit the menu or make any further adjustments, as the  
188   software DTMF detector will not be able to recognize the DTMF coming 
189   from their device.
190
191 GetVar Manager Action:
192
193 * Previously, the behavior of the GetVar manager action reported the value
194   of a variable in the following manner:
195    > name: value
196   This has been changed to a manner similar to the SetVar action and is now
197    > Variable: name
198    > Value: value