Review Board 1.7.16


Add AGIEXITONHANGUP variable.

Review Request #1734 - Created Feb. 12, 2012 and submitted

Russell Bryant
trunk
Reviewers
asterisk-dev
Asterisk
This patch adds a variable AGIEXITONHANGUP for res_agi.  If this variable is set to "yes" on a channel, AGI() will exit immediately once a channel hangup has been detected.  This was the behavior of AGI() in Asterisk 1.4 and earlier and is still desired by some people.
Wrote a simple AGI script that executes HANGUP and observed differences in behavior between Asterisk versions and then with/without this variable enabled.

Diff revision 1 (Latest)

  1. /trunk/CHANGES: Loading...
  2. /trunk/res/res_agi.c: Loading...
/trunk/CHANGES
Revision 354937 New Change
1
==============================================================================
1
==============================================================================
2
===
2
===
3
=== This file documents the new and/or enhanced functionality added in
3
=== This file documents the new and/or enhanced functionality added in
4
=== the Asterisk versions listed below. This file does NOT include
4
=== the Asterisk versions listed below. This file does NOT include
5
=== changes in behavior that would not be backwards compatible with
5
=== changes in behavior that would not be backwards compatible with
6
=== previous versions; for that information see the UPGRADE.txt file
6
=== previous versions; for that information see the UPGRADE.txt file
7
=== and the other UPGRADE files for older releases.
7
=== and the other UPGRADE files for older releases.
8
===
8
===
9
==============================================================================
9
==============================================================================
10

    
   
10

   
11
------------------------------------------------------------------------------
11
------------------------------------------------------------------------------
12
--- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
12
--- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
13
------------------------------------------------------------------------------
13
------------------------------------------------------------------------------
14

    
   
14

   
15
Core
15
Core
16
----
16
----
17
 * The expression parser now recognizes the ABS() absolute value function,
17
 * The expression parser now recognizes the ABS() absolute value function,
18
   which will convert negative floating point values to positive values.
18
   which will convert negative floating point values to positive values.
19
 * The Asterisk build system will now build and install a shared library
19
 * The Asterisk build system will now build and install a shared library
20
   (libasteriskssl.so) used to wrap various initialization and shutdown functions
20
   (libasteriskssl.so) used to wrap various initialization and shutdown functions
21
   from the libssl and libcrypto libraries provided by OpenSSL. This is done so
21
   from the libssl and libcrypto libraries provided by OpenSSL. This is done so
22
   that Asterisk can ensure that these functions do *not* get called by any
22
   that Asterisk can ensure that these functions do *not* get called by any
23
   modules that are loaded into Asterisk, since they should only be called once
23
   modules that are loaded into Asterisk, since they should only be called once
24
   in any single process. If desired, this feature can be disabled by supplying
24
   in any single process. If desired, this feature can be disabled by supplying
25
   the "--disable-asteriskssl" option to the configure script.
25
   the "--disable-asteriskssl" option to the configure script.
26

    
   
26

   
27
CLI Changes
27
CLI Changes
28
-------------------
28
-------------------
29
 * mixmonitor list <channel> command will now show MixMonitor ID, and the filenames
29
 * mixmonitor list <channel> command will now show MixMonitor ID, and the filenames
30
   of all running mixmonitors on a channel.
30
   of all running mixmonitors on a channel.
31
 * The debuglevel of "pri set debug" is now a bitmask ranging from 0 to 15 if
31
 * The debuglevel of "pri set debug" is now a bitmask ranging from 0 to 15 if
32
   numeric instead of 0, 1, or 2.
32
   numeric instead of 0, 1, or 2.
33

    
   
33

   
34
ConfBridge
34
ConfBridge
35
-------------------
35
-------------------
36
 * Added menu action admin_toggle_mute_participants.  This will mute / unmute
36
 * Added menu action admin_toggle_mute_participants.  This will mute / unmute
37
   all non-admin participants on a conference.  The confbridge configuration file
37
   all non-admin participants on a conference.  The confbridge configuration file
38
   also allows for the default sounds played to all conference users when this
38
   also allows for the default sounds played to all conference users when this
39
   occurs to be overriden using sound_participants_unmuted and sound_participants_muted.
39
   occurs to be overriden using sound_participants_unmuted and sound_participants_muted.
40
 * Added menu action participant_count.  This will playback the number of current
40
 * Added menu action participant_count.  This will playback the number of current
41
   participants in a conference.
41
   participants in a conference.
42

    
   
42

   
43
Voicemail
43
Voicemail
44
------------------
44
------------------
45
 * Addition of the VM_INFO function - see Dialplan function changes
45
 * Addition of the VM_INFO function - see Dialplan function changes
46
 * The imapserver, imapport, and imapflags configuration options can now be
46
 * The imapserver, imapport, and imapflags configuration options can now be
47
   overriden on a user by user basis.
47
   overriden on a user by user basis.
48

    
   
48

   
49
SIP Changes
49
SIP Changes
50
-----------
50
-----------
51
 * Asterisk will no longer substitute CID number for CID name into display
51
 * Asterisk will no longer substitute CID number for CID name into display
52
   name field if CID number exists without a CID name. This change improves
52
   name field if CID number exists without a CID name. This change improves
53
   compatibility with certain device features such as Avaya IP500's directory
53
   compatibility with certain device features such as Avaya IP500's directory
54
   lookup service.
54
   lookup service.
55
 * A new setting for autocreatepeer (autocreatepeer=persistent) allows peers
55
 * A new setting for autocreatepeer (autocreatepeer=persistent) allows peers
56
   created using that setting to not be removed during SIP reload.
56
   created using that setting to not be removed during SIP reload.
57
 * Add support to realtime for the 'callbackextension' option
57
 * Add support to realtime for the 'callbackextension' option
58
 * When multiple peers exist with the same address, but differing
58
 * When multiple peers exist with the same address, but differing
59
   callbackextension options, incoming requests that are matched by address
59
   callbackextension options, incoming requests that are matched by address
60
   will be matched to the peer with the matching callbackextension if it is
60
   will be matched to the peer with the matching callbackextension if it is
61
   available.
61
   available.
62
 * NAT settings are now a combinable list of options. The equivalent of the
62
 * NAT settings are now a combinable list of options. The equivalent of the
63
   deprecated nat=yes is nat=force_rport,comedia. nat=no behaves as before.
63
   deprecated nat=yes is nat=force_rport,comedia. nat=no behaves as before.
64
 * Two new NAT options, auto_force_rport and auto_comedia, have been added
64
 * Two new NAT options, auto_force_rport and auto_comedia, have been added
65
   which set the force_rport and comedia options automatically if Asterisk
65
   which set the force_rport and comedia options automatically if Asterisk
66
   detects that an incoming SIP request crossed a NAT after being sent by
66
   detects that an incoming SIP request crossed a NAT after being sent by
67
   the remote endpoint.
67
   the remote endpoint.
68

    
   
68

   
69
Chan_local changes
69
Chan_local changes
70
------------------
70
------------------
71
 * Added a manager event "LocalBridge" for local channel call bridges between
71
 * Added a manager event "LocalBridge" for local channel call bridges between
72
   the two pseudo-channels created.
72
   the two pseudo-channels created.
73

    
   
73

   
74
Codec changes
74
Codec changes
75
-------------
75
-------------
76
 * Codec lists may now be modified by the '!' character, to allow succinct
76
 * Codec lists may now be modified by the '!' character, to allow succinct
77
   specification of a list of codecs allowed and disallowed, without the
77
   specification of a list of codecs allowed and disallowed, without the
78
   requirement to use two different keywords.  For example, to specify all
78
   requirement to use two different keywords.  For example, to specify all
79
   codecs except g729 and g723, one need only specify allow=all,!g729,!g723.
79
   codecs except g729 and g723, one need only specify allow=all,!g729,!g723.
80

    
   
80

   
81
Music On Hold Changes
81
Music On Hold Changes
82
---------------------
82
---------------------
83
 * Added 'announcement' option which will play at the start of MOH and between
83
 * Added 'announcement' option which will play at the start of MOH and between
84
   songs in modes of MOH that can detect transitions between songs (eg.
84
   songs in modes of MOH that can detect transitions between songs (eg.
85
   files, mp3, etc).
85
   files, mp3, etc).
86

    
   
86

   
87
Queue changes
87
Queue changes
88
-------------
88
-------------
89
 * Added queue options autopausebusy and autopauseunavail for automatically
89
 * Added queue options autopausebusy and autopauseunavail for automatically
90
   pausing a queue member when their device reports busy or congestion.
90
   pausing a queue member when their device reports busy or congestion.
91

    
   
91

   
92
Voicemail changes
92
Voicemail changes
93
-----------------
93
-----------------
94
 * When voicemail plays a message's envelope with saycid set to yes, when reaching
94
 * When voicemail plays a message's envelope with saycid set to yes, when reaching
95
   the caller id field it will play a recording of a file with the same base name
95
   the caller id field it will play a recording of a file with the same base name
96
   as the sender's callerid if there is a similarly named file in
96
   as the sender's callerid if there is a similarly named file in
97
   <astspooldir>/recordings/callerids/
97
   <astspooldir>/recordings/callerids/
98

    
   
98

   
99
Applications
99
Applications
100
------------
100
------------
101
 * Added 'j' option to SayUnixTime. SayUnixTime no longer auto jumps to extension
101
 * Added 'j' option to SayUnixTime. SayUnixTime no longer auto jumps to extension
102
   when receiving DTMF.  Use the 'j' option to enable extension jumping. Also
102
   when receiving DTMF.  Use the 'j' option to enable extension jumping. Also
103
   changed arguments to SayUnixTime so that every option is truly optional even
103
   changed arguments to SayUnixTime so that every option is truly optional even
104
   when using multiple options (so that j option could be used without having to
104
   when using multiple options (so that j option could be used without having to
105
   manually specify timezone and format) There are other beneftis eg. format can
105
   manually specify timezone and format) There are other beneftis eg. format can
106
   now be used without specifying time zone as well.
106
   now be used without specifying time zone as well.
107

    
   
107

   
108
Parking
108
Parking
109
------------
109
------------
110
 * New per parking lot options: comebackcontext and comebackdialtime. See
110
 * New per parking lot options: comebackcontext and comebackdialtime. See
111
   configs/features.conf.sample for more details.
111
   configs/features.conf.sample for more details.
112

    
   
112

   
113
 * Channel variable PARKER is now set when comebacktoorigin is disabled in
113
 * Channel variable PARKER is now set when comebacktoorigin is disabled in
114
   a parking lot.
114
   a parking lot.
115

    
   
115

   
116
 * MixMonitor hooks now have IDs associated with them which can be used to assign
116
 * MixMonitor hooks now have IDs associated with them which can be used to assign
117
   a target to StopMixMonitor. Use of MixMonitor's i(variable) option will allow
117
   a target to StopMixMonitor. Use of MixMonitor's i(variable) option will allow
118
   storage of the MixMontior ID in a channel variable.  StopMixmonitor now accepts
118
   storage of the MixMontior ID in a channel variable.  StopMixmonitor now accepts
119
   that ID as an argument.
119
   that ID as an argument.
120

    
   
120

   
121
CDR postgresql driver changes
121
CDR postgresql driver changes
122
-----------------------------
122
-----------------------------
123
 * Added command "cdr show pgsql status" to check connection status
123
 * Added command "cdr show pgsql status" to check connection status
124

    
   
124

   
125
AMI (Asterisk Manager Interface) changes
125
AMI (Asterisk Manager Interface) changes
126
----------------------------------------
126
----------------------------------------
127
 * Originate now generates an error response if the extension given
127
 * Originate now generates an error response if the extension given
128
   is not found in the dialplan
128
   is not found in the dialplan
129

    
   
129

   
130
 * MixMonitor will now show IDs associated with the mixmonitor upon creating them
130
 * MixMonitor will now show IDs associated with the mixmonitor upon creating them
131
   if the i(variable) option is used. StopMixMonitor will accept MixMonitorID as
131
   if the i(variable) option is used. StopMixMonitor will accept MixMonitorID as
132
   on option to close specific MixMonitors.
132
   on option to close specific MixMonitors.
133

    
   
133

   
134
 * The SIPshowpeer manager action response field "SIP-Forcerport" has been updated
134
 * The SIPshowpeer manager action response field "SIP-Forcerport" has been updated
135
   to include information about peers configured with nat=auto_force_rport by
135
   to include information about peers configured with nat=auto_force_rport by
136
   returning "A" if auto_force_rport is set and nat is detected, and "a" if it is
136
   returning "A" if auto_force_rport is set and nat is detected, and "a" if it is
137
   set and nat is not detected. "Y" and "N" are still returned if auto_force_rport
137
   set and nat is not detected. "Y" and "N" are still returned if auto_force_rport
138
   is not enabled.
138
   is not enabled.
139

    
   
139

   
140
FAX changes
140
FAX changes
141
-----------
141
-----------
142
 * FAXOPT(faxdetect) will enable a generic fax detect framehook for dialplan
142
 * FAXOPT(faxdetect) will enable a generic fax detect framehook for dialplan
143
   control of faxdetect.
143
   control of faxdetect.
144

    
   
144

   
145
DUNDi changes
145
DUNDi changes
146
-------------
146
-------------
147
 * Allow the built in variables ${NUMBER}, ${IPADDR} and ${SECRET} to be
147
 * Allow the built in variables ${NUMBER}, ${IPADDR} and ${SECRET} to be
148
   used within the dynamic weight attribute when specifying a mapping.
148
   used within the dynamic weight attribute when specifying a mapping.
149

    
   
149

   
150
Dialplan functions
150
Dialplan functions
151
------------------
151
------------------
152
 * Addition of the VM_INFO function that can be used to retrieve voicemail
152
 * Addition of the VM_INFO function that can be used to retrieve voicemail
153
   user information, such as the email address and full name.
153
   user information, such as the email address and full name.
154
   The MAILBOX_EXISTS dialplan function has been deprecated in favour of
154
   The MAILBOX_EXISTS dialplan function has been deprecated in favour of
155
   VM_INFO.
155
   VM_INFO.
156

    
   
156

   
157
Followme changes
157
Followme changes
158
-------------
158
-------------
159
 * A new option, 'I' has been added to app_followme.
159
 * A new option, 'I' has been added to app_followme.
160
   By setting this option, Asterisk will not update the caller with
160
   By setting this option, Asterisk will not update the caller with
161
   connected line changes when they occur.  This is similar to app_dial
161
   connected line changes when they occur.  This is similar to app_dial
162
   and app_queue.
162
   and app_queue.
163
 * The 'N' option is now ignored if the call is already answered.
163
 * The 'N' option is now ignored if the call is already answered.
164

    
   
164

   
165
RTP changes
165
RTP changes
166
-------------
166
-------------
167
 * A new option, 'probation' has been added to rtp.conf
167
 * A new option, 'probation' has been added to rtp.conf
168
   RTP in strictrtp mode can now require more than 1 packet to exit learning
168
   RTP in strictrtp mode can now require more than 1 packet to exit learning
169
   mode with a new source (and by default requires 4). The probation option
169
   mode with a new source (and by default requires 4). The probation option
170
   allows the user to change the required number of packets in sequence to any
170
   allows the user to change the required number of packets in sequence to any
171
   desired value. Use a value of 1 to essentially restore the old behavior.
171
   desired value. Use a value of 1 to essentially restore the old behavior.
172
   Also, with strictrtp on, Asterisk will now drop all packets until learning
172
   Also, with strictrtp on, Asterisk will now drop all packets until learning
173
   mode has successfully exited. These changes are based on how pjmedia handles
173
   mode has successfully exited. These changes are based on how pjmedia handles
174
   media sources and source changes.
174
   media sources and source changes.
175

    
   
175

   
176
Text Messaging
176
Text Messaging
177
--------------
177
--------------
178
 * MESSAGE(from) for incoming SIP messages now returns "display-name" <uri>
178
 * MESSAGE(from) for incoming SIP messages now returns "display-name" <uri>
179
   instead of simply the uri.  This is the format that MessageSend() can use
179
   instead of simply the uri.  This is the format that MessageSend() can use
180
   in the from parameter for outgoing SIP messages.
180
   in the from parameter for outgoing SIP messages.
181

    
   
181

   
182
res_corosync
182
res_corosync
183
------------
183
------------
184
 * A new module, res_corosync, has been introduced.  This module uses the
184
 * A new module, res_corosync, has been introduced.  This module uses the
185
   Corosync cluster enginer (http://www.corosync.org) to allow a local cluster
185
   Corosync cluster enginer (http://www.corosync.org) to allow a local cluster
186
   of Asterisk servers to both Message Waiting Indication (MWI) and/or
186
   of Asterisk servers to both Message Waiting Indication (MWI) and/or
187
   Device State (presence) information.  This module is very similar to, and
187
   Device State (presence) information.  This module is very similar to, and
188
   is a replacement for the res_ais module that was in previous releases of
188
   is a replacement for the res_ais module that was in previous releases of
189
   Asterisk.
189
   Asterisk.
190

    
   
190

   

    
   
191
AGI

    
   
192
---

    
   
193
 * A new channel variable, AGIEXITONHANGUP, has been added which allows

    
   
194
   Asterisk to behave like it did in Asterisk 1.4 and earlier where the

    
   
195
   AGI application would exit immediately after a channel hangup is detected.

    
   
196

   
191
------------------------------------------------------------------------------
197
------------------------------------------------------------------------------
192
--- Functionality changes from Asterisk 1.8 to Asterisk 10 -------------------
198
--- Functionality changes from Asterisk 1.8 to Asterisk 10 -------------------
193
------------------------------------------------------------------------------
199
------------------------------------------------------------------------------
194

    
   
200

   
195
Text Messaging
201
Text Messaging
196
--------------
202
--------------
197
 * Asterisk now has protocol independent support for processing text messages
203
 * Asterisk now has protocol independent support for processing text messages
198
   outside of a call.  Messages are routed through the Asterisk dialplan.
204
   outside of a call.  Messages are routed through the Asterisk dialplan.
199
   SIP MESSAGE and XMPP are currently supported.  There are options in
205
   SIP MESSAGE and XMPP are currently supported.  There are options in
200
   jabber.conf and sip.conf to allow enabling these features.
206
   jabber.conf and sip.conf to allow enabling these features.
201
     -> jabber.conf: see the "sendtodialplan" and "context" options.
207
     -> jabber.conf: see the "sendtodialplan" and "context" options.
202
     -> sip.conf: see the "accept_outofcall_message", "auth_message_requests"
208
     -> sip.conf: see the "accept_outofcall_message", "auth_message_requests"
203
        and "outofcall_message_context" options.
209
        and "outofcall_message_context" options.
204
   The MESSAGE() dialplan function and MessageSend() application have been
210
   The MESSAGE() dialplan function and MessageSend() application have been
205
   added to go along with this functionality.  More detailed usage information
211
   added to go along with this functionality.  More detailed usage information
206
   can be found on the Asterisk wiki (http://wiki.asterisk.org/).
212
   can be found on the Asterisk wiki (http://wiki.asterisk.org/).
207
 * If real-time text support (T.140) is negotiated, it will be preferred for
213
 * If real-time text support (T.140) is negotiated, it will be preferred for
208
   sending text via the SendText application. For example, via SIP, messages
214
   sending text via the SendText application. For example, via SIP, messages
209
   that were once sent via the SIP MESSAGE request would be sent via RTP if
215
   that were once sent via the SIP MESSAGE request would be sent via RTP if
210
   T.140 text is negotiated for a call.
216
   T.140 text is negotiated for a call.
211

    
   
217

   
212
Parking
218
Parking
213
-------
219
-------
214
 * parkedmusicclass can now be set for non-default parking lots.
220
 * parkedmusicclass can now be set for non-default parking lots.
215

    
   
221

   
216
Asterisk Manager Interface
222
Asterisk Manager Interface
217
--------------------------
223
--------------------------
218
 * PeerStatus now includes Address and Port.
224
 * PeerStatus now includes Address and Port.
219
 * Added Hold events for when the remote party puts the call on and off hold
225
 * Added Hold events for when the remote party puts the call on and off hold
220
   for chan_dahdi ISDN channels.
226
   for chan_dahdi ISDN channels.
221
 * Added new action MeetmeListRooms to list active conferences (shows same
227
 * Added new action MeetmeListRooms to list active conferences (shows same
222
   data as "meetme list" at the CLI).
228
   data as "meetme list" at the CLI).
223
 * DAHDIShowChannels, SIPshowpeer, SIPpeers, and IAXpeers now contains a
229
 * DAHDIShowChannels, SIPshowpeer, SIPpeers, and IAXpeers now contains a
224
   Description field that is set by 'description' in the channel configuration
230
   Description field that is set by 'description' in the channel configuration
225
   file.
231
   file.
226
 * Added Uniqueid header to UserEvent.
232
 * Added Uniqueid header to UserEvent.
227
 * Added new action FilterAdd to control event filters for the current session.
233
 * Added new action FilterAdd to control event filters for the current session.
228
   This requires the system permission and uses the same filter syntax as
234
   This requires the system permission and uses the same filter syntax as
229
   filters that can be defined in manager.conf
235
   filters that can be defined in manager.conf
230
 * The Unlink event is now a Bridge event with Bridgestatus: Unlink. Previous
236
 * The Unlink event is now a Bridge event with Bridgestatus: Unlink. Previous
231
   versions had some instances of the event converted, but others were left
237
   versions had some instances of the event converted, but others were left
232
   as-is. All Unlink events should now be converted to Bridge events. The AMI
238
   as-is. All Unlink events should now be converted to Bridge events. The AMI
233
   protocol version number was incremented to 1.2 as a result of this change.
239
   protocol version number was incremented to 1.2 as a result of this change.
234

    
   
240

   
235
Asterisk HTTP Server
241
Asterisk HTTP Server
236
--------------------------
242
--------------------------
237
 * The HTTP Server can bind to IPv6 addresses.
243
 * The HTTP Server can bind to IPv6 addresses.
238

    
   
244

   
239
chan_dahdi
245
chan_dahdi
240
--------------------------
246
--------------------------
241
 * Busy tone patterns featuring 2 silence and 2 tone lengths can now be used
247
 * Busy tone patterns featuring 2 silence and 2 tone lengths can now be used
242
   with busydetect.  usage example: busypattern=200,200,200,600
248
   with busydetect.  usage example: busypattern=200,200,200,600
243

    
   
249

   
244
CLI Changes
250
CLI Changes
245
--------------------------
251
--------------------------
246
 * New 'gtalk show settings' command showing the current settings loaded from
252
 * New 'gtalk show settings' command showing the current settings loaded from
247
   gtalk.conf.
253
   gtalk.conf.
248
 * The 'logger reload' command now supports an optional argument, specifying an
254
 * The 'logger reload' command now supports an optional argument, specifying an
249
   alternate configuration file to use.
255
   alternate configuration file to use.
250
 * 'dialplan add extension' command will now automatically create a context if
256
 * 'dialplan add extension' command will now automatically create a context if
251
   the specified context does not exist with a message indicated it did so.
257
   the specified context does not exist with a message indicated it did so.
252
 * 'sip show peers', 'iax show peers', and 'dahdi show peers' now contains a
258
 * 'sip show peers', 'iax show peers', and 'dahdi show peers' now contains a
253
   Description field which can be populated with 'description' in the channel
259
   Description field which can be populated with 'description' in the channel
254
   configuration files (sip.conf, iax2.conf, and chan_dahdi.conf).
260
   configuration files (sip.conf, iax2.conf, and chan_dahdi.conf).
255

    
   
261

   
256
CDR
262
CDR
257
--------------------------
263
--------------------------
258
 * The filter option in cdr_adaptive_odbc now supports negating the argument,
264
 * The filter option in cdr_adaptive_odbc now supports negating the argument,
259
   thus allowing records which do NOT match the specified filter.
265
   thus allowing records which do NOT match the specified filter.
260
 * Added ability to log CONGESTION calls to CDR
266
 * Added ability to log CONGESTION calls to CDR
261

    
   
267

   
262
CODECS
268
CODECS
263
--------------------------
269
--------------------------
264
 * Ability to define custom SILK formats in codecs.conf.
270
 * Ability to define custom SILK formats in codecs.conf.
265
 * Addition of speex32 audio format with translation.
271
 * Addition of speex32 audio format with translation.
266
 * CELT codec pass-through support and ability to define
272
 * CELT codec pass-through support and ability to define
267
   custom CELT formats in codecs.conf.
273
   custom CELT formats in codecs.conf.
268
 * Ability to read raw signed linear files with sample rates
274
 * Ability to read raw signed linear files with sample rates
269
   ranging from 8khz - 192khz.  The new file extensions introduced
275
   ranging from 8khz - 192khz.  The new file extensions introduced
270
   are .sln12, .sln24, .sln32, .sln44, .sln48, .sln96, .sln192.
276
   are .sln12, .sln24, .sln32, .sln44, .sln48, .sln96, .sln192.
271
 * Due to protocol limitations, channel drivers other than SIP (eg. IAX2, MGCP,
277
 * Due to protocol limitations, channel drivers other than SIP (eg. IAX2, MGCP,
272
   Skinny, H.323, etc) can still only support the following codecs:
278
   Skinny, H.323, etc) can still only support the following codecs:
273
   Audio: ulaw, alaw, slin, slin16, g719, g722, g723, g726, g726aal2, g729, gsm,
279
   Audio: ulaw, alaw, slin, slin16, g719, g722, g723, g726, g726aal2, g729, gsm,
274
          siren7, siren14, speex, speex16, ilbc, lpc10, adpcm
280
          siren7, siren14, speex, speex16, ilbc, lpc10, adpcm
275
   Video: h261, h263, h263p, h264, mpeg4
281
   Video: h261, h263, h263p, h264, mpeg4
276
   Image: jpeg, png
282
   Image: jpeg, png
277
   Text:  red, t140
283
   Text:  red, t140
278

    
   
284

   
279
ConfBridge
285
ConfBridge
280
--------------------------
286
--------------------------
281
 * New highly optimized and customizable ConfBridge application capable of
287
 * New highly optimized and customizable ConfBridge application capable of
282
   mixing audio at sample rates ranging from 8khz-96khz.
288
   mixing audio at sample rates ranging from 8khz-96khz.
283
 * CONFBRIDGE dialplan function capable of creating dynamic ConfBridge user
289
 * CONFBRIDGE dialplan function capable of creating dynamic ConfBridge user
284
   and bridge profiles on a channel.
290
   and bridge profiles on a channel.
285
 * CONFBRIDGE_INFO dialplan function capable of retrieving information 
291
 * CONFBRIDGE_INFO dialplan function capable of retrieving information 
286
   about a conference such as locked status and number of parties, admins,
292
   about a conference such as locked status and number of parties, admins,
287
   and marked users.
293
   and marked users.
288
 * Addition of video_mode option in confbridge.conf for adding video support
294
 * Addition of video_mode option in confbridge.conf for adding video support
289
   into a bridge profile.
295
   into a bridge profile.
290
 * Addition of the follow_talker video_mode in confbridge.conf.  This video
296
 * Addition of the follow_talker video_mode in confbridge.conf.  This video
291
   mode dynamically switches the video feed to always display the loudest talker
297
   mode dynamically switches the video feed to always display the loudest talker
292
   supplying video in the conference.
298
   supplying video in the conference.
293

    
   
299

   
294
Dialplan Variables
300
Dialplan Variables
295
------------------
301
------------------
296
 * Added ASTETCDIR, ASTMODDIR, ASTVARLIBDIR, ASTDBDIR, ASTKEYDIR, ASTDATADIR,
302
 * Added ASTETCDIR, ASTMODDIR, ASTVARLIBDIR, ASTDBDIR, ASTKEYDIR, ASTDATADIR,
297
   ASTAGIDIR, ASTSPOOLDIR, ASTRUNDIR, ASTLOGDIR which hold the equivalent
303
   ASTAGIDIR, ASTSPOOLDIR, ASTRUNDIR, ASTLOGDIR which hold the equivalent
298
   variables from asterisk.conf.
304
   variables from asterisk.conf.
299

    
   
305

   
300
Dialplan Functions
306
Dialplan Functions
301
------------------
307
------------------
302
 * Addition of the JITTERBUFFER dialplan function. This function allows
308
 * Addition of the JITTERBUFFER dialplan function. This function allows
303
   for jitterbuffering to occur on the read side of a channel.  By using
309
   for jitterbuffering to occur on the read side of a channel.  By using
304
   this function conference applications such as ConfBridge and MeetMe can
310
   this function conference applications such as ConfBridge and MeetMe can
305
   have the rx streams jitterbuffered before conference mixing occurs.
311
   have the rx streams jitterbuffered before conference mixing occurs.
306
 * Added DB_KEYS, which lists the next set of keys in the Asterisk database
312
 * Added DB_KEYS, which lists the next set of keys in the Asterisk database
307
   hierarchy.
313
   hierarchy.
308
 * Added STRREPLACE function.  This function let's the user search a variable
314
 * Added STRREPLACE function.  This function let's the user search a variable
309
   for a given string to replace with another string as many times as the
315
   for a given string to replace with another string as many times as the
310
   user specifies or just throughout the whole string.
316
   user specifies or just throughout the whole string.
311
 * Added option to CHANNEL(pickupgroup) allow reading and setting the pickupgroup of channel.
317
 * Added option to CHANNEL(pickupgroup) allow reading and setting the pickupgroup of channel.
312
 * Mark VALID_EXTEN() deprecated in favor of DIALPLAN_EXISTS()
318
 * Mark VALID_EXTEN() deprecated in favor of DIALPLAN_EXISTS()
313
 * Added extensions to chan_ooh323 in function CHANNEL()
319
 * Added extensions to chan_ooh323 in function CHANNEL()
314

    
   
320

   
315
libpri channel driver (chan_dahdi) DAHDI changes
321
libpri channel driver (chan_dahdi) DAHDI changes
316
--------------------------
322
--------------------------
317
 * Added moh_signaling option to specify what to do when the channel's bridged
323
 * Added moh_signaling option to specify what to do when the channel's bridged
318
   peer puts the ISDN channel on hold.
324
   peer puts the ISDN channel on hold.
319
 * Added display_send and display_receive options to control how the display ie
325
 * Added display_send and display_receive options to control how the display ie
320
   is handled.  To send display text from the dialplan use the SendText()
326
   is handled.  To send display text from the dialplan use the SendText()
321
   application when the option is enabled.
327
   application when the option is enabled.
322
 * Added mcid_send option to allow sending a MCID request on a span.
328
 * Added mcid_send option to allow sending a MCID request on a span.
323

    
   
329

   
324
Calendaring
330
Calendaring
325
--------------------------
331
--------------------------
326
 * Added setvar option to calendar.conf to allow setting channel variables on
332
 * Added setvar option to calendar.conf to allow setting channel variables on
327
   notification channels.
333
   notification channels.
328
 * Added "calendar show types" CLI command to list registered calendar
334
 * Added "calendar show types" CLI command to list registered calendar
329
   connectors.
335
   connectors.
330

    
   
336

   
331
MixMonitor
337
MixMonitor
332
--------------------------
338
--------------------------
333
 * Added two new options, r and t with file name arguments to record 
339
 * Added two new options, r and t with file name arguments to record 
334
   single direction (unmixed) audio recording separate from the bidirectional
340
   single direction (unmixed) audio recording separate from the bidirectional
335
   (mixed) recording.  The mixed file name argument is optional now as long
341
   (mixed) recording.  The mixed file name argument is optional now as long
336
   as at least one recording option is used.
342
   as at least one recording option is used.
337

    
   
343

   
338
FollowMe
344
FollowMe
339
--------------------------
345
--------------------------
340
 * Added a new option, l, which will disable local call optimization for
346
 * Added a new option, l, which will disable local call optimization for
341
   channels involved with the FollowMe thread.  Use this option to improve
347
   channels involved with the FollowMe thread.  Use this option to improve
342
   compatability for a FollowMe call with certain dialplan apps, options, and
348
   compatability for a FollowMe call with certain dialplan apps, options, and
343
   functions.
349
   functions.
344

    
   
350

   
345
Meetme
351
Meetme
346
--------------------------
352
--------------------------
347
 * Added option "k" that will automatically close the conference when there's
353
 * Added option "k" that will automatically close the conference when there's
348
   only one person left when a user exits the conference.
354
   only one person left when a user exits the conference.
349

    
   
355

   
350
CEL
356
CEL
351
--------------------------
357
--------------------------
352
 * cel_pgsql now supports the 'extra' column for data added using the
358
 * cel_pgsql now supports the 'extra' column for data added using the
353
   CELGenUserEvent() application.
359
   CELGenUserEvent() application.
354

    
   
360

   
355
pbx_lua
361
pbx_lua
356
--------------------------
362
--------------------------
357
 * Support for defining hints has been added to pbx_lua.  See the 'hints' table
363
 * Support for defining hints has been added to pbx_lua.  See the 'hints' table
358
   in the sample extensions.lua file for syntax details.
364
   in the sample extensions.lua file for syntax details.
359
 * Applications that perform jumps in the dialplan such as Goto will now
365
 * Applications that perform jumps in the dialplan such as Goto will now
360
   execute properly.  When pbx_lua detects that the context, extension, or
366
   execute properly.  When pbx_lua detects that the context, extension, or
361
   priority we are executing on has changed it will immediately return control
367
   priority we are executing on has changed it will immediately return control
362
   to the asterisk PBX engine.  Currently the engine cannot detect a Goto to
368
   to the asterisk PBX engine.  Currently the engine cannot detect a Goto to
363
   the priority after the currently executing priority.
369
   the priority after the currently executing priority.
364
 * An autoservice is now started by default for pbx_lua channels.  It can be
370
 * An autoservice is now started by default for pbx_lua channels.  It can be
365
   stopped and restarted using the autoservice_stop() and autoservice_start()
371
   stopped and restarted using the autoservice_stop() and autoservice_start()
366
   functions.
372
   functions.
367

    
   
373

   
368
res_fax
374
res_fax
369
--------------------------
375
--------------------------
370
 * The ReceiveFAXStatus and SendFAXStatus manager events have been consolidated
376
 * The ReceiveFAXStatus and SendFAXStatus manager events have been consolidated
371
   into a FAXStatus event with an 'Operation' header that will be either
377
   into a FAXStatus event with an 'Operation' header that will be either
372
   'send', 'receive', and 'gateway'.
378
   'send', 'receive', and 'gateway'.
373
 * T.38 gateway functionality has been added to res_fax (and res_fax_spandsp).
379
 * T.38 gateway functionality has been added to res_fax (and res_fax_spandsp).
374
   Set FAXOPT(gateway)=yes to enable this functionality on a channel. This
380
   Set FAXOPT(gateway)=yes to enable this functionality on a channel. This
375
   feature will handle converting a fax call between an audio T.30 fax terminal
381
   feature will handle converting a fax call between an audio T.30 fax terminal
376
   and an IFP T.38 fax terminal.
382
   and an IFP T.38 fax terminal.
377

    
   
383

   
378
SIP Changes
384
SIP Changes
379
-----------
385
-----------
380
 * Add T38 support for REJECTED state where T.38 Negotiation is explicitly rejected.
386
 * Add T38 support for REJECTED state where T.38 Negotiation is explicitly rejected.
381
 * Add option encryption_taglen to set auth taglen only 32 and 80 are supported currently.
387
 * Add option encryption_taglen to set auth taglen only 32 and 80 are supported currently.
382
 * SIP now generates security events using the Security Events Framework for REGISTER and INVITE.
388
 * SIP now generates security events using the Security Events Framework for REGISTER and INVITE.
383

    
   
389

   
384
Queue changes
390
Queue changes
385
-------------
391
-------------
386
 * Added general option negative_penalty_invalid default off. when set
392
 * Added general option negative_penalty_invalid default off. when set
387
   members are seen as invalid/logged out when there penalty is negative.
393
   members are seen as invalid/logged out when there penalty is negative.
388
   for realtime members when set remove from queue will set penalty to -1.
394
   for realtime members when set remove from queue will set penalty to -1.
389
 * Added queue option autopausedelay when autopause is enabled it will be
395
 * Added queue option autopausedelay when autopause is enabled it will be
390
   delayed for this number of seconds since last successful call if there
396
   delayed for this number of seconds since last successful call if there
391
   was no prior call the agent will be autopaused immediately.
397
   was no prior call the agent will be autopaused immediately.
392
 * Added member option ignorebusy this when set and ringinuse is not
398
 * Added member option ignorebusy this when set and ringinuse is not
393
   will allow per member control of multiple calls as ringinuse does for
399
   will allow per member control of multiple calls as ringinuse does for
394
   the Queue.
400
   the Queue.
395
 * Added global option check_state_unknown to enforce checking of device state
401
 * Added global option check_state_unknown to enforce checking of device state
396
   when the device state is unknown app_queue will see unknown as available.
402
   when the device state is unknown app_queue will see unknown as available.
397

    
   
403

   
398
Applications
404
Applications
399
------------
405
------------
400
 * Added 'v' option to MeetMe to play voicemail greetings when a user joins/leaves
406
 * Added 'v' option to MeetMe to play voicemail greetings when a user joins/leaves
401
   a MeetMe conference
407
   a MeetMe conference
402
 * Added 'k' option to MeetMe to automatically kill the conference when there's only
408
 * Added 'k' option to MeetMe to automatically kill the conference when there's only
403
   one participant left (much like a normal call bridge)
409
   one participant left (much like a normal call bridge)
404
 * Added extra argument to Originate to set timeout.
410
 * Added extra argument to Originate to set timeout.
405

    
   
411

   
406
Asterisk Database
412
Asterisk Database
407
-----------------
413
-----------------
408
 * The internal Asterisk database has been switched from Berkeley DB 1.86 to
414
 * The internal Asterisk database has been switched from Berkeley DB 1.86 to
409
   SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
415
   SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
410
   utility in the UTILS section of menuselect. If an existing astdb is found and no
416
   utility in the UTILS section of menuselect. If an existing astdb is found and no
411
   astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
417
   astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
412
   convert an existing astdb to the SQLite3 version automatically at runtime.
418
   convert an existing astdb to the SQLite3 version automatically at runtime.
413

    
   
419

   
414
Asterisk Modules
420
Asterisk Modules
415
----------------
421
----------------
416
 * Modules marked as deprecated are no longer marked as building by default. Enabling
422
 * Modules marked as deprecated are no longer marked as building by default. Enabling
417
   these modules is still available via menuselect.
423
   these modules is still available via menuselect.
418

    
   
424

   
419
IAX2 Changes
425
IAX2 Changes
420
------------
426
------------
421
 * authdebug is now disabled by default. To enable this functionaility again
427
 * authdebug is now disabled by default. To enable this functionaility again
422
   set authdebug = yes in iax.conf.
428
   set authdebug = yes in iax.conf.
423

    
   
429

   
424
RTP Changes
430
RTP Changes
425
-----------
431
-----------
426
 * The rtp.conf setting "strictrtp" is now enabled by default. In previous
432
 * The rtp.conf setting "strictrtp" is now enabled by default. In previous
427
   releases it was disabled.
433
   releases it was disabled.
428

    
   
434

   
429
PBX Core
435
PBX Core
430
--------
436
--------
431
 * The PBX core previously made a call with a non-existing extension test for
437
 * The PBX core previously made a call with a non-existing extension test for
432
   extension s@default and jump there if the extension existed.
438
   extension s@default and jump there if the extension existed.
433
   This was a bad default behaviour and violated the principle of least surprise.
439
   This was a bad default behaviour and violated the principle of least surprise.
434
   It has therefore been changed in this release. It may affect some
440
   It has therefore been changed in this release. It may affect some
435
   applications and configurations that rely on this behaviour. Most channel
441
   applications and configurations that rely on this behaviour. Most channel
436
   drivers have avoided this for many releases by testing whether the extension
442
   drivers have avoided this for many releases by testing whether the extension
437
   called exists before starting the PBX and generating a local error.
443
   called exists before starting the PBX and generating a local error.
438
   This behaviour still exists and works as before.
444
   This behaviour still exists and works as before.
439

    
   
445

   
440
   Extension "s" is used when no extension is given in a channel driver,
446
   Extension "s" is used when no extension is given in a channel driver,
441
   like immediate answer in DAHDI or calling to a domain with no user part
447
   like immediate answer in DAHDI or calling to a domain with no user part
442
   in a SIP uri.
448
   in a SIP uri.
443

    
   
449

   
444
------------------------------------------------------------------------------
450
------------------------------------------------------------------------------
445
--- Functionality changes from Asterisk 1.6.2 to Asterisk 1.8 ----------------
451
--- Functionality changes from Asterisk 1.6.2 to Asterisk 1.8 ----------------
446
------------------------------------------------------------------------------
452
------------------------------------------------------------------------------
447

    
   
453

   
448
SIP Changes
454
SIP Changes
449
-----------
455
-----------
450
 * Due to potential username discovery vulnerabilities, the 'nat' setting in sip.conf
456
 * Due to potential username discovery vulnerabilities, the 'nat' setting in sip.conf
451
   now defaults to force_rport. It is very important that phones requiring nat=no be
457
   now defaults to force_rport. It is very important that phones requiring nat=no be
452
   specifically set as such instead of relying on the default setting. If at all
458
   specifically set as such instead of relying on the default setting. If at all
453
   possible, all devices should have nat settings configured in the general section as
459
   possible, all devices should have nat settings configured in the general section as
454
   opposed to configuring nat per-device.
460
   opposed to configuring nat per-device.
455
 * Added preferred_codec_only option in sip.conf. This feature limits the joint
461
 * Added preferred_codec_only option in sip.conf. This feature limits the joint
456
   codecs sent in response to an INVITE to the single most preferred codec.
462
   codecs sent in response to an INVITE to the single most preferred codec.
457
 * Added SIP_CODEC_OUTBOUND dialplan variable which can be used to set the codec
463
 * Added SIP_CODEC_OUTBOUND dialplan variable which can be used to set the codec
458
   to be used for the outgoing call. It must be one of the codecs configured
464
   to be used for the outgoing call. It must be one of the codecs configured
459
   for the device.
465
   for the device.
460
 * Added tlsprivatekey option to sip.conf.  This allows a separate .pem file
466
 * Added tlsprivatekey option to sip.conf.  This allows a separate .pem file
461
   to be used for holding a private key.  If tlsprivatekey is not specified,
467
   to be used for holding a private key.  If tlsprivatekey is not specified,
462
   tlscertfile is searched for both public and private key.
468
   tlscertfile is searched for both public and private key.
463
 * Added tlsclientmethod option to sip.conf.  This allows the protocol for
469
 * Added tlsclientmethod option to sip.conf.  This allows the protocol for
464
   outbound client connections to be specified.
470
   outbound client connections to be specified.
465
 * The sendrpid parameter has been expanded to include the options
471
 * The sendrpid parameter has been expanded to include the options
466
   'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID
472
   'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID
467
   header to be sent (equivalent to setting sendrpid=yes) and setting
473
   header to be sent (equivalent to setting sendrpid=yes) and setting
468
   sendrpid to 'pai' will cause P-Asserted-Identity header to be sent.
474
   sendrpid to 'pai' will cause P-Asserted-Identity header to be sent.
469
 * The 'ignoresdpversion' behavior has been made automatic when the SDP received
475
 * The 'ignoresdpversion' behavior has been made automatic when the SDP received
470
   is in response to a T.38 re-INVITE that Asterisk initiated. In this situation,
476
   is in response to a T.38 re-INVITE that Asterisk initiated. In this situation,
471
   since the call will fail if Asterisk does not process the incoming SDP, Asterisk
477
   since the call will fail if Asterisk does not process the incoming SDP, Asterisk
472
   will accept the SDP even if the SDP version number is not properly incremented,
478
   will accept the SDP even if the SDP version number is not properly incremented,
473
   but will generate a warning in the log indicating that the SIP peer that sent
479
   but will generate a warning in the log indicating that the SIP peer that sent
474
   the SDP should have the 'ignoresdpversion' option set.
480
   the SDP should have the 'ignoresdpversion' option set.
475
 * The 'nat' option has now been been changed to have yes, no, force_rport, and
481
 * The 'nat' option has now been been changed to have yes, no, force_rport, and
476
   comedia as valid values. Setting it to yes forces RFC 3581 behavior and enables
482
   comedia as valid values. Setting it to yes forces RFC 3581 behavior and enables
477
   symmetric RTP support. Setting it to no only enables RFC 3581 behavior if the
483
   symmetric RTP support. Setting it to no only enables RFC 3581 behavior if the
478
   remote side requests it and disables symmetric RTP support. Setting it to
484
   remote side requests it and disables symmetric RTP support. Setting it to
479
   force_rport forces RFC 3581 behavior and disables symmetric RTP support.
485
   force_rport forces RFC 3581 behavior and disables symmetric RTP support.
480
   Setting it to comedia enables RFC 3581 behavior if the remote side requests it
486
   Setting it to comedia enables RFC 3581 behavior if the remote side requests it
481
   and enables symmetric RTP support.
487
   and enables symmetric RTP support.
482
 * Slave SIP channels now set HASH(SIP_CAUSE,<slave-channel-name>) on each
488
 * Slave SIP channels now set HASH(SIP_CAUSE,<slave-channel-name>) on each
483
   response.  This permits the master channel to know how each channel dialled
489
   response.  This permits the master channel to know how each channel dialled
484
   in a multi-channel setup resolved in an individual way. This carries a
490
   in a multi-channel setup resolved in an individual way. This carries a
485
   performance penalty and can be disabled in sip.conf using the
491
   performance penalty and can be disabled in sip.conf using the
486
   'storesipcause' option.
492
   'storesipcause' option.
487
 * Added 'externtcpport' and 'externtlsport' options to allow custom port
493
 * Added 'externtcpport' and 'externtlsport' options to allow custom port
488
   configuration for the externip and externhost options when tcp or tls is used.
494
   configuration for the externip and externhost options when tcp or tls is used.
489
 * Added support for message body (stored in content variable) to SIP NOTIFY message
495
 * Added support for message body (stored in content variable) to SIP NOTIFY message
490
   accessible via AMI and CLI.
496
   accessible via AMI and CLI.
491
 * Added 'media_address' configuration option which can be used to explicitly specify
497
 * Added 'media_address' configuration option which can be used to explicitly specify
492
   the IP address to use in the SDP for media (audio, video, and text) streams.
498
   the IP address to use in the SDP for media (audio, video, and text) streams.
493
 * Added 'unsolicited_mailbox' configuration option which specifies the virtual mailbox
499
 * Added 'unsolicited_mailbox' configuration option which specifies the virtual mailbox
494
   that the new/old count should be stored on if an unsolicited MWI NOTIFY message is
500
   that the new/old count should be stored on if an unsolicited MWI NOTIFY message is
495
   received.
501
   received.
496
 * Added 'use_q850_reason' configuration option for generating and parsing
502
 * Added 'use_q850_reason' configuration option for generating and parsing
497
   if available  Reason: Q.850;cause=<cause code> header. It is implemented
503
   if available  Reason: Q.850;cause=<cause code> header. It is implemented
498
   in some gateways for better passing PRI/SS7 cause codes via SIP.
504
   in some gateways for better passing PRI/SS7 cause codes via SIP.
499
 * When dialing SIP peers, a new component may be added to the end of the dialstring
505
 * When dialing SIP peers, a new component may be added to the end of the dialstring
500
   to indicate that a specific remote IP address or host should be used when dialing
506
   to indicate that a specific remote IP address or host should be used when dialing
501
   the particular peer. The dialstring format is SIP/peer/exten/host_or_IP.
507
   the particular peer. The dialstring format is SIP/peer/exten/host_or_IP.
502
 * SRTP SDES support for encrypting calls to/from Asterisk over SIP. The
508
 * SRTP SDES support for encrypting calls to/from Asterisk over SIP. The
503
   ability to selectively force bridged channels to also be encrypted is also
509
   ability to selectively force bridged channels to also be encrypted is also
504
   implemented. Branching in the dialplan can be done based on whether or not
510
   implemented. Branching in the dialplan can be done based on whether or not
505
   a channel has secure media and/or signaling.
511
   a channel has secure media and/or signaling.
506
 * Added directmediapermit/directmediadeny to limit which peers can send direct media
512
 * Added directmediapermit/directmediadeny to limit which peers can send direct media
507
   to each other
513
   to each other
508
 * Added the 'snom_aoc_enabled' option to turn on support for sending Advice of
514
 * Added the 'snom_aoc_enabled' option to turn on support for sending Advice of
509
   Charge messages to snom phones.
515
   Charge messages to snom phones.
510
 * Added support for G.719 media streams.
516
 * Added support for G.719 media streams.
511
 * Added support for 16khz signed linear media streams.
517
 * Added support for 16khz signed linear media streams.
512
 * SIP is now able to bind to and communicate with IPv6 addresses. In addition,
518
 * SIP is now able to bind to and communicate with IPv6 addresses. In addition,
513
   RTP has been outfitted with the same abilities.
519
   RTP has been outfitted with the same abilities.
514
 * Added support for setting the Max-Forwards: header in SIP requests. Setting is
520
 * Added support for setting the Max-Forwards: header in SIP requests. Setting is
515
   available in device configurations as well as in the dial plan.
521
   available in device configurations as well as in the dial plan.
516
 * Addition of the 'subscribe_network_change' option for turning on and off
522
 * Addition of the 'subscribe_network_change' option for turning on and off
517
   res_stun_monitor module support in chan_sip.
523
   res_stun_monitor module support in chan_sip.
518
 * Addition of the 'auth_options_requests' option for turning on and off
524
 * Addition of the 'auth_options_requests' option for turning on and off
519
   authentication for OPTIONS requests in chan_sip.
525
   authentication for OPTIONS requests in chan_sip.
520

    
   
526

   
521
Configuration files
527
Configuration files
522
-------------------
528
-------------------
523
 * Add #tryinclude statement for config files.  This provides the same
529
 * Add #tryinclude statement for config files.  This provides the same
524
   functionality as the #include statement however an asterisk module will
530
   functionality as the #include statement however an asterisk module will
525
   still load if the filename does not exist.  Using the #include statement
531
   still load if the filename does not exist.  Using the #include statement
526
   Asterisk will not allow the module to load.
532
   Asterisk will not allow the module to load.
527

    
   
533

   
528
IAX2 Changes
534
IAX2 Changes
529
-----------
535
-----------
530
 * Added rtsavesysname option into iax.conf to allow the systname to be saved
536
 * Added rtsavesysname option into iax.conf to allow the systname to be saved
531
   on realtime updates.
537
   on realtime updates.
532
 * Added the ability for chan_iax2 to inform the dialplan whether or not
538
 * Added the ability for chan_iax2 to inform the dialplan whether or not
533
   encryption is being used. This interoperates with the SIP SRTP implementation
539
   encryption is being used. This interoperates with the SIP SRTP implementation
534
   so that a secure SIP call can be bridged to a secure IAX call when the
540
   so that a secure SIP call can be bridged to a secure IAX call when the
535
   dialplan requires bridged channels to be "secure".
541
   dialplan requires bridged channels to be "secure".
536
 * Addition of the 'subscribe_network_change' option for turning on and off
542
 * Addition of the 'subscribe_network_change' option for turning on and off
537
   res_stun_monitor module support in chan_iax.
543
   res_stun_monitor module support in chan_iax.
538

    
   
544

   
539

    
   
545

   
540
MGCP Changes
546
MGCP Changes
541
------------
547
------------
542
 * Added ability to preset channel variables on indicated lines with the setvar
548
 * Added ability to preset channel variables on indicated lines with the setvar
543
   configuration option.  Also, clearvars=all resets the list of variables back
549
   configuration option.  Also, clearvars=all resets the list of variables back
544
   to none.
550
   to none.
545
 * PacketCable NCS 1.0 support has been added for Docsis/Eurodocsis Networks.
551
 * PacketCable NCS 1.0 support has been added for Docsis/Eurodocsis Networks.
546
   See configs/res_pktccops.conf for more information.
552
   See configs/res_pktccops.conf for more information.
547

    
   
553

   
548
XMPP Google Talk/Jingle changes
554
XMPP Google Talk/Jingle changes
549
-------------------------------
555
-------------------------------
550
  * Added the externip option to gtalk.conf.
556
  * Added the externip option to gtalk.conf.
551
  * Added the stunaddr option to gtalk.conf which allows for the automatic
557
  * Added the stunaddr option to gtalk.conf which allows for the automatic
552
    retrieval of the external ip from a stun server.
558
    retrieval of the external ip from a stun server.
553

    
   
559

   
554
Applications
560
Applications
555
------------
561
------------
556
 * Added 'p' option to PickupChan() to allow for picking up channel by the first
562
 * Added 'p' option to PickupChan() to allow for picking up channel by the first
557
   match to a partial channel name.
563
   match to a partial channel name.
558
 * Added .m3u support for Mp3Player application.
564
 * Added .m3u support for Mp3Player application.
559
 * Added progress option to the app_dial D() option.  When progress DTMF is
565
 * Added progress option to the app_dial D() option.  When progress DTMF is
560
   present, those values are sent immediately upon receiving a PROGRESS message
566
   present, those values are sent immediately upon receiving a PROGRESS message
561
   regardless if the call has been answered or not.
567
   regardless if the call has been answered or not.
562
 * Added functionality to the app_dial F() option to continue with execution
568
 * Added functionality to the app_dial F() option to continue with execution
563
   at the current location when no parameters are provided.
569
   at the current location when no parameters are provided.
564
 * Added the 'a' option to app_dial to answer the calling channel before any
570
 * Added the 'a' option to app_dial to answer the calling channel before any
565
   announcements or macros are executed.
571
   announcements or macros are executed.
566
 * Modified app_dial to set answertime when the called channel answers even if
572
 * Modified app_dial to set answertime when the called channel answers even if
567
   the called channel hangs up during playback of an announcement.
573
   the called channel hangs up during playback of an announcement.
568
 * Modified app_dial 'r' option to support an additional parameter to play an
574
 * Modified app_dial 'r' option to support an additional parameter to play an
569
   indication tone from indications.conf
575
   indication tone from indications.conf
570
 * Added c() option to app_chanspy. This option allows custom DTMF to be set
576
 * Added c() option to app_chanspy. This option allows custom DTMF to be set
571
   to cycle through the next available channel.  By default this is still '*'.
577
   to cycle through the next available channel.  By default this is still '*'.
572
 * Added x() option to app_chanspy.  This option allows DTMF to be set to
578
 * Added x() option to app_chanspy.  This option allows DTMF to be set to
573
   exit the application.
579
   exit the application.
574
 * The Voicemail application has been improved to automatically ignore messages
580
 * The Voicemail application has been improved to automatically ignore messages
575
   that only contain silence.
581
   that only contain silence.
576
 * If you set maxmsg to 0 in voicemail.conf, Voicemail will consider the
582
 * If you set maxmsg to 0 in voicemail.conf, Voicemail will consider the
577
   associated mailbox(es) to be greetings-only.
583
   associated mailbox(es) to be greetings-only.
578
 * The ChanSpy application now has the 'S' option, which makes the application
584
 * The ChanSpy application now has the 'S' option, which makes the application
579
   automatically exit once it hits a point where no more channels are available
585
   automatically exit once it hits a point where no more channels are available
580
   to spy on.
586
   to spy on.
581
 * The ChanSpy application also now has the 'E' option, which spies on a single
587
 * The ChanSpy application also now has the 'E' option, which spies on a single
582
   channel and exits when that channel hangs up.
588
   channel and exits when that channel hangs up.
583
 * The MeetMe application now turns on the DENOISE() function by default, for
589
 * The MeetMe application now turns on the DENOISE() function by default, for
584
   each participant.  In our tests, this has significantly decreased background
590
   each participant.  In our tests, this has significantly decreased background
585
   noise (especially noisy data centers).
591
   noise (especially noisy data centers).
586
 * Voicemail now permits storage of secrets in a separate file, located in the
592
 * Voicemail now permits storage of secrets in a separate file, located in the
587
   spool directory of each individual user.  The control for this is located in
593
   spool directory of each individual user.  The control for this is located in
588
   the "passwordlocation" option in voicemail.conf.  Please see the sample
594
   the "passwordlocation" option in voicemail.conf.  Please see the sample
589
   configuration for more information.
595
   configuration for more information.
590
 * The ChanIsAvail application now exposes the returned cause code using a separate
596
 * The ChanIsAvail application now exposes the returned cause code using a separate
591
   variable, AVAILCAUSECODE, instead of overwriting the device state in AVAILSTATUS.
597
   variable, AVAILCAUSECODE, instead of overwriting the device state in AVAILSTATUS.
592
 * Added 'd' option to app_followme.  This option disables the "Please hold"
598
 * Added 'd' option to app_followme.  This option disables the "Please hold"
593
   announcement.
599
   announcement.
594
 * Added 'y' option to app_record. This option enables a mode where any DTMF digit
600
 * Added 'y' option to app_record. This option enables a mode where any DTMF digit
595
   received will terminate recording.
601
   received will terminate recording.
596
 * Voicemail now supports per mailbox settings for folders when using IMAP storage.
602
 * Voicemail now supports per mailbox settings for folders when using IMAP storage.
597
   Previously the folder could only be set per context, but has now been extended 
603
   Previously the folder could only be set per context, but has now been extended 
598
   using the imapfolder option.
604
   using the imapfolder option.
599
 * Voicemail now supports per mailbox settings for nextaftercmd and minsecs.
605
 * Voicemail now supports per mailbox settings for nextaftercmd and minsecs.
600
 * Voicemail now allows the pager date format to be specified separately from the
606
 * Voicemail now allows the pager date format to be specified separately from the
601
   email date format.
607
   email date format.
602
 * New applications JabberJoin, JabberLeave, and JabberSendGroup have been added
608
 * New applications JabberJoin, JabberLeave, and JabberSendGroup have been added
603
   to allow joining, leaving, and sending text to group chats.
609
   to allow joining, leaving, and sending text to group chats.
604
 * MeetMe has a new option 'G' to play an announcement before joining a conference.
610
 * MeetMe has a new option 'G' to play an announcement before joining a conference.
605
 * Page has a new option 'A(x)' which will playback an announcement simultaneously
611
 * Page has a new option 'A(x)' which will playback an announcement simultaneously
606
   to all paged phones (and optionally excluding the caller's one using the new
612
   to all paged phones (and optionally excluding the caller's one using the new
607
   option 'n') before the call is bridged.
613
   option 'n') before the call is bridged.
608
 * The 'f' option to Dial has been augmented to take an optional argument. If no
614
 * The 'f' option to Dial has been augmented to take an optional argument. If no
609
   argument is provided, the 'f' option works as it always has. If an argument is
615
   argument is provided, the 'f' option works as it always has. If an argument is
610
   provided, then the connected party information of all outgoing channels created
616
   provided, then the connected party information of all outgoing channels created
611
   during the Dial will be set to the argument passed to the 'f' option.
617
   during the Dial will be set to the argument passed to the 'f' option.
612
 * Dial now inherits the GOSUB_RETVAL from the peer, when the U() option runs a
618
 * Dial now inherits the GOSUB_RETVAL from the peer, when the U() option runs a
613
   Gosub on the peer.
619
   Gosub on the peer.
614
 * The OSP lookup application adds in/outbound network ID, optional security,
620
 * The OSP lookup application adds in/outbound network ID, optional security,
615
   number portability, QoS reporting, destination IP port, custom info and service
621
   number portability, QoS reporting, destination IP port, custom info and service
616
   type features.
622
   type features.
617
 * Added new application VMSayName that will play the recorded name of the voicemail
623
 * Added new application VMSayName that will play the recorded name of the voicemail
618
   user if it exists, otherwise will play the mailbox number.
624
   user if it exists, otherwise will play the mailbox number.
619
 * Added custom device states to ConfBridge bridges.  Use 'confbridge:<name>' to
625
 * Added custom device states to ConfBridge bridges.  Use 'confbridge:<name>' to
620
   retrieve state for a particular bridge, where <name> is the conference name
626
   retrieve state for a particular bridge, where <name> is the conference name
621
 * app_directory now allows exiting at any time using the operator or pound key.
627
 * app_directory now allows exiting at any time using the operator or pound key.
622
 * Voicemail now supports setting a locale per-mailbox.
628
 * Voicemail now supports setting a locale per-mailbox.
623
 * Two new applications are provided for declining counting phrases in multiple
629
 * Two new applications are provided for declining counting phrases in multiple
624
   languages.  See the application notes for SayCountedNoun and SayCountedAdj for
630
   languages.  See the application notes for SayCountedNoun and SayCountedAdj for
625
   more information.
631
   more information.
626
 * Voicemail now runs the externnotify script when pollmailboxes is activated and
632
 * Voicemail now runs the externnotify script when pollmailboxes is activated and
627
   notices a change.
633
   notices a change.
628
 * Voicemail now includes rdnis within msgXXXX.txt file.
634
 * Voicemail now includes rdnis within msgXXXX.txt file.
629
 * Added 'D' command to ExternalIVR full details in doc/externalivr.txt
635
 * Added 'D' command to ExternalIVR full details in doc/externalivr.txt
630
 * ParkedCall and Park can now specify the parking lot to use.
636
 * ParkedCall and Park can now specify the parking lot to use.
631

    
   
637

   
632
Dialplan Functions
638
Dialplan Functions
633
------------------
639
------------------
634
 * SRVQUERY and SRVRESULT functions added. This can be used to query and iterate
640
 * SRVQUERY and SRVRESULT functions added. This can be used to query and iterate
635
   over SRV records associated with a specific service. From the CLI, type
641
   over SRV records associated with a specific service. From the CLI, type
636
   'core show function SRVQUERY' and 'core show function SRVRESULT' for more
642
   'core show function SRVQUERY' and 'core show function SRVRESULT' for more
637
   details on how these may be used.
643
   details on how these may be used.
638
 * PITCH_SHIFT dialplan function added. This function can be used to modify the
644
 * PITCH_SHIFT dialplan function added. This function can be used to modify the
639
   pitch of a channel's tx and rx audio streams.
645
   pitch of a channel's tx and rx audio streams.
640
 * Added new dialplan functions CONNECTEDLINE and REDIRECTING which permits
646
 * Added new dialplan functions CONNECTEDLINE and REDIRECTING which permits
641
   setting various connected line and redirecting party information.
647
   setting various connected line and redirecting party information.
642
 * CALLERID and CONNECTEDLINE dialplan functions have been extended to
648
 * CALLERID and CONNECTEDLINE dialplan functions have been extended to
643
   support ISDN subaddressing.
649
   support ISDN subaddressing.
644
 * The CHANNEL() function now supports the "name" and "checkhangup" options.
650
 * The CHANNEL() function now supports the "name" and "checkhangup" options.
645
 * For DAHDI channels, the CHANNEL() dialplan function now allows
651
 * For DAHDI channels, the CHANNEL() dialplan function now allows
646
   the dialplan to request changes in the configuration of the active
652
   the dialplan to request changes in the configuration of the active
647
   echo canceller on the channel (if any), for the current call only.
653
   echo canceller on the channel (if any), for the current call only.
648
   The syntax is:
654
   The syntax is:
649

    
   
655

   
650
   exten => s,n,Set(CHANNEL(echocan_mode)=off)
656
   exten => s,n,Set(CHANNEL(echocan_mode)=off)
651

    
   
657

   
652
   The possible values are:
658
   The possible values are:
653

    
   
659

   
654
     on - normal mode (the echo canceller is actually reinitialized)
660
     on - normal mode (the echo canceller is actually reinitialized)
655
     off - disabled
661
     off - disabled
656
     fax - FAX/data mode (NLP disabled if possible, otherwise completely
662
     fax - FAX/data mode (NLP disabled if possible, otherwise completely
657
           disabled)
663
           disabled)
658
     voice - voice mode (returns from FAX mode, reverting the changes that
664
     voice - voice mode (returns from FAX mode, reverting the changes that
659
             were made when FAX mode was requested)
665
             were made when FAX mode was requested)
660
 * Added new dialplan function MASTER_CHANNEL(), which permits retrieving
666
 * Added new dialplan function MASTER_CHANNEL(), which permits retrieving
661
   and setting variables on the channel which created the current channel.
667
   and setting variables on the channel which created the current channel.
662
   Administrators should take care to avoid naming conflicts, when multiple
668
   Administrators should take care to avoid naming conflicts, when multiple
663
   channels are dialled at once, especially when used with the Local channel
669
   channels are dialled at once, especially when used with the Local channel
664
   construct (which all could set variables on the master channel).  Usage
670
   construct (which all could set variables on the master channel).  Usage
665
   of the HASH() dialplan function, with the key set to the name of the slave
671
   of the HASH() dialplan function, with the key set to the name of the slave
666
   channel, is one approach that will avoid conflicts.
672
   channel, is one approach that will avoid conflicts.
667
 * Added new dialplan function MUTEAUDIO() for muting inbound and/or outbound
673
 * Added new dialplan function MUTEAUDIO() for muting inbound and/or outbound
668
   audio in a channel.
674
   audio in a channel.
669
 * func_odbc now allows multiple row results to be retrieved without using
675
 * func_odbc now allows multiple row results to be retrieved without using
670
   mode=multirow.  If rowlimit is set, then additional rows may be retrieved
676
   mode=multirow.  If rowlimit is set, then additional rows may be retrieved
671
   from the same query by using the name of the function which retrieved the
677
   from the same query by using the name of the function which retrieved the
672
   first row as an argument to ODBC_FETCH().
678
   first row as an argument to ODBC_FETCH().
673
 * Added JABBER_RECEIVE, which permits receiving XMPP messages from the
679
 * Added JABBER_RECEIVE, which permits receiving XMPP messages from the
674
   dialplan. This function returns the content of the received message.
680
   dialplan. This function returns the content of the received message.
675
 * Added REPLACE, which searches a given variable name for a set of characters,
681
 * Added REPLACE, which searches a given variable name for a set of characters,
676
   then either replaces them with a single character or deletes them.
682
   then either replaces them with a single character or deletes them.
677
 * Added PASSTHRU, which literally passes the same argument back as its return
683
 * Added PASSTHRU, which literally passes the same argument back as its return
678
   value.  The intent is to be able to use a literal string argument to
684
   value.  The intent is to be able to use a literal string argument to
679
   functions that currently require a variable name as an argument.
685
   functions that currently require a variable name as an argument.
680
 * HASH-associated variables now can be inherited across channel creation, by
686
 * HASH-associated variables now can be inherited across channel creation, by
681
   prefixing the name of the hash at assignment with the appropriate number of
687
   prefixing the name of the hash at assignment with the appropriate number of
682
   underscores, just like variables.
688
   underscores, just like variables.
683
 * GROUP_MATCH_COUNT has been improved to allow regex matching on category
689
 * GROUP_MATCH_COUNT has been improved to allow regex matching on category
684
 * CHANNEL(secure_bridge_signaling) and CHANNEL(secure_bridge_media) to set/get
690
 * CHANNEL(secure_bridge_signaling) and CHANNEL(secure_bridge_media) to set/get
685
   whether or not channels that are bridged to the current channel will be
691
   whether or not channels that are bridged to the current channel will be
686
   required to have secure signaling and/or media.
692
   required to have secure signaling and/or media.
687
 * CHANNEL(secure_signaling) and CHANNEL(secure_media) to get whether or not
693
 * CHANNEL(secure_signaling) and CHANNEL(secure_media) to get whether or not
688
   the current channel has secure signaling and/or media.
694
   the current channel has secure signaling and/or media.
689
 * For DAHDI/ISDN channels, the CHANNEL() dialplan function now supports the
695
 * For DAHDI/ISDN channels, the CHANNEL() dialplan function now supports the
690
   "no_media_path" option.
696
   "no_media_path" option.
691
   Returns "0" if there is a B channel associated with the call.
697
   Returns "0" if there is a B channel associated with the call.
692
   Returns "1" if no B channel is associated with the call.  The call is either
698
   Returns "1" if no B channel is associated with the call.  The call is either
693
   on hold or is a call waiting call.
699
   on hold or is a call waiting call.
694
 * Added option to dialplan function CDR(), the 'f' option
700
 * Added option to dialplan function CDR(), the 'f' option
695
   allows for high resolution times for billsec and duration fields.
701
   allows for high resolution times for billsec and duration fields.
696
 * FILE() now supports line-mode and writing.
702
 * FILE() now supports line-mode and writing.
697
 * Added FIELDNUM(), which returns the 1-based offset of a field in a list.
703
 * Added FIELDNUM(), which returns the 1-based offset of a field in a list.
698
 * FRAME_TRACE(), for tracking internal ast_frames on a channel.
704
 * FRAME_TRACE(), for tracking internal ast_frames on a channel.
699

    
   
705

   
700
Dialplan Variables
706
Dialplan Variables
701
------------------
707
------------------
702
 * Added DYNAMIC_FEATURENAME which holds the last triggered dynamic feature.
708
 * Added DYNAMIC_FEATURENAME which holds the last triggered dynamic feature.
703
 * Added DYNAMIC_PEERNAME which holds the unique channel name on the other side
709
 * Added DYNAMIC_PEERNAME which holds the unique channel name on the other side
704
   and is set when a dynamic feature is triggered.
710
   and is set when a dynamic feature is triggered.
705
 * Added PARKINGLOT which can be used with parkeddynamic feature.conf option
711
 * Added PARKINGLOT which can be used with parkeddynamic feature.conf option
706
   to dynamically create a new parking lot matching the value this varible is
712
   to dynamically create a new parking lot matching the value this varible is
707
   set to.
713
   set to.
708
 * Added PARKINGDYNAMIC which represents the template parkinglot defined in
714
 * Added PARKINGDYNAMIC which represents the template parkinglot defined in
709
   features.conf that should be the base for dynamic parkinglots.
715
   features.conf that should be the base for dynamic parkinglots.
710
 * Added PARKINGDYNCONTEXT which tells what context a newly created dynamic
716
 * Added PARKINGDYNCONTEXT which tells what context a newly created dynamic
711
   parkinglot should have.
717
   parkinglot should have.
712
 * Added PARKINGDYNEXTEN which tells what parking exten a newly created dynamic
718
 * Added PARKINGDYNEXTEN which tells what parking exten a newly created dynamic
713
   parkinglot should have.
719
   parkinglot should have.
714
 * Added PARKINGDYNPOS which holds what parking positions a dynamic parkinglot
720
 * Added PARKINGDYNPOS which holds what parking positions a dynamic parkinglot
715
   should have.
721
   should have.
716

    
   
722

   
717
Queue changes
723
Queue changes
718
-------------
724
-------------
719
 * Added "ready" option to QUEUE_MEMBER counting to count free agents whose wrap-up
725
 * Added "ready" option to QUEUE_MEMBER counting to count free agents whose wrap-up
720
   timeout has expired.
726
   timeout has expired.
721
 * Added 'R' option to app_queue.  This option stops moh and indicates ringing
727
 * Added 'R' option to app_queue.  This option stops moh and indicates ringing
722
   to the caller when an Agent's phone is ringing.  This can be used to indicate
728
   to the caller when an Agent's phone is ringing.  This can be used to indicate
723
   to the caller that their call is about to be picked up, which is nice when
729
   to the caller that their call is about to be picked up, which is nice when
724
   one has been on hold for an extened period of time.
730
   one has been on hold for an extened period of time.
725
 * A new config option, penaltymemberslimit, has been added to queues.conf.
731
 * A new config option, penaltymemberslimit, has been added to queues.conf.
726
   When set this option will disregard penalty settings when a queue has too
732
   When set this option will disregard penalty settings when a queue has too
727
   few members.
733
   few members.
728
 * A new option, 'I' has been added to both app_queue and app_dial.
734
 * A new option, 'I' has been added to both app_queue and app_dial.
729
   By setting this option, Asterisk will not update the caller with
735
   By setting this option, Asterisk will not update the caller with
730
   connected line changes or redirecting party changes when they occur.
736
   connected line changes or redirecting party changes when they occur.
731
 * A 'relative-periodic-announce' option has been added to queues.conf.  When
737
 * A 'relative-periodic-announce' option has been added to queues.conf.  When
732
   enabled, this option will cause periodic announce times to be calculated
738
   enabled, this option will cause periodic announce times to be calculated
733
   from the end of announcements rather than from the beginning.
739
   from the end of announcements rather than from the beginning.
734
 * The autopause option in queues.conf can be passed a new value, "all." The
740
 * The autopause option in queues.conf can be passed a new value, "all." The
735
   result is that if a member becomes auto-paused, he will be paused in all
741
   result is that if a member becomes auto-paused, he will be paused in all
736
   queues for which he is a member, not just the queue that failed to reach
742
   queues for which he is a member, not just the queue that failed to reach
737
   the member.
743
   the member.
738
 * Added dialplan function QUEUE_EXISTS to check if a queue exists
744
 * Added dialplan function QUEUE_EXISTS to check if a queue exists
739
 * The queue logger now allows events to optionally propagate to a file,
745
 * The queue logger now allows events to optionally propagate to a file,
740
   even when realtime logging is turned on.  Additionally, realtime logging
746
   even when realtime logging is turned on.  Additionally, realtime logging
741
   supports sending the event arguments to 5 individual fields, although it
747
   supports sending the event arguments to 5 individual fields, although it
742
   will fallback to the previous data definition, if the new table layout is
748
   will fallback to the previous data definition, if the new table layout is
743
   not found.
749
   not found.
744

    
   
750

   
745
mISDN channel driver (chan_misdn) changes
751
mISDN channel driver (chan_misdn) changes
746
----------------------------------------
752
----------------------------------------
747
 * Added display_connected parameter to misdn.conf to put a display string
753
 * Added display_connected parameter to misdn.conf to put a display string
748
   in the CONNECT message containing the connected name and/or number if
754
   in the CONNECT message containing the connected name and/or number if
749
   the presentation setting permits it.
755
   the presentation setting permits it.
750
 * Added display_setup parameter to misdn.conf to put a display string
756
 * Added display_setup parameter to misdn.conf to put a display string
751
   in the SETUP message containing the caller name and/or number if the
757
   in the SETUP message containing the caller name and/or number if the
752
   presentation setting permits it.
758
   presentation setting permits it.
753
 * Made misdn.conf parameters localdialplan and cpndialplan take a -1 to
759
 * Made misdn.conf parameters localdialplan and cpndialplan take a -1 to
754
   indicate the dialplan settings are to be obtained from the asterisk
760
   indicate the dialplan settings are to be obtained from the asterisk
755
   channel.
761
   channel.
756
 * Made misdn.conf parameter callerid accept the "name" <number> format
762
 * Made misdn.conf parameter callerid accept the "name" <number> format
757
   used by the rest of the system.
763
   used by the rest of the system.
758
 * Made use the nationalprefix and internationalprefix misdn.conf
764
 * Made use the nationalprefix and internationalprefix misdn.conf
759
   parameters to prefix any received number from the ISDN link if that
765
   parameters to prefix any received number from the ISDN link if that
760
   number has the corresponding Type-Of-Number.  NOTE:  This includes
766
   number has the corresponding Type-Of-Number.  NOTE:  This includes
761
   comparing the incoming call's dialed number against the MSN list.
767
   comparing the incoming call's dialed number against the MSN list.
762
 * Added the following new parameters: unknownprefix, netspecificprefix,
768
 * Added the following new parameters: unknownprefix, netspecificprefix,
763
   subscriberprefix, and abbreviatedprefix in misdn.conf to prefix any
769
   subscriberprefix, and abbreviatedprefix in misdn.conf to prefix any
764
   received number from the ISDN link if that number has the corresponding
770
   received number from the ISDN link if that number has the corresponding
765
   Type-Of-Number.
771
   Type-Of-Number.
766
 * Added new dialplan application misdn_command which permits controlling
772
 * Added new dialplan application misdn_command which permits controlling
767
   the CCBS/CCNR functionality.
773
   the CCBS/CCNR functionality.
768
 * Added new dialplan function mISDN_CC which permits retrieval of various
774
 * Added new dialplan function mISDN_CC which permits retrieval of various
769
   values from an active call completion record.
775
   values from an active call completion record.
770
 * For PTP, you should manually send the COLR of the redirected-to party
776
 * For PTP, you should manually send the COLR of the redirected-to party
771
   for an incomming redirected call if the incoming call could experience
777
   for an incomming redirected call if the incoming call could experience
772
   further redirects.  Just set the REDIRECTING(to-num,i) = ${EXTEN} and
778
   further redirects.  Just set the REDIRECTING(to-num,i) = ${EXTEN} and
773
   set the REDIRECTING(to-pres) to the COLR.  A call has been redirected
779
   set the REDIRECTING(to-pres) to the COLR.  A call has been redirected
774
   if the REDIRECTING(from-num) is not empty.
780
   if the REDIRECTING(from-num) is not empty.
775
 * For outgoing PTP redirected calls, you now need to use the inhibit(i)
781
 * For outgoing PTP redirected calls, you now need to use the inhibit(i)
776
   option on all of the REDIRECTING statements before dialing the
782
   option on all of the REDIRECTING statements before dialing the
777
   redirected-to party.  You still have to set the REDIRECTING(to-xxx,i)
783
   redirected-to party.  You still have to set the REDIRECTING(to-xxx,i)
778
   and the REDIRECTING(from-xxx,i) values.  The PTP call will update the
784
   and the REDIRECTING(from-xxx,i) values.  The PTP call will update the
779
   redirecting-to presentation (COLR) when it becomes available.
785
   redirecting-to presentation (COLR) when it becomes available.
780
 * Added outgoing_colp parameter to misdn.conf to filter outgoing COLP
786
 * Added outgoing_colp parameter to misdn.conf to filter outgoing COLP
781
   information.
787
   information.
782

    
   
788

   
783
thirdparty mISDN enhancements
789
thirdparty mISDN enhancements
784
-----------------------------
790
-----------------------------
785
mISDN has been modified by Digium, Inc. to greatly expand facility message
791
mISDN has been modified by Digium, Inc. to greatly expand facility message
786
support to allow:
792
support to allow:
787
  * Enhanced COLP support for call diversion and transfer.
793
  * Enhanced COLP support for call diversion and transfer.
788
  * CCBS/CCNR support.
794
  * CCBS/CCNR support.
789

    
   
795

   
790
The latest modified mISDN v1.1.x based version is available at:
796
The latest modified mISDN v1.1.x based version is available at:
791
http://svn.digium.com/svn/thirdparty/mISDN/trunk
797
http://svn.digium.com/svn/thirdparty/mISDN/trunk
792
http://svn.digium.com/svn/thirdparty/mISDNuser/trunk
798
http://svn.digium.com/svn/thirdparty/mISDNuser/trunk
793

    
   
799

   
794
Tagged versions of the modified mISDN code are available under:
800
Tagged versions of the modified mISDN code are available under:
795
http://svn.digium.com/svn/thirdparty/mISDN/tags
801
http://svn.digium.com/svn/thirdparty/mISDN/tags
796
http://svn.digium.com/svn/thirdparty/mISDNuser/tags
802
http://svn.digium.com/svn/thirdparty/mISDNuser/tags
797

    
   
803

   
798
libpri channel driver (chan_dahdi) DAHDI changes
804
libpri channel driver (chan_dahdi) DAHDI changes
799
-------------------------------------------
805
-------------------------------------------
800
 * The channel variable PRIREDIRECTREASON is now just a status variable
806
 * The channel variable PRIREDIRECTREASON is now just a status variable
801
   and it is also deprecated.  Use the REDIRECTING(reason) dialplan function
807
   and it is also deprecated.  Use the REDIRECTING(reason) dialplan function
802
   to read and alter the reason.
808
   to read and alter the reason.
803
 * For Q.SIG and ETSI PRI/BRI-PTP, you should manually send the COLR of the
809
 * For Q.SIG and ETSI PRI/BRI-PTP, you should manually send the COLR of the
804
   redirected-to party for an incomming redirected call if the incoming call
810
   redirected-to party for an incomming redirected call if the incoming call
805
   could experience further redirects.  Just set the
811
   could experience further redirects.  Just set the
806
   REDIRECTING(to-num,i) = CALLERID(dnid) and set the REDIRECTING(to-pres)
812
   REDIRECTING(to-num,i) = CALLERID(dnid) and set the REDIRECTING(to-pres)
807
   to the COLR.  A call has been redirected if the REDIRECTING(count) is not
813
   to the COLR.  A call has been redirected if the REDIRECTING(count) is not
808
   zero.
814
   zero.
809
 * For outgoing Q.SIG and ETSI PRI/BRI-PTP redirected calls, you need to
815
 * For outgoing Q.SIG and ETSI PRI/BRI-PTP redirected calls, you need to
810
   use the inhibit(i) option on all of the REDIRECTING statements before
816
   use the inhibit(i) option on all of the REDIRECTING statements before
811
   dialing the redirected-to party.  You still have to set the
817
   dialing the redirected-to party.  You still have to set the
812
   REDIRECTING(to-xxx,i) and the REDIRECTING(from-xxx,i) values.  The call
818
   REDIRECTING(to-xxx,i) and the REDIRECTING(from-xxx,i) values.  The call
813
   will update the redirecting-to presentation (COLR) when it becomes available.
819
   will update the redirecting-to presentation (COLR) when it becomes available.
814
 * Added the ability to ignore calls that are not in a Multiple Subscriber
820
 * Added the ability to ignore calls that are not in a Multiple Subscriber
815
   Number (MSN) list for PTMP CPE interfaces.
821
   Number (MSN) list for PTMP CPE interfaces.
816
 * Added dynamic range compression support for dahdi channels.  It is
822
 * Added dynamic range compression support for dahdi channels.  It is
817
   configured via the rxdrc and txdrc parameters in chan_dahdi.conf.
823
   configured via the rxdrc and txdrc parameters in chan_dahdi.conf.
818
 * Added support for ISDN calling and called subaddress with partial support
824
 * Added support for ISDN calling and called subaddress with partial support
819
   for connected line subaddress.
825
   for connected line subaddress.
820
 * Added support for BRI PTMP NT mode. (Requires latest LibPRI.)
826
 * Added support for BRI PTMP NT mode. (Requires latest LibPRI.)
821
 * Added handling of received HOLD/RETRIEVE messages and the optional ability
827
 * Added handling of received HOLD/RETRIEVE messages and the optional ability
822
   to transfer a held call on disconnect similar to an analog phone.
828
   to transfer a held call on disconnect similar to an analog phone.
823
 * Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
829
 * Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
824
   Will reroute/deflect an outgoing call when receive the message.
830
   Will reroute/deflect an outgoing call when receive the message.
825
   Can use the DAHDISendCallreroutingFacility to send the message for the
831
   Can use the DAHDISendCallreroutingFacility to send the message for the
826
   supported switches.
832
   supported switches.
827
 * Added standard location to add options to chan_dahdi dialing:
833
 * Added standard location to add options to chan_dahdi dialing:
828
   Dial(DAHDI/g1[/extension[/options]])
834
   Dial(DAHDI/g1[/extension[/options]])
829
   Current options:
835
   Current options:
830
   K(<keypad_digits>)
836
   K(<keypad_digits>)
831
   R Reverse charging indication
837
   R Reverse charging indication
832
 * Added Reverse Charging Indication (Collect calls) send/receive option.
838
 * Added Reverse Charging Indication (Collect calls) send/receive option.
833
   Send reverse charging in SETUP message with the chan_dahdi R dialing option.
839
   Send reverse charging in SETUP message with the chan_dahdi R dialing option.
834
   Dial(DAHDI/g1/extension/R)
840
   Dial(DAHDI/g1/extension/R)
835
   Access received reverse charge in SETUP message by: ${CHANNEL(reversecharge)}
841
   Access received reverse charge in SETUP message by: ${CHANNEL(reversecharge)}
836
   (requires latest LibPRI)
842
   (requires latest LibPRI)
837
 * Added ability to send/receive keypad digits in the SETUP message.
843
 * Added ability to send/receive keypad digits in the SETUP message.
838
   Send keypad digits in SETUP message with the chan_dahdi K(<keypad_digits>)
844
   Send keypad digits in SETUP message with the chan_dahdi K(<keypad_digits>)
839
   dialing option.  Dial(DAHDI/g1/[extension]/K(<keypad_digits>))
845
   dialing option.  Dial(DAHDI/g1/[extension]/K(<keypad_digits>))
840
   Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
846
   Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
841
   (requires latest LibPRI)
847
   (requires latest LibPRI)
842
 * Added ability to send and receive ETSI Explicit Call Transfer (ECT) messages
848
 * Added ability to send and receive ETSI Explicit Call Transfer (ECT) messages
843
   to eliminate tromboned calls.  A tromboned call goes out an interface and comes
849
   to eliminate tromboned calls.  A tromboned call goes out an interface and comes
844
   back into the same interface.  Tromboned calls happen because of call routing,
850
   back into the same interface.  Tromboned calls happen because of call routing,
845
   call deflection, call forwarding, and call transfer.
851
   call deflection, call forwarding, and call transfer.
846
 * Added the ability to send and receive ETSI Advice-Of-Charge messages. 
852
 * Added the ability to send and receive ETSI Advice-Of-Charge messages. 
847
 * Added the ability to support call waiting calls.  (The SETUP has no B channel
853
 * Added the ability to support call waiting calls.  (The SETUP has no B channel
848
   assigned.)
854
   assigned.)
849
 * Added Malicious Call ID (MCID) event to the AMI call event class.
855
 * Added Malicious Call ID (MCID) event to the AMI call event class.
850
 * Added Message Waiting Indication (MWI) support for ISDN PTMP endpoints (phones).
856
 * Added Message Waiting Indication (MWI) support for ISDN PTMP endpoints (phones).
851

    
   
857

   
852
Asterisk Manager Interface
858
Asterisk Manager Interface
853
--------------------------
859
--------------------------
854
 * The Hangup action now accepts a Cause header which may be used to
860
 * The Hangup action now accepts a Cause header which may be used to
855
   set the channel's hangup cause.
861
   set the channel's hangup cause.
856
 * sslprivatekey option added to manager.conf and http.conf.  Adds the ability
862
 * sslprivatekey option added to manager.conf and http.conf.  Adds the ability
857
   to specify a separate .pem file to hold a private key.  By default sslcert
863
   to specify a separate .pem file to hold a private key.  By default sslcert
858
   is used to hold both the public and private key.
864
   is used to hold both the public and private key.
859
 * Options in manager.conf and http.conf with the 'ssl' prefix have been replaced
865
 * Options in manager.conf and http.conf with the 'ssl' prefix have been replaced
860
   for options containing the 'tls' prefix.  For example, 'sslenable' is now
866
   for options containing the 'tls' prefix.  For example, 'sslenable' is now
861
   'tlsenable'.  This has been done in effort to keep ssl and tls options consistent
867
   'tlsenable'.  This has been done in effort to keep ssl and tls options consistent
862
   across all .conf files. All affected sample.conf files have been modified to
868
   across all .conf files. All affected sample.conf files have been modified to
863
   reflect this change.  Previous options such as 'sslenable' still work,
869
   reflect this change.  Previous options such as 'sslenable' still work,
864
   but options with the 'tls' prefix are preferred.
870
   but options with the 'tls' prefix are preferred.
865
 * Added a MuteAudio AMI action for muting inbound and/or outbound audio
871
 * Added a MuteAudio AMI action for muting inbound and/or outbound audio
866
   in a channel. (res_mutestream.so)
872
   in a channel. (res_mutestream.so)
867
 * The configuration file manager.conf now supports a channelvars option, which
873
 * The configuration file manager.conf now supports a channelvars option, which
868
   specifies a list of channel variables to include in each channel-oriented
874
   specifies a list of channel variables to include in each channel-oriented
869
   event.
875
   event.
870
 * The redirect command now has new parameters ExtraContext, ExtraExtension, 
876
 * The redirect command now has new parameters ExtraContext, ExtraExtension, 
871
   and ExtraPriority to allow redirecting the second channel to a different
877
   and ExtraPriority to allow redirecting the second channel to a different
872
   location than the first.
878
   location than the first.
873
 * Added new event "JabberStatus" in the Jabber module to monitor buddies
879
 * Added new event "JabberStatus" in the Jabber module to monitor buddies
874
   status.
880
   status.
875
 * Added a "MixMonitorMute" AMI action for muting inbound and/or outbound audio
881
 * Added a "MixMonitorMute" AMI action for muting inbound and/or outbound audio
876
   in a MixMonitor recording.
882
   in a MixMonitor recording.
877
 * The 'iax2 show peers' output is now similar to the expected output of
883
 * The 'iax2 show peers' output is now similar to the expected output of
878
   'sip show peers'.
884
   'sip show peers'.
879
 * Added Advice-Of-Charge events (AOC-S, AOC-D, and AOC-E) in the new
885
 * Added Advice-Of-Charge events (AOC-S, AOC-D, and AOC-E) in the new
880
   aoc event class.
886
   aoc event class.
881
 * Added Advice-Of-Charge manager action, AOCMessage, for generating AOC-D and
887
 * Added Advice-Of-Charge manager action, AOCMessage, for generating AOC-D and
882
   AOC-E messages on a channel.
888
   AOC-E messages on a channel.
883
 * A DBGetComplete event now follows a DBGetResponse, to make the DBGet action
889
 * A DBGetComplete event now follows a DBGetResponse, to make the DBGet action
884
   conform more closely to similar events.
890
   conform more closely to similar events.
885
 * Added a new eventfilter option per user to allow whitelisting and blacklisting
891
 * Added a new eventfilter option per user to allow whitelisting and blacklisting
886
   of events.
892
   of events.
887
 * Added optional parkinglot variable for park command.
893
 * Added optional parkinglot variable for park command.
888
 * Added ConnectedLineNum and ConnectedLineName headers to AMI events/responses
894
 * Added ConnectedLineNum and ConnectedLineName headers to AMI events/responses
889
   if CallerIDNum and CallerIDName headers are also present.
895
   if CallerIDNum and CallerIDName headers are also present.
890

    
   
896

   
891
Channel Event Logging
897
Channel Event Logging
892
---------------------
898
---------------------
893
 * A new interface, CEL, is introduced here. CEL logs single events, much like
899
 * A new interface, CEL, is introduced here. CEL logs single events, much like
894
   the AMI, but it differs from the AMI in that it logs to db backends much
900
   the AMI, but it differs from the AMI in that it logs to db backends much
895
   like CDR does; is based on the event subsystem introduced by Russell, and
901
   like CDR does; is based on the event subsystem introduced by Russell, and
896
   can share in all its benefits; allows multiple backends to operate like CDR;
902
   can share in all its benefits; allows multiple backends to operate like CDR;
897
   is specialized to event data that would be of concern to billing sytems,
903
   is specialized to event data that would be of concern to billing sytems,
898
   like CDR. Backends for logging and accounting calls have been produced,
904
   like CDR. Backends for logging and accounting calls have been produced,
899
   but a new CDR backend is still in development.
905
   but a new CDR backend is still in development.
900

    
   
906

   
901
CDR
907
CDR
902
---
908
---
903
 * 'linkedid' and 'peeraccount' are new CDR fields available to CDR aficionados.
909
 * 'linkedid' and 'peeraccount' are new CDR fields available to CDR aficionados.
904
   linkedid is based on uniqueID, but spreads to other channels as transfers, dials,
910
   linkedid is based on uniqueID, but spreads to other channels as transfers, dials,
905
   etc are performed. Thus the pieces of CDR can be grouped into multilegged sets.
911
   etc are performed. Thus the pieces of CDR can be grouped into multilegged sets.
906
 * Multiple files and formats can now be specified in cdr_custom.conf.
912
 * Multiple files and formats can now be specified in cdr_custom.conf.
907
 * cdr_syslog has been added which allows CDRs to be written directly to syslog.
913
 * cdr_syslog has been added which allows CDRs to be written directly to syslog.
908
   See configs/cdr_syslog.conf.sample for more information.
914
   See configs/cdr_syslog.conf.sample for more information.
909
 * A 'sequence' field has been added to CDRs which can be combined with
915
 * A 'sequence' field has been added to CDRs which can be combined with
910
   linkedid or uniqueid to uniquely identify a CDR.
916
   linkedid or uniqueid to uniquely identify a CDR.
911
 * Handling of billsec and duration field has changed. If your table definition
917
 * Handling of billsec and duration field has changed. If your table definition
912
   specifies those fields as float,double or similar they will now be logged with
918
   specifies those fields as float,double or similar they will now be logged with
913
   microsecond accuracy instead of a whole integer.
919
   microsecond accuracy instead of a whole integer.
914

    
   
920

   
915
Calendaring for Asterisk
921
Calendaring for Asterisk
916
------------------------
922
------------------------
917
 * A new set of modules were added supporing calendar integration with Asterisk.
923
 * A new set of modules were added supporing calendar integration with Asterisk.
918
   Dialplan functions for reading from and writing to calendars are included,
924
   Dialplan functions for reading from and writing to calendars are included,
919
   as well as the ability to execute dialplan logic upon calendar event notifications.
925
   as well as the ability to execute dialplan logic upon calendar event notifications.
920
   iCalendar, CalDAV, and Exchange Server calendars (via res_calendar_exchange for
926
   iCalendar, CalDAV, and Exchange Server calendars (via res_calendar_exchange for
921
   Exchange Server 2003 with no write or attendee support, and res_calendar_ews for
927
   Exchange Server 2003 with no write or attendee support, and res_calendar_ews for
922
   Exchange Server 2007+ with full write and attendee support) are supported (Exchange
928
   Exchange Server 2007+ with full write and attendee support) are supported (Exchange
923
   2003 support does not support forms-based authentication).
929
   2003 support does not support forms-based authentication).
924

    
   
930

   
925
Call Completion Supplementary Services for Asterisk
931
Call Completion Supplementary Services for Asterisk
926
---------------------------------------------------
932
---------------------------------------------------
927
 * Call completion support has been added for SIP, DAHDI/ISDN, and DAHDI/analog.
933
 * Call completion support has been added for SIP, DAHDI/ISDN, and DAHDI/analog.
928
   DAHDI/ISDN supports call completion for the following switch types:
934
   DAHDI/ISDN supports call completion for the following switch types:
929
   EuroIsdn(ETSI) for PTP and PTMP modes, and Qsig.
935
   EuroIsdn(ETSI) for PTP and PTMP modes, and Qsig.
930
   See doc/CCSS_architecture.pdf and doc/tex/ccss.tex(asterisk.pdf) for details.
936
   See doc/CCSS_architecture.pdf and doc/tex/ccss.tex(asterisk.pdf) for details.
931

    
   
937

   
932
Multicast RTP Support
938
Multicast RTP Support
933
---------------------
939
---------------------
934
 * A new RTP engine and channel driver have been added which supports Multicast RTP.
940
 * A new RTP engine and channel driver have been added which supports Multicast RTP.
935
   The channel driver can be used with the Page application to perform multicast RTP
941
   The channel driver can be used with the Page application to perform multicast RTP
936
   paging. The dial string format is: MulticastRTP/<type>/<destination>/<control address>
942
   paging. The dial string format is: MulticastRTP/<type>/<destination>/<control address>
937
   Type can be either basic or linksys.
943
   Type can be either basic or linksys.
938
   Destination is the IP address and port for the RTP packets.
944
   Destination is the IP address and port for the RTP packets.
939
   Control address is specific to the linksys type and is used for sending the control
945
   Control address is specific to the linksys type and is used for sending the control
940
   packets unique to them.
946
   packets unique to them.
941

    
   
947

   
942
Security Events Framework
948
Security Events Framework
943
-------------------------
949
-------------------------
944
 * Asterisk has a new C API for reporting security events.  The module res_security_log
950
 * Asterisk has a new C API for reporting security events.  The module res_security_log
945
   sends these events to the "security" logger level.  Currently, AMI is the only
951
   sends these events to the "security" logger level.  Currently, AMI is the only
946
   Asterisk component that reports security events.  However, SIP support will be
952
   Asterisk component that reports security events.  However, SIP support will be
947
   coming soon.  For more information on the security events framework, see the
953
   coming soon.  For more information on the security events framework, see the
948
   "Security Events" chapter of the included documentation - doc/tex/asterisk.pdf.
954
   "Security Events" chapter of the included documentation - doc/tex/asterisk.pdf.
949

    
   
955

   
950
Fax
956
Fax
951
---
957
---
952
 * A technology independent fax frontend (res_fax) has been added to Asterisk.
958
 * A technology independent fax frontend (res_fax) has been added to Asterisk.
953
 * A spandsp based fax backend (res_fax_spandsp) has been added.
959
 * A spandsp based fax backend (res_fax_spandsp) has been added.
954
 * The app_fax module has been deprecated in favor of the res_fax module and
960
 * The app_fax module has been deprecated in favor of the res_fax module and
955
   the new res_fax_spandsp backend.
961
   the new res_fax_spandsp backend.
956
 * The SendFAX and ReceiveFAX applications now send their log messages to a
962
 * The SendFAX and ReceiveFAX applications now send their log messages to a
957
   'fax' logger level, instead of to the generic logger levels. To see these
963
   'fax' logger level, instead of to the generic logger levels. To see these
958
   messages, the system's logger.conf file will need to direct the 'fax' logger
964
   messages, the system's logger.conf file will need to direct the 'fax' logger
959
   level to one or more destinations; the logger.conf.sample file includes an
965
   level to one or more destinations; the logger.conf.sample file includes an
960
   example of how to do this. Note that if the 'fax' logger level is *not*
966
   example of how to do this. Note that if the 'fax' logger level is *not*
961
   directed to at least one destination, log messages generated by these
967
   directed to at least one destination, log messages generated by these
962
   applications will be lost, and that if the 'fax' logger level is directed to
968
   applications will be lost, and that if the 'fax' logger level is directed to
963
   the console, the 'core set verbose' and 'core set debug' CLI commands will
969
   the console, the 'core set verbose' and 'core set debug' CLI commands will
964
   have no effect on whether the messages appear on the console or not.
970
   have no effect on whether the messages appear on the console or not.
965

    
   
971

   
966
Miscellaneous
972
Miscellaneous
967
-------------
973
-------------
968
 * The transmit_silence_during_record option in asterisk.conf.sample has been removed.
974
 * The transmit_silence_during_record option in asterisk.conf.sample has been removed.
969
   Now, in order to enable transmitting silence during record the transmit_silence
975
   Now, in order to enable transmitting silence during record the transmit_silence
970
   option should be used.  transmit_silence_during_record remains a valid option, but
976
   option should be used.  transmit_silence_during_record remains a valid option, but
971
   defaults to the behavior of the transmit_silence option.
977
   defaults to the behavior of the transmit_silence option.
972
 * Addition of the Unit Test Framework API for managing registration and execution
978
 * Addition of the Unit Test Framework API for managing registration and execution
973
   of unit tests with the purpose of verifying the operation of C functions.
979
   of unit tests with the purpose of verifying the operation of C functions.
974
 * SendText is now implemented in chan_gtalk and chan_jingle. It will simply send
980
 * SendText is now implemented in chan_gtalk and chan_jingle. It will simply send
975
   XMPP text messages to the remote JID.
981
   XMPP text messages to the remote JID.
976
 * Modules.conf has a new option - "require" - that marks a module as critical for 
982
 * Modules.conf has a new option - "require" - that marks a module as critical for 
977
   the execution of Asterisk.
983
   the execution of Asterisk.
978
   If one of the required modules fail to load, Asterisk will exit with a return
984
   If one of the required modules fail to load, Asterisk will exit with a return
979
   code set to 2.
985
   code set to 2.
980
 * An 'X' option has been added to the asterisk application which enables #exec support.
986
 * An 'X' option has been added to the asterisk application which enables #exec support.
981
   This allows #exec to be used in asterisk.conf.
987
   This allows #exec to be used in asterisk.conf.
982
 * jabber.conf supports a new option auth_policy that toggles auto user registration.
988
 * jabber.conf supports a new option auth_policy that toggles auto user registration.
983
 * A new lockconfdir option has been added to asterisk.conf to protect the
989
 * A new lockconfdir option has been added to asterisk.conf to protect the
984
   configuration directory (/etc/asterisk by default) during reloads.
990
   configuration directory (/etc/asterisk by default) during reloads.
985
 * The parkeddynamic option has been added to features.conf to enable the creation
991
 * The parkeddynamic option has been added to features.conf to enable the creation
986
   of dynamic parkinglots.
992
   of dynamic parkinglots.
987
 * chan_dahdi now supports reporting alarms over AMI either by channel or span via
993
 * chan_dahdi now supports reporting alarms over AMI either by channel or span via
988
   the reportalarms config option.
994
   the reportalarms config option.
989
 * chan_dahdi supports dialing configuring and dialing by device file name.
995
 * chan_dahdi supports dialing configuring and dialing by device file name.
990
   DAHDI/span-name!local!1 will use /dev/dahdi/span-name/local/1 . Likewise
996
   DAHDI/span-name!local!1 will use /dev/dahdi/span-name/local/1 . Likewise
991
   it may appear in chan_dahdi.conf as 'channel => span-name!local!1'.
997
   it may appear in chan_dahdi.conf as 'channel => span-name!local!1'.
992
 * A new options for chan_dahdi.conf: 'ignore_failed_channels'. Boolean.
998
 * A new options for chan_dahdi.conf: 'ignore_failed_channels'. Boolean.
993
   False by default. If set, chan_dahdi will ignore failed 'channel' entries.
999
   False by default. If set, chan_dahdi will ignore failed 'channel' entries.
994
   Handy for the above name-based syntax as it does not depend on
1000
   Handy for the above name-based syntax as it does not depend on
995
   initialization order.
1001
   initialization order.
996
 * The Realtime dialplan switch now caches entries for 1 second.  This provides a
1002
 * The Realtime dialplan switch now caches entries for 1 second.  This provides a
997
   significant increase in performance (about 3X) for installations using this switchtype.
1003
   significant increase in performance (about 3X) for installations using this switchtype.
998
 * Distributed devicestate now supports the use of the XMPP protocol, in addition to
1004
 * Distributed devicestate now supports the use of the XMPP protocol, in addition to
999
   AIS.  For more information, please see doc/distributed_devstate-XMPP.txt
1005
   AIS.  For more information, please see doc/distributed_devstate-XMPP.txt
1000
 * The addition of G.719 pass-through support.
1006
 * The addition of G.719 pass-through support.
1001
 * Added support for 16khz Speex audio.  This can be enabled by using 'allow=speex16'
1007
 * Added support for 16khz Speex audio.  This can be enabled by using 'allow=speex16'
1002
   during device configuration.
1008
   during device configuration.
1003
 * The UNISTIM channel driver (chan_unistim) has been updated to support devices that
1009
 * The UNISTIM channel driver (chan_unistim) has been updated to support devices that
1004
   have less than 3 lines on the LCD.
1010
   have less than 3 lines on the LCD.
1005
 * Realtime now supports database failover.  See the sample extconfig.conf for details.
1011
 * Realtime now supports database failover.  See the sample extconfig.conf for details.
1006
 * The addition of improved translation path building for wideband codecs.  Sample
1012
 * The addition of improved translation path building for wideband codecs.  Sample
1007
   rate changes during translation are now avoided unless absolutely necessary.
1013
   rate changes during translation are now avoided unless absolutely necessary.
1008
 * The addition of the res_stun_monitor module for monitoring and reacting to network
1014
 * The addition of the res_stun_monitor module for monitoring and reacting to network
1009
   changes while behind a NAT.
1015
   changes while behind a NAT.
1010

    
   
1016

   
1011
CLI Changes
1017
CLI Changes
1012
-----------
1018
-----------
1013
 * The 'core set debug' and 'core set verbose' commands, in previous versions, could
1019
 * The 'core set debug' and 'core set verbose' commands, in previous versions, could
1014
   optionally accept a filename, to apply the setting only to the code generated from
1020
   optionally accept a filename, to apply the setting only to the code generated from
1015
   that source file when Asterisk was built. However, there are some modules in Asterisk
1021
   that source file when Asterisk was built. However, there are some modules in Asterisk
1016
   that are composed of multiple source files, so this did not result in the behavior
1022
   that are composed of multiple source files, so this did not result in the behavior
1017
   that users expected. In this version, 'core set debug' and 'core set verbose'
1023
   that users expected. In this version, 'core set debug' and 'core set verbose'
1018
   can optionally accept *module* names instead (with or without the .so extension),
1024
   can optionally accept *module* names instead (with or without the .so extension),
1019
   which applies the setting to the entire module specified, regardless of which source
1025
   which applies the setting to the entire module specified, regardless of which source
1020
   files it was built from.
1026
   files it was built from.
1021
 * New 'manager show settings' command showing the current settings loaded from
1027
 * New 'manager show settings' command showing the current settings loaded from
1022
   manager.conf. 
1028
   manager.conf. 
1023
 * Added 'all' keyword to the CLI command "channel request hangup" so that you can send
1029
 * Added 'all' keyword to the CLI command "channel request hangup" so that you can send
1024
   the channel hangup request to all channels.
1030
   the channel hangup request to all channels.
1025
 * Added a "core reload" CLI command that executes a global reload of Asterisk.
1031
 * Added a "core reload" CLI command that executes a global reload of Asterisk.
1026

    
   
1032

   
1027
------------------------------------------------------------------------------
1033
------------------------------------------------------------------------------
1028
--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2  -------------
1034
--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2  -------------
1029
------------------------------------------------------------------------------
1035
------------------------------------------------------------------------------
1030

    
   
1036

   
1031
SIP Changes
1037
SIP Changes
1032
-----------
1038
-----------
1033
 * Added support for SUBSCRIBE/NOTIFY with dialog-info based call pickups.
1039
 * Added support for SUBSCRIBE/NOTIFY with dialog-info based call pickups.
1034
   Snom phones use this for call pickup of extensions that the phone is
1040
   Snom phones use this for call pickup of extensions that the phone is
1035
   subscribed to.
1041
   subscribed to.
1036
 * Added support for setting the domain in the URI for caller of an
1042
 * Added support for setting the domain in the URI for caller of an
1037
   outbound call by using the SIPFROMDOMAIN channel variable.
1043
   outbound call by using the SIPFROMDOMAIN channel variable.
1038
 * Added a new configuration option "remotesecret" for authentication to
1044
 * Added a new configuration option "remotesecret" for authentication to
1039
   remote services. For backwards compatibility, "secret" still has the
1045
   remote services. For backwards compatibility, "secret" still has the
1040
   same function as before, but now you can configure both a remote secret and a
1046
   same function as before, but now you can configure both a remote secret and a
1041
   local secret for mutual authentication.
1047
   local secret for mutual authentication.
1042
 * If the channel variable  ATTENDED_TRANSFER_COMPLETE_SOUND is set, 
1048
 * If the channel variable  ATTENDED_TRANSFER_COMPLETE_SOUND is set, 
1043
   the sound will be played to the target of an attended transfer
1049
   the sound will be played to the target of an attended transfer
1044
 * Added two new configuration options, "qualifygap" and "qualifypeers", which allow
1050
 * Added two new configuration options, "qualifygap" and "qualifypeers", which allow
1045
   finer control over how many peers Asterisk will qualify and the gap between them
1051
   finer control over how many peers Asterisk will qualify and the gap between them
1046
   when all peers need to be qualified at the same time.
1052
   when all peers need to be qualified at the same time.
1047
 * Added a new 'ignoresdpversion' option to sip.conf.  When this is enabled
1053
 * Added a new 'ignoresdpversion' option to sip.conf.  When this is enabled
1048
   (either globally or for a specific peer), chan_sip will treat any SDP data
1054
   (either globally or for a specific peer), chan_sip will treat any SDP data
1049
   it receives as new data and update the media stream accordingly.  By
1055
   it receives as new data and update the media stream accordingly.  By
1050
   default, Asterisk will only modify the media stream if the SDP session
1056
   default, Asterisk will only modify the media stream if the SDP session
1051
   version received is different from the current SDP session version.  This
1057
   version received is different from the current SDP session version.  This
1052
   option is required to interoperate with devices that have non-standard SDP
1058
   option is required to interoperate with devices that have non-standard SDP
1053
   session version implementations (observed with Microsoft OCS).  This option
1059
   session version implementations (observed with Microsoft OCS).  This option
1054
   is disabled by default.
1060
   is disabled by default.
1055
 * The parsing of register => lines in sip.conf has been modified to allow a port
1061
 * The parsing of register => lines in sip.conf has been modified to allow a port
1056
   to be present in the "user" portion. Please see the sip.conf.sample file for more
1062
   to be present in the "user" portion. Please see the sip.conf.sample file for more
1057
   information
1063
   information
1058
 * Added support for subscribing to MWI on a remote server and making the status available
1064
 * Added support for subscribing to MWI on a remote server and making the status available
1059
   as a mailbox. Please see the sip.conf.sample file for more information.
1065
   as a mailbox. Please see the sip.conf.sample file for more information.
1060
 * Added a function to remove SIP headers added in the dialplan before the
1066
 * Added a function to remove SIP headers added in the dialplan before the
1061
   first INVITE is generated - SIPRemoveHeader()
1067
   first INVITE is generated - SIPRemoveHeader()
1062
 * Channel variables set with setvar= in a device configuration is now 
1068
 * Channel variables set with setvar= in a device configuration is now 
1063
   set both for inbound and outbound calls.
1069
   set both for inbound and outbound calls.
1064
 * Added support for ITU G.722.1 and G.722.1C (Siren7 and Siren14) media streams.
1070
 * Added support for ITU G.722.1 and G.722.1C (Siren7 and Siren14) media streams.
1065

    
   
1071

   
1066
IAX2 changes
1072
IAX2 changes
1067
------------
1073
------------
1068
  * Added immediate option to iax.conf
1074
  * Added immediate option to iax.conf
1069
  * Added forceencryption option to iax.conf
1075
  * Added forceencryption option to iax.conf
1070
  * Added Encryption and Trunk status to manager command "iaxpeers"
1076
  * Added Encryption and Trunk status to manager command "iaxpeers"
1071

    
   
1077

   
1072
Skinny Changes
1078
Skinny Changes
1073
--------------
1079
--------------
1074
 * The configuration file now holds separate sections for devices and lines.
1080
 * The configuration file now holds separate sections for devices and lines.
1075
   Please have a look at configs/skinny.conf.sample and change your skinny.conf
1081
   Please have a look at configs/skinny.conf.sample and change your skinny.conf
1076
   accordingly.
1082
   accordingly.
1077

    
   
1083

   
1078
DAHDI Changes
1084
DAHDI Changes
1079
-------------
1085
-------------
1080
 * chan_dahdi now supports MFC/R2 signaling when Asterisk is compiled with
1086
 * chan_dahdi now supports MFC/R2 signaling when Asterisk is compiled with
1081
   support for LibOpenR2.  http://www.libopenr2.org/
1087
   support for LibOpenR2.  http://www.libopenr2.org/
1082
 * The UK option waitfordialtone has been added for use with BT analog
1088
 * The UK option waitfordialtone has been added for use with BT analog
1083
   lines.
1089
   lines.
1084
 * Added a 'faxbuffers' configuration option to chan_dahdi.conf.  This option
1090
 * Added a 'faxbuffers' configuration option to chan_dahdi.conf.  This option
1085
   is used in conjunction with the 'faxdetect' configuration option.  When
1091
   is used in conjunction with the 'faxdetect' configuration option.  When
1086
   'faxbuffers' is used and fax tones are detected, the channel will dynamically
1092
   'faxbuffers' is used and fax tones are detected, the channel will dynamically
1087
   switch to the configured faxbuffers policy.  For example, to use 6 buffers
1093
   switch to the configured faxbuffers policy.  For example, to use 6 buffers
1088
   and a 'full' buffer policy for a fax transmission, add:
1094
   and a 'full' buffer policy for a fax transmission, add:
1089
     faxbuffers=>6,full
1095
     faxbuffers=>6,full
1090
   The faxbuffers configuration will be in affect until the call is torn down.
1096
   The faxbuffers configuration will be in affect until the call is torn down.
1091
 * Added service message support for 4ESS/5ESS switches.
1097
 * Added service message support for 4ESS/5ESS switches.
1092

    
   
1098

   
1093
Dialplan Functions
1099
Dialplan Functions
1094
------------------
1100
------------------
1095
 * For DAHDI channels, the CHANNEL() dialplan function now
1101
 * For DAHDI channels, the CHANNEL() dialplan function now
1096
   supports changing the channel's buffer policy (for the current
1102
   supports changing the channel's buffer policy (for the current
1097
   call only), using this syntax:
1103
   call only), using this syntax:
1098

    
   
1104

   
1099
   exten => s,n,Set(CHANNEL(buffers)=6,full)
1105
   exten => s,n,Set(CHANNEL(buffers)=6,full)
1100

    
   
1106

   
1101
   This would change the channel to the 'full' buffer policy and
1107
   This would change the channel to the 'full' buffer policy and
1102
   6 (six) buffers. Possible options for this setting are the same
1108
   6 (six) buffers. Possible options for this setting are the same
1103
   as those in chan_dahdi.conf.
1109
   as those in chan_dahdi.conf.
1104
 * Added a new dialplan function, CURLOPT, which permits setting various
1110
 * Added a new dialplan function, CURLOPT, which permits setting various
1105
   options that may be useful with the CURL dialplan function, such as
1111
   options that may be useful with the CURL dialplan function, such as
1106
   cookies, proxies, connection timeouts, passwords, etc.
1112
   cookies, proxies, connection timeouts, passwords, etc.
1107
 * Permit the syntax and synopsis fields of the corresponding dialplan
1113
 * Permit the syntax and synopsis fields of the corresponding dialplan
1108
   functions to be individually set from func_odbc.conf.
1114
   functions to be individually set from func_odbc.conf.
1109
 * Added debugging CLI functions to func_odbc, 'odbc read' and 'odbc write'.
1115
 * Added debugging CLI functions to func_odbc, 'odbc read' and 'odbc write'.
1110
 * func_odbc now may specify an insert query to execute, when the write query
1116
 * func_odbc now may specify an insert query to execute, when the write query
1111
   affects 0 rows (usually indicating that no such row exists).
1117
   affects 0 rows (usually indicating that no such row exists).
1112
 * Added a new dialplan function, LISTFILTER, which permits removing elements
1118
 * Added a new dialplan function, LISTFILTER, which permits removing elements
1113
   from a set list, by name.  Uses the same general syntax as the existing CUT
1119
   from a set list, by name.  Uses the same general syntax as the existing CUT
1114
   and FIELDQTY dialplan functions, which also manage lists.
1120
   and FIELDQTY dialplan functions, which also manage lists.
1115
 * Added REALTIME_FIELD and REALTIME_HASH, which should aid users in better
1121
 * Added REALTIME_FIELD and REALTIME_HASH, which should aid users in better
1116
   obtaining realtime data from the dialplan.
1122
   obtaining realtime data from the dialplan.
1117
 * Added LOCAL_PEEK, which allows access to variables in any stack frame within
1123
 * Added LOCAL_PEEK, which allows access to variables in any stack frame within
1118
   a subroutine when using the GoSub() and Return() applications.
1124
   a subroutine when using the GoSub() and Return() applications.
1119
 * Added AUDIOHOOK_INHERIT. For information on its use, please see the output
1125
 * Added AUDIOHOOK_INHERIT. For information on its use, please see the output
1120
   of "core show function AUDIOHOOK_INHERIT" from the CLI
1126
   of "core show function AUDIOHOOK_INHERIT" from the CLI
1121
 * Added AES_ENCRYPT. For information on its use, please see the output
1127
 * Added AES_ENCRYPT. For information on its use, please see the output
1122
   of "core show function AES_ENCRYPT" from the CLI
1128
   of "core show function AES_ENCRYPT" from the CLI
1123
 * Added AES_DECRYPT. For information on its use, please see the output
1129
 * Added AES_DECRYPT. For information on its use, please see the output
1124
   of "core show function AES_DECRYPT" from the CLI
1130
   of "core show function AES_DECRYPT" from the CLI
1125
 * func_odbc now supports database transactions across multiple queries.
1131
 * func_odbc now supports database transactions across multiple queries.
1126

    
   
1132

   
1127
Applications
1133
Applications
1128
------------
1134
------------
1129
 * Scheduled meetme conferences may now have their end times extended by
1135
 * Scheduled meetme conferences may now have their end times extended by
1130
   using MeetMeAdmin.
1136
   using MeetMeAdmin.
1131
 * app_authenticate now gives the ability to select a prompt other than
1137
 * app_authenticate now gives the ability to select a prompt other than
1132
   the default.
1138
   the default.
1133
 * app_directory now pays attention to the searchcontexts setting in
1139
 * app_directory now pays attention to the searchcontexts setting in
1134
   voicemail.conf and will look through all contexts, if no context is
1140
   voicemail.conf and will look through all contexts, if no context is
1135
   specified in the initial argument.
1141
   specified in the initial argument.
1136
 * A new application, Originate, has been introduced, that allows asynchronous
1142
 * A new application, Originate, has been introduced, that allows asynchronous
1137
   call origination from the dialplan.
1143
   call origination from the dialplan.
1138
 * Voicemail now permits setting the emailsubject and emailbody per mailbox,
1144
 * Voicemail now permits setting the emailsubject and emailbody per mailbox,
1139
   in addition to the setting in the "general" context.
1145
   in addition to the setting in the "general" context.
1140
 * Added ConfBridge dialplan application which does conference bridges without
1146
 * Added ConfBridge dialplan application which does conference bridges without
1141
   DAHDI. For information on its use, please see the output of
1147
   DAHDI. For information on its use, please see the output of
1142
   "core show application ConfBridge" from the CLI.
1148
   "core show application ConfBridge" from the CLI.
1143

    
   
1149

   
1144
Miscellaneous
1150
Miscellaneous
1145
-------------
1151
-------------
1146
 * The Asterisk CLI has a new command, "channel redirect", which is similar in
1152
 * The Asterisk CLI has a new command, "channel redirect", which is similar in
1147
   operation to the AMI Redirect action.
1153
   operation to the AMI Redirect action.
1148
 * extensions.conf now allows you to use keyword "same" to define an extension
1154
 * extensions.conf now allows you to use keyword "same" to define an extension
1149
   without actually specifying an extension.  It uses exactly the same pattern
1155
   without actually specifying an extension.  It uses exactly the same pattern
1150
   as previously used on the last "exten" line.  For example:
1156
   as previously used on the last "exten" line.  For example:
1151
     exten => 123,1,NoOp(something)
1157
     exten => 123,1,NoOp(something)
1152
     same  =>     n,SomethingElse()
1158
     same  =>     n,SomethingElse()
1153
 * musiconhold.conf classes of type 'files' can now use relative directory paths,
1159
 * musiconhold.conf classes of type 'files' can now use relative directory paths,
1154
   which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
1160
   which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
1155
 * All deprecated CLI commands are removed from the sourcecode. They are now handled
1161
 * All deprecated CLI commands are removed from the sourcecode. They are now handled
1156
   by the new clialiases module. See cli_aliases.conf.sample file.
1162
   by the new clialiases module. See cli_aliases.conf.sample file.
1157
 * Times within timespecs are now accurate down to the minute.  This is a change
1163
 * Times within timespecs are now accurate down to the minute.  This is a change
1158
   from historical Asterisk, which only provided timespecs rounded to the nearest
1164
   from historical Asterisk, which only provided timespecs rounded to the nearest
1159
   even (read: evenly divisible by 2) minute mark.
1165
   even (read: evenly divisible by 2) minute mark.
1160
 * The realtime switch now supports an option flag, 'p', which disables searches for
1166
 * The realtime switch now supports an option flag, 'p', which disables searches for
1161
   pattern matches.
1167
   pattern matches.
1162
 * In addition to a time range and date range, timespecs now accept a 5th optional
1168
 * In addition to a time range and date range, timespecs now accept a 5th optional
1163
   argument, timezone.  This allows you to perform time checks on alternate
1169
   argument, timezone.  This allows you to perform time checks on alternate
1164
   timezones, especially if those daylight savings time ranges vary from your
1170
   timezones, especially if those daylight savings time ranges vary from your
1165
   machine's native timezone.  See GotoIfTime, ExecIfTime, IFTIME(), and timed
1171
   machine's native timezone.  See GotoIfTime, ExecIfTime, IFTIME(), and timed
1166
   includes.
1172
   includes.
1167
 * The contrib/scripts/ directory now has a script called sip_nat_settings that will
1173
 * The contrib/scripts/ directory now has a script called sip_nat_settings that will
1168
   give you the correct output for an asterisk box behind nat. It will give you the
1174
   give you the correct output for an asterisk box behind nat. It will give you the
1169
   externhost and localnet settings.
1175
   externhost and localnet settings.
1170
 * The Asterisk core now supports ITU G.722.1 and G.722.1C media streams, and
1176
 * The Asterisk core now supports ITU G.722.1 and G.722.1C media streams, and
1171
   can connect calls in passthrough mode, as well as record and play back files.
1177
   can connect calls in passthrough mode, as well as record and play back files.
1172
 * Successful and unsuccessful call pickup can now be alerted through sounds, by
1178
 * Successful and unsuccessful call pickup can now be alerted through sounds, by
1173
   using pickupsound and pickupfailsound in features.conf.
1179
   using pickupsound and pickupfailsound in features.conf.
1174
 * ASTVARRUNDIR is now set to $(localstatedir)/run/asterisk by default.
1180
 * ASTVARRUNDIR is now set to $(localstatedir)/run/asterisk by default.
1175
   This means the asterisk pid file will now be in /var/run/asterisk/asterisk.pid on LINUX
1181
   This means the asterisk pid file will now be in /var/run/asterisk/asterisk.pid on LINUX
1176
   instead of the /var/run/asterisk.pid where it used to be. This will make
1182
   instead of the /var/run/asterisk.pid where it used to be. This will make
1177
   installs as non-root easier to manage.
1183
   installs as non-root easier to manage.
1178

    
   
1184

   
1179
CDR
1185
CDR
1180
---
1186
---
1181

    
   
1187

   
1182
* The cdr.conf file must exist and be correctly programmed in order for CDR records to
1188
* The cdr.conf file must exist and be correctly programmed in order for CDR records to
1183
  be written; they will no longer be explicitly written.
1189
  be written; they will no longer be explicitly written.
1184

    
   
1190

   
1185
Asterisk Manager Interface
1191
Asterisk Manager Interface
1186
--------------------------
1192
--------------------------
1187
 * When using the AMI over HTTP, you can now include a 'SuppressEvents' header (with
1193
 * When using the AMI over HTTP, you can now include a 'SuppressEvents' header (with
1188
   a non-empty value) in your request. If you do this, any pending AMI events will
1194
   a non-empty value) in your request. If you do this, any pending AMI events will
1189
   *not* be included in the response to your request as they would normally, but
1195
   *not* be included in the response to your request as they would normally, but
1190
   will be left in the event queue for the next request you make to retrieve. For
1196
   will be left in the event queue for the next request you make to retrieve. For
1191
   some applications, this will allow you to guarantee that you will only see
1197
   some applications, this will allow you to guarantee that you will only see
1192
   events in responses to 'WaitEvent' actions, and can better know when to expect them.
1198
   events in responses to 'WaitEvent' actions, and can better know when to expect them.
1193
   To know whether the Asterisk server supports this header or not, your client can
1199
   To know whether the Asterisk server supports this header or not, your client can
1194
   inspect the first response back from the server to see if it includes this header:
1200
   inspect the first response back from the server to see if it includes this header:
1195

    
   
1201

   
1196
   Pragma: SuppressEvents
1202
   Pragma: SuppressEvents
1197

    
   
1203

   
1198
   If this is included, the server supports event suppression.
1204
   If this is included, the server supports event suppression.
1199

    
   
1205

   
1200
 * Added 4 new Actions to list skinny device(s) and line(s)
1206
 * Added 4 new Actions to list skinny device(s) and line(s)
1201
   SKINNYdevices
1207
   SKINNYdevices
1202
   SKINNYshowdevice
1208
   SKINNYshowdevice
1203
   SKINNYlines
1209
   SKINNYlines
1204
   SKINNYshowline
1210
   SKINNYshowline
1205

    
   
1211

   
1206
LDAP Schema File Additions
1212
LDAP Schema File Additions
1207
--------------------------
1213
--------------------------
1208
 * Added AsteriskDialplan, AsteriskAccount and AsteriskMailbox  objectClasses
1214
 * Added AsteriskDialplan, AsteriskAccount and AsteriskMailbox  objectClasses
1209
   to allow standalone dialplan, account and mailbox entries (STRUCTURAL)
1215
   to allow standalone dialplan, account and mailbox entries (STRUCTURAL)
1210
 * Added new Fields:
1216
 * Added new Fields:
1211
   - AstAccountLanguage, AstAccountTransport, AstAccountPromiscRedir,
1217
   - AstAccountLanguage, AstAccountTransport, AstAccountPromiscRedir,
1212
   - AstAccountAccountCode, AstAccountSetVar, AstAccountAllowOverlap,
1218
   - AstAccountAccountCode, AstAccountSetVar, AstAccountAllowOverlap,
1213
   - AstAccountVideoSupport, AstAccountIgnoreSDPVersion
1219
   - AstAccountVideoSupport, AstAccountIgnoreSDPVersion
1214
 * Removed redundant IPaddr (there's already IPAddress)
1220
 * Removed redundant IPaddr (there's already IPAddress)
1215
   - Gives more configuration Flags for SIP-Users available (tested)
1221
   - Gives more configuration Flags for SIP-Users available (tested)
1216
   - Allows to create Asterisk Attributes in defined Asterisk ObjectClasses
1222
   - Allows to create Asterisk Attributes in defined Asterisk ObjectClasses
1217
     without extensibleObject (which really should be the last resort); gives
1223
     without extensibleObject (which really should be the last resort); gives
1218
     also additional possibilities for LDAP-filter 
1224
     also additional possibilities for LDAP-filter 
1219

    
   
1225

   
1220
------------------------------------------------------------------------------
1226
------------------------------------------------------------------------------
1221
--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1  -------------
1227
--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1  -------------
1222
------------------------------------------------------------------------------
1228
------------------------------------------------------------------------------
1223

    
   
1229

   
1224
Device State Handling
1230
Device State Handling
1225
---------------------
1231
---------------------
1226
 * The event infrastructure in Asterisk got another big update to help support
1232
 * The event infrastructure in Asterisk got another big update to help support
1227
    distributed events.  It currently supports distributed device state and
1233
    distributed events.  It currently supports distributed device state and
1228
    distributed Voicemail MWI (Message Waiting Indication).  A new module has
1234
    distributed Voicemail MWI (Message Waiting Indication).  A new module has
1229
    been merged, res_ais, which facilitates communicating events between servers.
1235
    been merged, res_ais, which facilitates communicating events between servers.
1230
    It uses the SAForum AIS (Service Availability Forum Application Interface
1236
    It uses the SAForum AIS (Service Availability Forum Application Interface
1231
    Specification) CLM (Cluster Management) and EVT (Event) services to maintain
1237
    Specification) CLM (Cluster Management) and EVT (Event) services to maintain
1232
    a cluster of Asterisk servers, and to share events between them.  For more
1238
    a cluster of Asterisk servers, and to share events between them.  For more
1233
    information on setting this up, see doc/distributed_devstate.txt.
1239
    information on setting this up, see doc/distributed_devstate.txt.
1234

    
   
1240

   
1235
Dialplan Functions
1241
Dialplan Functions
1236
------------------
1242
------------------
1237
 * Added a new dialplan function, AST_CONFIG(), which allows you to access
1243
 * Added a new dialplan function, AST_CONFIG(), which allows you to access
1238
   variables from an Asterisk configuration file.
1244
   variables from an Asterisk configuration file.
1239
 * The JACK_HOOK function now has a c() option to supply a custom client name.
1245
 * The JACK_HOOK function now has a c() option to supply a custom client name.
1240
 * Added two new dialplan functions from libspeex for audio gain control and 
1246
 * Added two new dialplan functions from libspeex for audio gain control and 
1241
   denoise, AGC() and DENOISE(). Both functions can be applied to the tx and 
1247
   denoise, AGC() and DENOISE(). Both functions can be applied to the tx and 
1242
   rx directions of a channel from the dialplan.
1248
   rx directions of a channel from the dialplan.
1243
 * The SMDI_MSG_RETRIEVE function now has the ability to search for SMDI messages
1249
 * The SMDI_MSG_RETRIEVE function now has the ability to search for SMDI messages
1244
   based on other parameters.  The default is still to search based on the
1250
   based on other parameters.  The default is still to search based on the
1245
   forwarding station ID.  However, there are new options that allow you to search
1251
   forwarding station ID.  However, there are new options that allow you to search
1246
   based on the message desk terminal ID, or the message desk number.
1252
   based on the message desk terminal ID, or the message desk number.
1247
 * TIMEOUT() has been modified to be accurate down to the millisecond.
1253
 * TIMEOUT() has been modified to be accurate down to the millisecond.
1248
 * ENUM*() functions now include the following new options:
1254
 * ENUM*() functions now include the following new options:
1249
     - 'u' returns the full URI and does not strip off the URI-scheme.
1255
     - 'u' returns the full URI and does not strip off the URI-scheme.
1250
     - 's' triggers ISN specific rewriting
1256
     - 's' triggers ISN specific rewriting
1251
     - 'i' looks for branches into an Infrastructure ENUM tree
1257
     - 'i' looks for branches into an Infrastructure ENUM tree
1252
     - 'd' for a direct DNS lookup without any flipping of digits.
1258
     - 'd' for a direct DNS lookup without any flipping of digits.
1253
 * TXCIDNAME() has a new zone-suffix parameter (which defaults to 'e164.arpa')
1259
 * TXCIDNAME() has a new zone-suffix parameter (which defaults to 'e164.arpa')
1254
 * CHANNEL() now has options for the maximum, minimum, and standard or normal
1260
 * CHANNEL() now has options for the maximum, minimum, and standard or normal
1255
   deviation of jitter, rtt, and loss for a call using chan_sip.
1261
   deviation of jitter, rtt, and loss for a call using chan_sip.
1256

    
   
1262

   
1257
DAHDI channel driver (chan_dahdi) Changes
1263
DAHDI channel driver (chan_dahdi) Changes
1258
----------------------------------------
1264
----------------------------------------
1259
 * Channels can now be configured using named sections in chan_dahdi.conf, just
1265
 * Channels can now be configured using named sections in chan_dahdi.conf, just
1260
   like other channel drivers, including the use of templates.
1266
   like other channel drivers, including the use of templates.
1261
 * The default for pridialplan has changed from 'national' to 'unknown'.
1267
 * The default for pridialplan has changed from 'national' to 'unknown'.
1262

    
   
1268

   
1263
PBX Changes
1269
PBX Changes
1264
-----------
1270
-----------
1265
 * It is now possible to specify a pattern match as a hint. Once a phone subscribes
1271
 * It is now possible to specify a pattern match as a hint. Once a phone subscribes
1266
   to something that matches the pattern a hint will be created using the contents
1272
   to something that matches the pattern a hint will be created using the contents
1267
   and variables evaluated.
1273
   and variables evaluated.
1268
 * Dialplan matching has been extended to allow an extension to return to the
1274
 * Dialplan matching has been extended to allow an extension to return to the
1269
   PBX core to wait for more digits.  This is done by using the new dialplan
1275
   PBX core to wait for more digits.  This is done by using the new dialplan
1270
   application called "Incomplete".  This will permit a whole new level of
1276
   application called "Incomplete".  This will permit a whole new level of
1271
   extension control, by giving the administrator more control over early
1277
   extension control, by giving the administrator more control over early
1272
   matches employing one of the short-circuit pattern match operators.  Note
1278
   matches employing one of the short-circuit pattern match operators.  Note
1273
   that custom applications can trigger this same behavior by returning the
1279
   that custom applications can trigger this same behavior by returning the
1274
   special value AST_PBX_INCOMPLETE.
1280
   special value AST_PBX_INCOMPLETE.
1275

    
   
1281

   
1276
Application Changes
1282
Application Changes
1277
-------------------
1283
-------------------
1278
 * Directory now permits both first and last names to be matched at the same
1284
 * Directory now permits both first and last names to be matched at the same
1279
   time.  In addition, the number of digits to enter of the name can be set in
1285
   time.  In addition, the number of digits to enter of the name can be set in
1280
   the arguments to Directory; previously, you could enter only 3, regardless
1286
   the arguments to Directory; previously, you could enter only 3, regardless
1281
   of how many names are in your company.  For large companies, this should be
1287
   of how many names are in your company.  For large companies, this should be
1282
   quite helpful.
1288
   quite helpful.
1283
 * Voicemail now permits a mailbox setting to wrap around from first to last
1289
 * Voicemail now permits a mailbox setting to wrap around from first to last
1284
   messages, if the "messagewrap" option is set to a true value.
1290
   messages, if the "messagewrap" option is set to a true value.
1285
 * Voicemail now permits an external script to be run, for password validation.
1291
 * Voicemail now permits an external script to be run, for password validation.
1286
   The script should output "VALID" or "INVALID" on stdout, depending upon the
1292
   The script should output "VALID" or "INVALID" on stdout, depending upon the
1287
   wish to validate or invalidate the password given.  Arguments are:
1293
   wish to validate or invalidate the password given.  Arguments are:
1288
   "mailbox" "context" "oldpass" "newpass".  See the sample voicemail.conf for
1294
   "mailbox" "context" "oldpass" "newpass".  See the sample voicemail.conf for
1289
   more details
1295
   more details
1290
 * Dial has a new option: F(context^extension^pri), which permits a callee to
1296
 * Dial has a new option: F(context^extension^pri), which permits a callee to
1291
   continue in the dialplan, at the specified label, if the caller hangs up.
1297
   continue in the dialplan, at the specified label, if the caller hangs up.
1292
 * ChanSpy and ExtenSpy have a new option, 's' which suppresses speaking the
1298
 * ChanSpy and ExtenSpy have a new option, 's' which suppresses speaking the
1293
   technology name (e.g. SIP, IAX, etc) of the channel being spied on.
1299
   technology name (e.g. SIP, IAX, etc) of the channel being spied on.
1294
 * The Jack application now has a c() option to supply a custom client name.
1300
 * The Jack application now has a c() option to supply a custom client name.
1295
 * Chanspy has a new option, 'B', which can be used to "barge" on a call. This is
1301
 * Chanspy has a new option, 'B', which can be used to "barge" on a call. This is
1296
   like the pre-existing whisper mode, except that the spy can also talk to the
1302
   like the pre-existing whisper mode, except that the spy can also talk to the
1297
   participant on the bridged channel as well.
1303
   participant on the bridged channel as well.
1298
 * Chanspy has a new option, 'n', which will allow for the spied-on party's name
1304
 * Chanspy has a new option, 'n', which will allow for the spied-on party's name
1299
   to be spoken instead of the channel name or number. For more information on the
1305
   to be spoken instead of the channel name or number. For more information on the
1300
   use of this option, issue the command "core show application ChanSpy" from the 
1306
   use of this option, issue the command "core show application ChanSpy" from the 
1301
   Asterisk CLI.
1307
   Asterisk CLI.
1302
 * Chanspy has a new option, 'd', which allows the spy to use DTMF to swap between
1308
 * Chanspy has a new option, 'd', which allows the spy to use DTMF to swap between
1303
   spy modes. Use of this feature overrides the typical use of numeric DTMF. In other
1309
   spy modes. Use of this feature overrides the typical use of numeric DTMF. In other
1304
   words, if using the 'd' option, it is not possible to enter a number to append to
1310
   words, if using the 'd' option, it is not possible to enter a number to append to
1305
   the first argument to Chanspy(). Pressing 4 will change to spy mode, pressing 5 will
1311
   the first argument to Chanspy(). Pressing 4 will change to spy mode, pressing 5 will
1306
   change to whisper mode, and pressing 6 will change to barge mode.
1312
   change to whisper mode, and pressing 6 will change to barge mode.
1307
 * ExternalIVR now takes several options that affect the way it performs, as
1313
 * ExternalIVR now takes several options that affect the way it performs, as
1308
   well as having several new commands.  Please see doc/externalivr.txt for the
1314
   well as having several new commands.  Please see doc/externalivr.txt for the
1309
   complete documentation.
1315
   complete documentation.
1310
 * Added ability to communicate over a TCP socket instead of forking a child process for the 
1316
 * Added ability to communicate over a TCP socket instead of forking a child process for the 
1311
   ExternalIVR application.
1317
   ExternalIVR application.
1312
 * ChanIsAvail has a new option, 'a', which will return all available channels instead
1318
 * ChanIsAvail has a new option, 'a', which will return all available channels instead
1313
   of just the first one if you give the function more then one channel to check.
1319
   of just the first one if you give the function more then one channel to check.
1314
 * PrivacyManager now takes an option where you can specify a context where the 
1320
 * PrivacyManager now takes an option where you can specify a context where the 
1315
   given number will be matched. This way you have more control over who is allowed
1321
   given number will be matched. This way you have more control over who is allowed
1316
   and it stops the people who blindly enter 10 digits.
1322
   and it stops the people who blindly enter 10 digits.
1317
 * ForkCDR has new options: 'a' updates the answer time on the new CDR; 'A' locks
1323
 * ForkCDR has new options: 'a' updates the answer time on the new CDR; 'A' locks
1318
   answer times, disposition, on orig CDR against updates; 'D' Copies the disposition
1324
   answer times, disposition, on orig CDR against updates; 'D' Copies the disposition
1319
   from the orig CDR to the new CDR after reset; 'e' sets the 'end' time on the
1325
   from the orig CDR to the new CDR after reset; 'e' sets the 'end' time on the
1320
   original CDR; 'R' prevents the new CDR from being reset; 's(var=val)' adds/changes
1326
   original CDR; 'R' prevents the new CDR from being reset; 's(var=val)' adds/changes
1321
   the 'var' variable on the original CDR; 'T' forces ast_cdr_end(), ast_cdr_answer(),
1327
   the 'var' variable on the original CDR; 'T' forces ast_cdr_end(), ast_cdr_answer(),
1322
   obey the LOCKED flag on cdr's in the chain, and also the ast_cdr_setvar() func.
1328
   obey the LOCKED flag on cdr's in the chain, and also the ast_cdr_setvar() func.
1323
 * The Dial() application no longer copies the language used by the caller to the callee's
1329
 * The Dial() application no longer copies the language used by the caller to the callee's
1324
   channel. If you desire for the caller's channel's language to be used for file playback
1330
   channel. If you desire for the caller's channel's language to be used for file playback
1325
   to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" .
1331
   to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" .
1326
 * SendImage() no longer hangs up the channel on error; instead, it sets the
1332
 * SendImage() no longer hangs up the channel on error; instead, it sets the
1327
   status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or
1333
   status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or
1328
   'UNSUPPORTED'.  This change makes SendImage() more consistent with other
1334
   'UNSUPPORTED'.  This change makes SendImage() more consistent with other
1329
   applications.
1335
   applications.
1330
 * Park has a new option, 's', which silences the announcement of the parking space number.
1336
 * Park has a new option, 's', which silences the announcement of the parking space number.
1331
 * A non-numeric, zero, or negative timeout specified to Dial() will now be interpreted as
1337
 * A non-numeric, zero, or negative timeout specified to Dial() will now be interpreted as
1332
   invalid input and will be assumed to mean that no timeout is desired.
1338
   invalid input and will be assumed to mean that no timeout is desired.
1333

    
   
1339

   
1334
SIP Changes
1340
SIP Changes
1335
-----------
1341
-----------
1336
 * Added DNS manager support to registrations for peers referencing peer entries.
1342
 * Added DNS manager support to registrations for peers referencing peer entries.
1337
   DNS manager runs in the background which allows DNS lookups to be run asynchronously 
1343
   DNS manager runs in the background which allows DNS lookups to be run asynchronously 
1338
   as well as periodically updating the IP address. These properties allow for
1344
   as well as periodically updating the IP address. These properties allow for
1339
   better performance as well as recovery in the event of an IP change.
1345
   better performance as well as recovery in the event of an IP change.
1340
 * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve 
1346
 * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve 
1341
   load/reload of large numbers of peers/users by ~40x (for large lists of peers).
1347
   load/reload of large numbers of peers/users by ~40x (for large lists of peers).
1342
   These changes also provide performance improvements for call setup and tear down.
1348
   These changes also provide performance improvements for call setup and tear down.
1343
 * Added ability to specify registration expiry time on a per registration basis in
1349
 * Added ability to specify registration expiry time on a per registration basis in
1344
   the register line.
1350
   the register line.
1345
 * Added support for T140 RED - redundancy in T.140 to prevent text loss due to
1351
 * Added support for T140 RED - redundancy in T.140 to prevent text loss due to
1346
   lost packets.
1352
   lost packets.
1347
 * Added t38pt_usertpsource option. See sip.conf.sample for details.
1353
 * Added t38pt_usertpsource option. See sip.conf.sample for details.
1348
 * Added SIPnotify AMI command, for sending arbitrary SIP notify commands.
1354
 * Added SIPnotify AMI command, for sending arbitrary SIP notify commands.
1349
 * 'sip show peers' and 'sip show users' display their entries sorted in
1355
 * 'sip show peers' and 'sip show users' display their entries sorted in
1350
    alphabetical order, as opposed to the order they were in, in the config 
1356
    alphabetical order, as opposed to the order they were in, in the config 
1351
    file or database. 
1357
    file or database. 
1352
 * Videosupport now supports an additional option, "always", which always sets
1358
 * Videosupport now supports an additional option, "always", which always sets
1353
    up video RTP ports, even on clients that don't support it.  This helps with
1359
    up video RTP ports, even on clients that don't support it.  This helps with
1354
    callfiles and certain transfers to ensure that if two video phones are
1360
    callfiles and certain transfers to ensure that if two video phones are
1355
    connected, they will always share video feeds.
1361
    connected, they will always share video feeds.
1356

    
   
1362

   
1357
IAX Changes
1363
IAX Changes
1358
-----------
1364
-----------
1359
 * Existing DNS manager lookups extended to check for SRV records.
1365
 * Existing DNS manager lookups extended to check for SRV records.
1360
 * IAX2 encryption support has been improved to support periodic key rotation
1366
 * IAX2 encryption support has been improved to support periodic key rotation
1361
   within a call for enhanced security.  The option "keyrotate" has been
1367
   within a call for enhanced security.  The option "keyrotate" has been
1362
   provided to disable this functionality to preserve backwards compatibility
1368
   provided to disable this functionality to preserve backwards compatibility
1363
   with older versions of IAX2 that do not support key rotation.
1369
   with older versions of IAX2 that do not support key rotation.
1364

    
   
1370

   
1365
CLI Changes
1371
CLI Changes
1366
-----------
1372
-----------
1367
  * New CLI command, "data get <path> [<search> [<filter>]]" which retrieves the
1373
  * New CLI command, "data get <path> [<search> [<filter>]]" which retrieves the
1368
     data tree based on the given <path>.
1374
     data tree based on the given <path>.
1369
  * New CLI command "data show providers" that will display all the registered
1375
  * New CLI command "data show providers" that will display all the registered
1370
     callbacks.
1376
     callbacks.
1371
  * New CLI command, "config reload <file.conf>" which reloads any module that
1377
  * New CLI command, "config reload <file.conf>" which reloads any module that
1372
     references that particular configuration file.  Also added "config list"
1378
     references that particular configuration file.  Also added "config list"
1373
     which shows which configuration files are in use.
1379
     which shows which configuration files are in use.
1374
  * New CLI commands, "pri show version" and "ss7 show version" that will
1380
  * New CLI commands, "pri show version" and "ss7 show version" that will
1375
     display which version of libpri and libss7 are being used, respectively.
1381
     display which version of libpri and libss7 are being used, respectively.
1376
     A new API call was added so trunk will now have to be compiled against
1382
     A new API call was added so trunk will now have to be compiled against
1377
     a versions of libpri and libss7 that have them or it will not know that
1383
     a versions of libpri and libss7 that have them or it will not know that
1378
     these libraries exist.
1384
     these libraries exist.
1379
  * The commands "core show globals", "core set global" and "core set chanvar" has
1385
  * The commands "core show globals", "core set global" and "core set chanvar" has
1380
     been deprecated in favor of the more semanticly correct "dialplan show globals",
1386
     been deprecated in favor of the more semanticly correct "dialplan show globals",
1381
     "dialplan set chanvar" and "dialplan set global".
1387
     "dialplan set chanvar" and "dialplan set global".
1382
  * New CLI command "dialplan show chanvar" to list all variables associated
1388
  * New CLI command "dialplan show chanvar" to list all variables associated
1383
    with a given channel.
1389
    with a given channel.
1384

    
   
1390

   
1385
DNS manager changes
1391
DNS manager changes
1386
-------------------
1392
-------------------
1387
  * Addresses managed by DNS manager now can check to see if there is a DNS
1393
  * Addresses managed by DNS manager now can check to see if there is a DNS
1388
    SRV record for a given domain and will use that hostname/port if present.
1394
    SRV record for a given domain and will use that hostname/port if present.
1389

    
   
1395

   
1390
AMI - The manager (TCP/TLS/HTTP)
1396
AMI - The manager (TCP/TLS/HTTP)
1391
--------------------------------
1397
--------------------------------
1392
  * The Status command now takes an optional list of variables to display
1398
  * The Status command now takes an optional list of variables to display
1393
    along with channel status.
1399
    along with channel status.
1394
  * The QueueEntry event now also includes the channel's uniqueid
1400
  * The QueueEntry event now also includes the channel's uniqueid
1395

    
   
1401

   
1396
ODBC Changes
1402
ODBC Changes
1397
------------
1403
------------
1398
  * res_odbc no longer has a limit of 1023 total possible unshared connections,
1404
  * res_odbc no longer has a limit of 1023 total possible unshared connections,
1399
    as some people were running into this limit.  This limit has been increased
1405
    as some people were running into this limit.  This limit has been increased
1400
    to 4.2 billion.
1406
    to 4.2 billion.
1401

    
   
1407

   
1402
Queue changes
1408
Queue changes
1403
-------------
1409
-------------
1404
  * The TRANSFER queue log entry now includes the the caller's original
1410
  * The TRANSFER queue log entry now includes the the caller's original
1405
    position in the transferred-from queue.
1411
    position in the transferred-from queue.
1406
  * A new configuration option, "timeoutpriority" has been added. Please see the section labeled
1412
  * A new configuration option, "timeoutpriority" has been added. Please see the section labeled
1407
    "QUEUE TIMING OPTIONS" in configs/queues.conf.sample for a detailed explanation of the option
1413
    "QUEUE TIMING OPTIONS" in configs/queues.conf.sample for a detailed explanation of the option
1408
    as well as an explanation about timeout options in general
1414
    as well as an explanation about timeout options in general
1409
  * Added a new option - C - for forcing the "answered elsewhere" flag on
1415
  * Added a new option - C - for forcing the "answered elsewhere" flag on
1410
    cancellation of calls in to members of the queue. This is to avoid the
1416
    cancellation of calls in to members of the queue. This is to avoid the
1411
    call to a member of a queue having the call listed as a "missed call".
1417
    call to a member of a queue having the call listed as a "missed call".
1412

    
   
1418

   
1413
Realtime changes
1419
Realtime changes
1414
----------------
1420
----------------
1415
  * Several (ODBC, Postgres, MySQL, SQLite) realtime drivers have been given
1421
  * Several (ODBC, Postgres, MySQL, SQLite) realtime drivers have been given
1416
    adaptive capabilities.  What this means in practical terms is that if your
1422
    adaptive capabilities.  What this means in practical terms is that if your
1417
    realtime table lacks critical fields, Asterisk will now emit warnings to
1423
    realtime table lacks critical fields, Asterisk will now emit warnings to
1418
    that effect.  Also, some of the realtime drivers have the ability (if
1424
    that effect.  Also, some of the realtime drivers have the ability (if
1419
    configured) to automatically add those columns to the table with the
1425
    configured) to automatically add those columns to the table with the
1420
    correct type and length.
1426
    correct type and length.
1421

    
   
1427

   
1422
Miscellaneous
1428
Miscellaneous
1423
-------------
1429
-------------
1424
  * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND can now be set using
1430
  * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND can now be set using
1425
    the 'setvar' option to cause a given audio file to be played upon completion
1431
    the 'setvar' option to cause a given audio file to be played upon completion
1426
    of an attended transfer.  Currently it works for DAHDI, IAX2, SIP, and
1432
    of an attended transfer.  Currently it works for DAHDI, IAX2, SIP, and
1427
    Skinny channels only.
1433
    Skinny channels only.
1428
  * You can now compile Asterisk against the Hoard Memory Allocator, see doc/hoard.txt
1434
  * You can now compile Asterisk against the Hoard Memory Allocator, see doc/hoard.txt
1429
    for more information.
1435
    for more information.
1430
  * Config file variables may now be appended to, by using the '+=' append
1436
  * Config file variables may now be appended to, by using the '+=' append
1431
    operator.  This is most helpful when working with long SQL queries in
1437
    operator.  This is most helpful when working with long SQL queries in
1432
    func_odbc.conf, as the queries no longer need to be specified on a single
1438
    func_odbc.conf, as the queries no longer need to be specified on a single
1433
    line.
1439
    line.
1434
  * CDR config file, cdr.conf, has an added option, "initiatedseconds", 
1440
  * CDR config file, cdr.conf, has an added option, "initiatedseconds", 
1435
    which will add a second to the billsec when the ending
1441
    which will add a second to the billsec when the ending
1436
    time is set, if the number in the microseconds field of the end time is 
1442
    time is set, if the number in the microseconds field of the end time is 
1437
    greater than the number of microseconds in the answer time. This allows
1443
    greater than the number of microseconds in the answer time. This allows
1438
    users to count the 'initiated' seconds in their billing records. 
1444
    users to count the 'initiated' seconds in their billing records. 
1439

    
   
1445

   
1440
------------------------------------------------------------------------------
1446
------------------------------------------------------------------------------
1441
--- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------
1447
--- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------
1442
------------------------------------------------------------------------------
1448
------------------------------------------------------------------------------
1443

    
   
1449

   
1444
AMI - The manager (TCP/TLS/HTTP)
1450
AMI - The manager (TCP/TLS/HTTP)
1445
--------------------------------
1451
--------------------------------
1446
  * Manager has undergone a lot of changes, all of them documented
1452
  * Manager has undergone a lot of changes, all of them documented
1447
    in doc/manager_1_1.txt
1453
    in doc/manager_1_1.txt
1448
  * Manager version has changed to 1.1
1454
  * Manager version has changed to 1.1
1449
  * Added a new action 'CoreShowChannels' to list currently defined channels
1455
  * Added a new action 'CoreShowChannels' to list currently defined channels
1450
     and some information about them. 
1456
     and some information about them. 
1451
  * Added a new action 'SIPshowregistry' to list SIP registrations.
1457
  * Added a new action 'SIPshowregistry' to list SIP registrations.
1452
  * Added TLS support for the manager interface and HTTP server
1458
  * Added TLS support for the manager interface and HTTP server
1453
  * Added the URI redirect option for the built-in HTTP server
1459
  * Added the URI redirect option for the built-in HTTP server
1454
  * The output of CallerID in Manager events is now more consistent.
1460
  * The output of CallerID in Manager events is now more consistent.
1455
     CallerIDNum is used for number and CallerIDName for name.
1461
     CallerIDNum is used for number and CallerIDName for name.
1456
  * Enable https support for builtin web server.
1462
  * Enable https support for builtin web server.
1457
     See configs/http.conf.sample for details.
1463
     See configs/http.conf.sample for details.
1458
  * Added a new action, GetConfigJSON, which can return the contents of an
1464
  * Added a new action, GetConfigJSON, which can return the contents of an
1459
     Asterisk configuration file in JSON format.  This is intended to help
1465
     Asterisk configuration file in JSON format.  This is intended to help
1460
     improve the performance of AJAX applications using the manager interface
1466
     improve the performance of AJAX applications using the manager interface
1461
     over HTTP.
1467
     over HTTP.
1462
  * SIP and IAX manager events now use "ChannelType" in all cases where we 
1468
  * SIP and IAX manager events now use "ChannelType" in all cases where we 
1463
     indicate channel driver. Previously, we used a mixture of "Channel"
1469
     indicate channel driver. Previously, we used a mixture of "Channel"
1464
     and "ChannelDriver" headers.
1470
     and "ChannelDriver" headers.
1465
  * Added a "Bridge" action which allows you to bridge any two channels that
1471
  * Added a "Bridge" action which allows you to bridge any two channels that
1466
     are currently active on the system.
1472
     are currently active on the system.
1467
  * Added a "ListAllVoicemailUsers" action that allows you to get a list of all
1473
  * Added a "ListAllVoicemailUsers" action that allows you to get a list of all
1468
     the voicemail users setup.
1474
     the voicemail users setup.
1469
  * Added 'DBDel' and 'DBDelTree' manager commands.
1475
  * Added 'DBDel' and 'DBDelTree' manager commands.
1470
  * cdr_manager now reports events via the "cdr" level, separating it from
1476
  * cdr_manager now reports events via the "cdr" level, separating it from
1471
     the very verbose "call" level.
1477
     the very verbose "call" level.
1472
  * Manager users are now stored in memory. If you change the manager account
1478
  * Manager users are now stored in memory. If you change the manager account
1473
    list (delete or add accounts) you need to reload manager.
1479
    list (delete or add accounts) you need to reload manager.
1474
  * Added Masquerade manager event for when a masquerade happens between
1480
  * Added Masquerade manager event for when a masquerade happens between
1475
     two channels.
1481
     two channels.
1476
  * Added "manager reload" command for the CLI
1482
  * Added "manager reload" command for the CLI
1477
  * Lots of commands that only provided information are now allowed under the
1483
  * Lots of commands that only provided information are now allowed under the
1478
     Reporting privilege, instead of only under Call or System.
1484
     Reporting privilege, instead of only under Call or System.
1479
  * The IAX* commands now require either System or Reporting privilege, to
1485
  * The IAX* commands now require either System or Reporting privilege, to
1480
     mirror the privileges of the SIP* commands.
1486
     mirror the privileges of the SIP* commands.
1481
  * Added ability to retrieve list of categories in a config file.
1487
  * Added ability to retrieve list of categories in a config file.
1482
  * Added ability to retrieve the content of a particular category.
1488
  * Added ability to retrieve the content of a particular category.
1483
  * Added ability to empty a context.
1489
  * Added ability to empty a context.
1484
  * Created new action to create a new file.
1490
  * Created new action to create a new file.
1485
  * Updated delete action to allow deletion by line number with respect to category.
1491
  * Updated delete action to allow deletion by line number with respect to category.
1486
  * Added new action insert to add new variable to category at specified line.
1492
  * Added new action insert to add new variable to category at specified line.
1487
  * Updated action newcat to allow new category to be inserted in file above another
1493
  * Updated action newcat to allow new category to be inserted in file above another
1488
    existing category.
1494
    existing category.
1489
  * Added new event "JitterBufStats" in the IAX2 channel
1495
  * Added new event "JitterBufStats" in the IAX2 channel
1490
  * Originate now requires the Originate privilege and, if you want to call out
1496
  * Originate now requires the Originate privilege and, if you want to call out
1491
    to a subshell, it requires the System privilege, as well.  This was done to
1497
    to a subshell, it requires the System privilege, as well.  This was done to
1492
    enhance manager security.
1498
    enhance manager security.
1493
  * Originate now accepts codec settings with "Codecs: alaw, ulaw, h264" 
1499
  * Originate now accepts codec settings with "Codecs: alaw, ulaw, h264" 
1494
  * New command: Atxfer. See doc/manager_1_1.txt for more details or 
1500
  * New command: Atxfer. See doc/manager_1_1.txt for more details or 
1495
    manager show command Atxfer from the CLI
1501
    manager show command Atxfer from the CLI
1496
  * New command: IAXregistry. See doc/manager_1_1.txt for more details or
1502
  * New command: IAXregistry. See doc/manager_1_1.txt for more details or
1497
    manager show command IAXregistry from the CLI
1503
    manager show command IAXregistry from the CLI
1498

    
   
1504

   
1499
Dialplan functions
1505
Dialplan functions
1500
------------------
1506
------------------
1501
  * Added the DEVICE_STATE() dialplan function which allows retrieving any device
1507
  * Added the DEVICE_STATE() dialplan function which allows retrieving any device
1502
     state in the dialplan, as well as creating custom device states that are
1508
     state in the dialplan, as well as creating custom device states that are
1503
     controllable from the dialplan.
1509
     controllable from the dialplan.
1504
  * Extend CALLERID() function with "pres" and "ton" parameters to
1510
  * Extend CALLERID() function with "pres" and "ton" parameters to
1505
     fetch string representation of calling number presentation indicator
1511
     fetch string representation of calling number presentation indicator
1506
     and numeric representation of type of calling number value.
1512
     and numeric representation of type of calling number value.
1507
  * MailboxExists converted to dialplan function
1513
  * MailboxExists converted to dialplan function
1508
  * A new option to Dial() for telling IP phones not to count the call
1514
  * A new option to Dial() for telling IP phones not to count the call
1509
     as "missed" when dial times out and cancels.
1515
     as "missed" when dial times out and cancels.
1510
  * Added LOCK(), TRYLOCK(), and UNLOCK(), which provide a single level dialplan
1516
  * Added LOCK(), TRYLOCK(), and UNLOCK(), which provide a single level dialplan
1511
     mutex.  No deadlocks are possible, as LOCK() only allows a single lock to be
1517
     mutex.  No deadlocks are possible, as LOCK() only allows a single lock to be
1512
     held for any given channel.  Also, locks are automatically freed when a
1518
     held for any given channel.  Also, locks are automatically freed when a
1513
     channel is hung up.
1519
     channel is hung up.
1514
  * Added HINT() dialplan function that allows retrieving hint information.
1520
  * Added HINT() dialplan function that allows retrieving hint information.
1515
     Hints are mappings between extensions and devices for the sake of 
1521
     Hints are mappings between extensions and devices for the sake of 
1516
     determining the state of an extension.  This function can retrieve the list
1522
     determining the state of an extension.  This function can retrieve the list
1517
     of devices or the name associated with a hint.
1523
     of devices or the name associated with a hint.
1518
  * Added EXTENSION_STATE() dialplan function which allows retrieving the state
1524
  * Added EXTENSION_STATE() dialplan function which allows retrieving the state
1519
    of any extension.
1525
    of any extension.
1520
  * Added SYSINFO() dialplan function which allows retrieval of system information
1526
  * Added SYSINFO() dialplan function which allows retrieval of system information
1521
  * Added a new dialplan function, DIALPLAN_EXISTS(), which allows you to check for
1527
  * Added a new dialplan function, DIALPLAN_EXISTS(), which allows you to check for
1522
     the existence of a dialplan target.
1528
     the existence of a dialplan target.
1523
  * Added two new dialplan functions, TOUPPER and TOLOWER, which convert a string to
1529
  * Added two new dialplan functions, TOUPPER and TOLOWER, which convert a string to
1524
     upper and lower case, respectively.
1530
     upper and lower case, respectively.
1525
  * When bridging, Asterisk sets the BRIDGEPVTCALLID to the channel drivers unique
1531
  * When bridging, Asterisk sets the BRIDGEPVTCALLID to the channel drivers unique
1526
     ID for the call (not the Asterisk call ID or unique ID), provided that the
1532
     ID for the call (not the Asterisk call ID or unique ID), provided that the
1527
     channel driver supports this. For SIP, you get the SIP call-ID for the
1533
     channel driver supports this. For SIP, you get the SIP call-ID for the
1528
     bridged channel which you can store in the CDR with a custom field.
1534
     bridged channel which you can store in the CDR with a custom field.
1529

    
   
1535

   
1530
CLI Changes
1536
CLI Changes
1531
-----------
1537
-----------
1532
  * Added CLI permissions, config file: cli_permissions.conf
1538
  * Added CLI permissions, config file: cli_permissions.conf
1533
     default is to allow all commands for every local user/group.
1539
     default is to allow all commands for every local user/group.
1534
     Also this new feature added three new CLI commands:
1540
     Also this new feature added three new CLI commands:
1535
      - cli check permissions {<username>|@<groupname>|<username>@<groupname>} [<command>]
1541
      - cli check permissions {<username>|@<groupname>|<username>@<groupname>} [<command>]
1536
      - cli reload permissions
1542
      - cli reload permissions
1537
      - cli show permissions
1543
      - cli show permissions
1538
  * New CLI command "core show hint" (usage: core show hint <exten>)
1544
  * New CLI command "core show hint" (usage: core show hint <exten>)
1539
  * New CLI command "core show settings"
1545
  * New CLI command "core show settings"
1540
  * Added 'core show channels count' CLI command.
1546
  * Added 'core show channels count' CLI command.
1541
  * Added the ability to set the core debug and verbose values on a per-file basis.
1547
  * Added the ability to set the core debug and verbose values on a per-file basis.
1542
  * Added 'queue pause member' and 'queue unpause member' CLI commands
1548
  * Added 'queue pause member' and 'queue unpause member' CLI commands
1543
  * Ability to set process limits ("ulimit") without restarting Asterisk
1549
  * Ability to set process limits ("ulimit") without restarting Asterisk
1544
  * Enhanced "agi debug" to print the channel name as a prefix to the debug
1550
  * Enhanced "agi debug" to print the channel name as a prefix to the debug
1545
     output to make debugging on busy systems much easier.
1551
     output to make debugging on busy systems much easier.
1546
  * New CLI commands "dialplan set extenpatternmatching true/false"
1552
  * New CLI commands "dialplan set extenpatternmatching true/false"
1547
  * New CLI command: "core set chanvar" to set a channel variable from the CLI.
1553
  * New CLI command: "core set chanvar" to set a channel variable from the CLI.
1548
  * Added an easy way to execute Asterisk CLI commands at startup.  Any commands
1554
  * Added an easy way to execute Asterisk CLI commands at startup.  Any commands
1549
    listed in the startup_commands section of cli.conf will get executed.
1555
    listed in the startup_commands section of cli.conf will get executed.
1550
  * Added a CLI command, "devstate change", which allows you to set custom device
1556
  * Added a CLI command, "devstate change", which allows you to set custom device
1551
     states from the func_devstate module that provides the DEVICE_STATE() function
1557
     states from the func_devstate module that provides the DEVICE_STATE() function
1552
     and handling of the "Custom:" devices.
1558
     and handling of the "Custom:" devices.
1553
  * New CLI command: "sip show sched" which shows all ast_sched entries for sip,
1559
  * New CLI command: "sip show sched" which shows all ast_sched entries for sip,
1554
    sorted into the different possible callbacks, with the number of entries
1560
    sorted into the different possible callbacks, with the number of entries
1555
    currently scheduled for each. Gives you a feel for how busy the sip channel
1561
    currently scheduled for each. Gives you a feel for how busy the sip channel
1556
    driver is.
1562
    driver is.
1557
  * Added 'skinny show lines verbose' CLI command. This will show the subs for every channel.
1563
  * Added 'skinny show lines verbose' CLI command. This will show the subs for every channel.
1558
  * Cleanup another bunch of CLI commands. Now all modules follow the same schema.
1564
  * Cleanup another bunch of CLI commands. Now all modules follow the same schema.
1559
    (Done by lmadsen, junky and mvanbaak during the devcon 2008)
1565
    (Done by lmadsen, junky and mvanbaak during the devcon 2008)
1560

    
   
1566

   
1561
SIP changes
1567
SIP changes
1562
-----------
1568
-----------
1563
 * Added a new 'faxdetect=yes|no' configuration option to sip.conf.  When this
1569
 * Added a new 'faxdetect=yes|no' configuration option to sip.conf.  When this
1564
    option is enabled, Asterisk will watch for a CNG tone in the incoming audio
1570
    option is enabled, Asterisk will watch for a CNG tone in the incoming audio
1565
    for a received call.  If it is detected, the channel will jump to the 
1571
    for a received call.  If it is detected, the channel will jump to the 
1566
    'fax' extension in the dialplan.
1572
    'fax' extension in the dialplan.
1567
  * The default SIP useragent= identifier now includes the Asterisk version
1573
  * The default SIP useragent= identifier now includes the Asterisk version
1568
  * A new option, match_auth_username in sip.conf changes the matching of incoming requests.
1574
  * A new option, match_auth_username in sip.conf changes the matching of incoming requests.
1569
     If set, and the incoming request carries authentication info,
1575
     If set, and the incoming request carries authentication info,
1570
     the username to match in the users list is taken from the Digest header
1576
     the username to match in the users list is taken from the Digest header
1571
     rather than from the From: field. This feature is considered experimental.
1577
     rather than from the From: field. This feature is considered experimental.
1572
  * The "musiconhold" and "musicclass" settings in sip.conf are now removed,
1578
  * The "musiconhold" and "musicclass" settings in sip.conf are now removed,
1573
     since they where replaced by "mohsuggest" and "mohinterpret" in version 1.4
1579
     since they where replaced by "mohsuggest" and "mohinterpret" in version 1.4
1574
  * The "localmask" setting was removed in version 1.2 and the reminder about it
1580
  * The "localmask" setting was removed in version 1.2 and the reminder about it
1575
     being removed is now also removed.
1581
     being removed is now also removed.
1576
  * A new option "busylevel" for setting a level of calls where asterisk reports
1582
  * A new option "busylevel" for setting a level of calls where asterisk reports
1577
     a device as busy, to separate it from call-limit. This value is also added
1583
     a device as busy, to separate it from call-limit. This value is also added
1578
     to the SIP_PEER dialplan function.
1584
     to the SIP_PEER dialplan function.
1579
  * A new realtime family called "sipregs" is now supported to store SIP registration
1585
  * A new realtime family called "sipregs" is now supported to store SIP registration
1580
     data. If this family is defined, "sippeers" will be used for configuration and
1586
     data. If this family is defined, "sippeers" will be used for configuration and
1581
     "sipregs" for registrations. If it's not defined, "sippeers" will be used for
1587
     "sipregs" for registrations. If it's not defined, "sippeers" will be used for
1582
     registration data, as before.
1588
     registration data, as before.
1583
  * The SIPPEER function have new options for port address, call and pickup groups
1589
  * The SIPPEER function have new options for port address, call and pickup groups
1584
  * Added support for T.140 realtime text in SIP/RTP
1590
  * Added support for T.140 realtime text in SIP/RTP
1585
  * The "checkmwi" option has been removed from sip.conf, as it is no longer
1591
  * The "checkmwi" option has been removed from sip.conf, as it is no longer
1586
     required due to the restructuring of how MWI is handled.  See the descriptions 
1592
     required due to the restructuring of how MWI is handled.  See the descriptions 
1587
     in this file of the "pollmailboxes" and "pollfreq" options to voicemail.conf 
1593
     in this file of the "pollmailboxes" and "pollfreq" options to voicemail.conf 
1588
     for more information.
1594
     for more information.
1589
  * Added rtpdest option to CHANNEL() dialplan function.
1595
  * Added rtpdest option to CHANNEL() dialplan function.
1590
  * Added SIPREFERRINGCONTEXT and SIPREFERREDBYHDR variables which are set when a transfer takes place.
1596
  * Added SIPREFERRINGCONTEXT and SIPREFERREDBYHDR variables which are set when a transfer takes place.
1591
  * SIP now adds a header to the CANCEL if the call was answered by another phone
1597
  * SIP now adds a header to the CANCEL if the call was answered by another phone
1592
     in the same dial command, or if the new c option in dial() is used.
1598
     in the same dial command, or if the new c option in dial() is used.
1593
  * The new default is that 100 Trying is not sent on REGISTER attempts as the RFC specifically
1599
  * The new default is that 100 Trying is not sent on REGISTER attempts as the RFC specifically
1594
     states it is not needed. For phones, however, that do require it the "registertrying" option
1600
     states it is not needed. For phones, however, that do require it the "registertrying" option
1595
     has been added so it can be enabled. 
1601
     has been added so it can be enabled. 
1596
  * A new option called "callcounter" (global/peer/user level) enables call counters needed
1602
  * A new option called "callcounter" (global/peer/user level) enables call counters needed
1597
     for better status reports needed for queues and SIP subscriptions. (Call-Limit was previously
1603
     for better status reports needed for queues and SIP subscriptions. (Call-Limit was previously
1598
     used to enable this functionality).
1604
     used to enable this functionality).
1599
  * New settings for timer T1 and timer B on a global level or per device. This makes it 
1605
  * New settings for timer T1 and timer B on a global level or per device. This makes it 
1600
     possible to force timeout faster on non-responsive SIP servers. These settings are
1606
     possible to force timeout faster on non-responsive SIP servers. These settings are
1601
     considered advanced, so don't use them unless you have a problem.
1607
     considered advanced, so don't use them unless you have a problem.
1602
  * Added a dial string option to be able to set the To: header in an INVITE to any
1608
  * Added a dial string option to be able to set the To: header in an INVITE to any
1603
     SIP uri.
1609
     SIP uri.
1604
  * Added a new global and per-peer option, qualifyfreq, which allows you to configure
1610
  * Added a new global and per-peer option, qualifyfreq, which allows you to configure
1605
     the qualify frequency.
1611
     the qualify frequency.
1606
  * Added SIP Session Timers support (RFC 4028).  This prevents stuck SIP sessions that
1612
  * Added SIP Session Timers support (RFC 4028).  This prevents stuck SIP sessions that
1607
     were not properly torn down due to network or endpoint failures during an established
1613
     were not properly torn down due to network or endpoint failures during an established
1608
     SIP session.
1614
     SIP session.
1609
  * Added experimental TCP and TLS support for SIP.  See doc/siptls.txt and 
1615
  * Added experimental TCP and TLS support for SIP.  See doc/siptls.txt and 
1610
     configs/sip.conf.sample for more information on how it is used.
1616
     configs/sip.conf.sample for more information on how it is used.
1611
  * Added a new configuration option "authfailureevents" that enables manager events when
1617
  * Added a new configuration option "authfailureevents" that enables manager events when
1612
    a peer can't authenticate properly. 
1618
    a peer can't authenticate properly. 
1613
  * Added DNS manager support to registrations for peers not referencing a peer entry.
1619
  * Added DNS manager support to registrations for peers not referencing a peer entry.
1614

    
   
1620

   
1615
IAX2 changes
1621
IAX2 changes
1616
------------
1622
------------
1617
  * Added the trunkmaxsize configuration option to chan_iax2.
1623
  * Added the trunkmaxsize configuration option to chan_iax2.
1618
  * Added the srvlookup option to iax.conf
1624
  * Added the srvlookup option to iax.conf
1619
  * Added support for OSP.  The token is set and retrieved through the CHANNEL()
1625
  * Added support for OSP.  The token is set and retrieved through the CHANNEL()
1620
     dialplan function.
1626
     dialplan function.
1621

    
   
1627

   
1622
XMPP Google Talk/Jingle changes
1628
XMPP Google Talk/Jingle changes
1623
-------------------------------
1629
-------------------------------
1624
  * Added the bindaddr option to gtalk.conf.
1630
  * Added the bindaddr option to gtalk.conf.
1625

    
   
1631

   
1626
Skinny changes
1632
Skinny changes
1627
-------------
1633
-------------
1628
  * Added skinny show device, skinny show line, and skinny show settings CLI commands.
1634
  * Added skinny show device, skinny show line, and skinny show settings CLI commands.
1629
  * Proper codec support in chan_skinny.
1635
  * Proper codec support in chan_skinny.
1630
  * Added settings for IP and Ethernet QoS requests
1636
  * Added settings for IP and Ethernet QoS requests
1631

    
   
1637

   
1632
MGCP changes
1638
MGCP changes
1633
------------
1639
------------
1634
  * Added separate settings for media QoS in mgcp.conf
1640
  * Added separate settings for media QoS in mgcp.conf
1635

    
   
1641

   
1636
Console Channel Driver changes
1642
Console Channel Driver changes
1637
------------------------------
1643
------------------------------
1638
  * Added experimental support for video send & receive to chan_oss.
1644
  * Added experimental support for video send & receive to chan_oss.
1639
    This requires SDL and ffmpeg/avcodec, plus Video4Linux or X11 to act as
1645
    This requires SDL and ffmpeg/avcodec, plus Video4Linux or X11 to act as
1640
    a video source.
1646
    a video source.
1641

    
   
1647

   
1642
Phone channel changes (chan_phone)
1648
Phone channel changes (chan_phone)
1643
----------------------------------
1649
----------------------------------
1644
  * Added G729 passthrough support to chan_phone for Sigma Designs boards.
1650
  * Added G729 passthrough support to chan_phone for Sigma Designs boards.
1645

    
   
1651

   
1646
H.323 channel Changes
1652
H.323 channel Changes
1647
---------------------
1653
---------------------
1648
  * H323 remote hold notification support added (by NOTIFY message
1654
  * H323 remote hold notification support added (by NOTIFY message
1649
     and/or H.450 supplementary service)
1655
     and/or H.450 supplementary service)
1650

    
   
1656

   
1651
Local channel changes
1657
Local channel changes
1652
---------------------
1658
---------------------
1653
  * The device state functionality in the Local channel driver has been updated
1659
  * The device state functionality in the Local channel driver has been updated
1654
     to indicate INUSE or NOT_INUSE when a Local channel is being used as opposed
1660
     to indicate INUSE or NOT_INUSE when a Local channel is being used as opposed
1655
     to just UNKNOWN if the extension exists.
1661
     to just UNKNOWN if the extension exists.
1656
  * Added jitterbuffer support for chan_local.  This allows you to use the
1662
  * Added jitterbuffer support for chan_local.  This allows you to use the
1657
     generic jitterbuffer on incoming calls going to Asterisk applications.
1663
     generic jitterbuffer on incoming calls going to Asterisk applications.
1658
     For example, this would allow you to use a jitterbuffer for an incoming
1664
     For example, this would allow you to use a jitterbuffer for an incoming
1659
     SIP call to Voicemail by putting a Local channel in the middle.  This
1665
     SIP call to Voicemail by putting a Local channel in the middle.  This
1660
     feature is enabled by using the 'j' option in the Dial string to the Local
1666
     feature is enabled by using the 'j' option in the Dial string to the Local
1661
     channel in conjunction with the existing 'n' option for local channels.
1667
     channel in conjunction with the existing 'n' option for local channels.
1662
  * A 'b' option has been added which causes chan_local to return the actual channel
1668
  * A 'b' option has been added which causes chan_local to return the actual channel
1663
     that is behind it when queried. This is useful for transfer scenarios as the
1669
     that is behind it when queried. This is useful for transfer scenarios as the
1664
     actual channel will be transferred, not the Local channel.
1670
     actual channel will be transferred, not the Local channel.
1665

    
   
1671

   
1666
Agent channel changes
1672
Agent channel changes
1667
----------------------
1673
----------------------
1668
  * The ackcall and endcall options are now supplemented with options acceptdtmf
1674
  * The ackcall and endcall options are now supplemented with options acceptdtmf
1669
    and enddtmf. These allow for the DTMF keypress to be configurable. The options
1675
    and enddtmf. These allow for the DTMF keypress to be configurable. The options
1670
    default to their old hard-coded values ('#' and '*' respectively) so this should
1676
    default to their old hard-coded values ('#' and '*' respectively) so this should
1671
    not break any existing agent installations.
1677
    not break any existing agent installations.
1672

    
   
1678

   
1673
DAHDI channel driver (chan_dahdi) Changes
1679
DAHDI channel driver (chan_dahdi) Changes
1674
----------------------------------------
1680
----------------------------------------
1675
  * SS7 support (via libss7 library)
1681
  * SS7 support (via libss7 library)
1676
  * In India, some carriers transmit CID via dtmf. Some code has been added
1682
  * In India, some carriers transmit CID via dtmf. Some code has been added
1677
     that will handle some situations. The cidstart=polarity_IN choice has been added for
1683
     that will handle some situations. The cidstart=polarity_IN choice has been added for
1678
     those carriers that transmit CID via dtmf after a polarity change.
1684
     those carriers that transmit CID via dtmf after a polarity change.
1679
  * CID matching information is now shown when doing 'dialplan show'.
1685
  * CID matching information is now shown when doing 'dialplan show'.
1680
  * Added dahdi show version CLI command.
1686
  * Added dahdi show version CLI command.
1681
  * Added setvar support to chan_dahdi.conf channel entries.
1687
  * Added setvar support to chan_dahdi.conf channel entries.
1682
  * Added two new options: mwimonitor and mwimonitornotify.  These options allow
1688
  * Added two new options: mwimonitor and mwimonitornotify.  These options allow
1683
     you to enable MWI monitoring on FXO lines.  When the MWI state changes,
1689
     you to enable MWI monitoring on FXO lines.  When the MWI state changes,
1684
     the script specified in the mwimonitornotify option is executed.  An internal
1690
     the script specified in the mwimonitornotify option is executed.  An internal
1685
     event indicating the new state of the mailbox is also generated, so that
1691
     event indicating the new state of the mailbox is also generated, so that
1686
     the normal MWI facilities in Asterisk work as usual.
1692
     the normal MWI facilities in Asterisk work as usual.
1687
  * Added signalling type 'auto', which attempts to use the same signalling type
1693
  * Added signalling type 'auto', which attempts to use the same signalling type
1688
     for a channel as configured in DAHDI. This is primarily designed for analog
1694
     for a channel as configured in DAHDI. This is primarily designed for analog
1689
     ports, but will also work for digital ports that are configured for FXS or FXO
1695
     ports, but will also work for digital ports that are configured for FXS or FXO
1690
     signalling types. This mode is also the default now, so if your chan_dahdi.conf
1696
     signalling types. This mode is also the default now, so if your chan_dahdi.conf
1691
     does not specify signalling for a channel (which is unlikely as the sample
1697
     does not specify signalling for a channel (which is unlikely as the sample
1692
     configuration file has always recommended specifying it for every channel) then
1698
     configuration file has always recommended specifying it for every channel) then
1693
     the 'auto' mode will be used for that channel if possible.
1699
     the 'auto' mode will be used for that channel if possible.
1694
  * Added a 'dahdi set dnd' command to allow CLI control of the Do-Not-Disturb
1700
  * Added a 'dahdi set dnd' command to allow CLI control of the Do-Not-Disturb
1695
     state for a channel; also ensured that the DNDState Manager event is
1701
     state for a channel; also ensured that the DNDState Manager event is
1696
     emitted no matter how the DND state is set or cleared.
1702
     emitted no matter how the DND state is set or cleared.
1697

    
   
1703

   
1698
New Channel Drivers
1704
New Channel Drivers
1699
-------------------
1705
-------------------
1700
  * Added a new channel driver, chan_unistim.  See doc/unistim.txt and
1706
  * Added a new channel driver, chan_unistim.  See doc/unistim.txt and
1701
     configs/unistim.conf.sample for details.  This new channel driver allows
1707
     configs/unistim.conf.sample for details.  This new channel driver allows
1702
     you to use Nortel i2002, i2004, and i2050 phones with Asterisk.
1708
     you to use Nortel i2002, i2004, and i2050 phones with Asterisk.
1703
  * Added a new channel driver, chan_console, which uses portaudio as a cross
1709
  * Added a new channel driver, chan_console, which uses portaudio as a cross
1704
     platform audio interface.  It was written as a channel driver that would
1710
     platform audio interface.  It was written as a channel driver that would
1705
     work with Mac CoreAudio, but portaudio supports a number of other audio
1711
     work with Mac CoreAudio, but portaudio supports a number of other audio
1706
     interfaces, as well. Note that this channel driver requires v19 or higher
1712
     interfaces, as well. Note that this channel driver requires v19 or higher
1707
     of portaudio; older versions have a different API.
1713
     of portaudio; older versions have a different API.
1708
 
1714
 
1709
DUNDi changes
1715
DUNDi changes
1710
-------------
1716
-------------
1711
  * Added the ability to specify arguments to the Dial application when using
1717
  * Added the ability to specify arguments to the Dial application when using
1712
     the DUNDi switch in the dialplan.
1718
     the DUNDi switch in the dialplan.
1713
  * Added the ability to set weights for responses dynamically.  This can be
1719
  * Added the ability to set weights for responses dynamically.  This can be
1714
     done using a global variable or a dialplan function.  Using the SHELL()
1720
     done using a global variable or a dialplan function.  Using the SHELL()
1715
     function would allow you to have an external script set the weight for
1721
     function would allow you to have an external script set the weight for
1716
     each response.
1722
     each response.
1717
  * Added two new dialplan functions, DUNDIQUERY and DUNDIRESULT.  These
1723
  * Added two new dialplan functions, DUNDIQUERY and DUNDIRESULT.  These
1718
     functions will allow you to initiate a DUNDi query from the dialplan,
1724
     functions will allow you to initiate a DUNDi query from the dialplan,
1719
     find out how many results there are, and access each one.
1725
     find out how many results there are, and access each one.
1720
  * Added the ability to specifiy a port for a dundi peer.
1726
  * Added the ability to specifiy a port for a dundi peer.
1721

    
   
1727

   
1722
ENUM changes
1728
ENUM changes
1723
------------
1729
------------
1724
  * Added two new dialplan functions, ENUMQUERY and ENUMRESULT.  These
1730
  * Added two new dialplan functions, ENUMQUERY and ENUMRESULT.  These
1725
     functions will allow you to initiate an ENUM lookup from the dialplan,
1731
     functions will allow you to initiate an ENUM lookup from the dialplan,
1726
     and Asterisk will cache the results.  ENUMRESULT can be used to access
1732
     and Asterisk will cache the results.  ENUMRESULT can be used to access
1727
     the results without doing multiple DNS queries.
1733
     the results without doing multiple DNS queries.
1728

    
   
1734

   
1729
Voicemail Changes
1735
Voicemail Changes
1730
-----------------
1736
-----------------
1731
  * Added the ability to customize which sound files are used for some of the
1737
  * Added the ability to customize which sound files are used for some of the
1732
     prompts within the Voicemail application by changing them in voicemail.conf
1738
     prompts within the Voicemail application by changing them in voicemail.conf
1733
  * Added the ability for the "voicemail show users" CLI command to show users
1739
  * Added the ability for the "voicemail show users" CLI command to show users
1734
     configured by the dynamic realtime configuration method.
1740
     configured by the dynamic realtime configuration method.
1735
  * MWI (Message Waiting Indication) handling has been significantly
1741
  * MWI (Message Waiting Indication) handling has been significantly
1736
     restructured internally to Asterisk.  It is now totally event based
1742
     restructured internally to Asterisk.  It is now totally event based
1737
     instead of polling based.  The voicemail application will notify other
1743
     instead of polling based.  The voicemail application will notify other
1738
     modules that have subscribed to MWI events when something in the mailbox
1744
     modules that have subscribed to MWI events when something in the mailbox
1739
     changes.
1745
     changes.
1740
    This also means that if any other entity outside of Asterisk is changing
1746
    This also means that if any other entity outside of Asterisk is changing
1741
     the contents of mailboxes, then the voicemail application still needs to
1747
     the contents of mailboxes, then the voicemail application still needs to
1742
     poll for changes.  Examples of situations that would require this option
1748
     poll for changes.  Examples of situations that would require this option
1743
     are web interfaces to voicemail or an email client in the case of using
1749
     are web interfaces to voicemail or an email client in the case of using
1744
     IMAP storage.  So, two new options have been added to voicemail.conf
1750
     IMAP storage.  So, two new options have been added to voicemail.conf
1745
     to account for this: "pollmailboxes" and "pollfreq".  See the sample
1751
     to account for this: "pollmailboxes" and "pollfreq".  See the sample
1746
     configuration file for details.
1752
     configuration file for details.
1747
  * Added "tw" language support
1753
  * Added "tw" language support
1748
  * Added support for storage of greetings using an IMAP server
1754
  * Added support for storage of greetings using an IMAP server
1749
  * Added ability to customize forward, reverse, stop, and pause keys for message playback
1755
  * Added ability to customize forward, reverse, stop, and pause keys for message playback
1750
  * SMDI is now enabled in voicemail using the smdienable option.
1756
  * SMDI is now enabled in voicemail using the smdienable option.
1751
  * A "lockmode" option has been added to asterisk.conf to configure the file
1757
  * A "lockmode" option has been added to asterisk.conf to configure the file
1752
     locking method used for voicemail, and potentially other things in the
1758
     locking method used for voicemail, and potentially other things in the
1753
     future.  The default is the old behavior, lockfile.  However, there is a
1759
     future.  The default is the old behavior, lockfile.  However, there is a
1754
     new method, "flock", that uses a different method for situations where the
1760
     new method, "flock", that uses a different method for situations where the
1755
     lockfile will not work, such as on SMB/CIFS mounts.
1761
     lockfile will not work, such as on SMB/CIFS mounts.
1756
  * Added the ability to backup deleted messages, to ease recovery in the case
1762
  * Added the ability to backup deleted messages, to ease recovery in the case
1757
     that a user accidentally deletes a message, and discovers that they need it.
1763
     that a user accidentally deletes a message, and discovers that they need it.
1758
  * Reworked the SMDI interface in Asterisk.  The new way to access SMDI information
1764
  * Reworked the SMDI interface in Asterisk.  The new way to access SMDI information
1759
     is through the new functions, SMDI_MSG_RETRIEVE() and SMDI_MSG().  The file
1765
     is through the new functions, SMDI_MSG_RETRIEVE() and SMDI_MSG().  The file
1760
     smdi.conf can now be configured with options to map SMDI station IDs to Asterisk
1766
     smdi.conf can now be configured with options to map SMDI station IDs to Asterisk
1761
     voicemail boxes.  The SMDI interface can also poll for MWI changes when some
1767
     voicemail boxes.  The SMDI interface can also poll for MWI changes when some
1762
     outside entity is modifying the state of the mailbox (such as IMAP storage or
1768
     outside entity is modifying the state of the mailbox (such as IMAP storage or
1763
     a web interface of some kind).
1769
     a web interface of some kind).
1764
  * Added the support for marking messages as "urgent." There are two methods to accomplish
1770
  * Added the support for marking messages as "urgent." There are two methods to accomplish
1765
     this. One is to pass the 'U' option to VoiceMail(). Another way to mark a message as urgent
1771
     this. One is to pass the 'U' option to VoiceMail(). Another way to mark a message as urgent
1766
     is to specify "review=yes" in voicemail.conf. Doing this will cause allow the user to mark
1772
     is to specify "review=yes" in voicemail.conf. Doing this will cause allow the user to mark
1767
     the message as urgent after he has recorded a voicemail by following the voice instructions.
1773
     the message as urgent after he has recorded a voicemail by following the voice instructions.
1768
    When listening to voicemails using VoiceMailMain urgent messages will be presented before other
1774
    When listening to voicemails using VoiceMailMain urgent messages will be presented before other
1769
     messages
1775
     messages
1770

    
   
1776

   
1771
Queue changes
1777
Queue changes
1772
-------------
1778
-------------
1773
  * Added the general option 'shared_lastcall' so that member's wrapuptime may be
1779
  * Added the general option 'shared_lastcall' so that member's wrapuptime may be
1774
     used across multiple queues.
1780
     used across multiple queues.
1775
  * Added QUEUE_VARIABLES function to set queue variables added setqueuevar and 
1781
  * Added QUEUE_VARIABLES function to set queue variables added setqueuevar and 
1776
     setqueueentryvar options for each queue, see queues.conf.sample for details.
1782
     setqueueentryvar options for each queue, see queues.conf.sample for details.
1777
  * Added keepstats option to queues.conf which will keep queue
1783
  * Added keepstats option to queues.conf which will keep queue
1778
     statistics during a reload.
1784
     statistics during a reload.
1779
  * setinterfacevar option in queues.conf also now sets a variable
1785
  * setinterfacevar option in queues.conf also now sets a variable
1780
     called MEMBERNAME which contains the member's name.
1786
     called MEMBERNAME which contains the member's name.
1781
  * Added 'Strategy' field to manager event QueueParams which represents
1787
  * Added 'Strategy' field to manager event QueueParams which represents
1782
     the queue strategy in use. 
1788
     the queue strategy in use. 
1783
  * Added option to run macro when a queue member is connected to a caller, 
1789
  * Added option to run macro when a queue member is connected to a caller, 
1784
     see queues.conf.sample for details.
1790
     see queues.conf.sample for details.
1785
  * app_queue now has a 'loose' option which is almost exactly like 'strict' except it
1791
  * app_queue now has a 'loose' option which is almost exactly like 'strict' except it
1786
     does not count paused queue members as unavailable.
1792
     does not count paused queue members as unavailable.
1787
  * Added min-announce-frequency option to queues.conf which allows you to control the
1793
  * Added min-announce-frequency option to queues.conf which allows you to control the
1788
     minimum amount of time between queue announcements for use when the caller's queue
1794
     minimum amount of time between queue announcements for use when the caller's queue
1789
     position changes frequently.
1795
     position changes frequently.
1790
  * Added additional information to EXITWITHTIMEOUT and EXITWITHKEY events in the
1796
  * Added additional information to EXITWITHTIMEOUT and EXITWITHKEY events in the
1791
     queue log.
1797
     queue log.
1792
  * Added ability for non-realtime queues to have realtime members
1798
  * Added ability for non-realtime queues to have realtime members
1793
  * Added the "linear" strategy to queues.
1799
  * Added the "linear" strategy to queues.
1794
  * Added the "wrandom" strategy to queues.
1800
  * Added the "wrandom" strategy to queues.
1795
  * Added new channel variable QUEUE_MIN_PENALTY
1801
  * Added new channel variable QUEUE_MIN_PENALTY
1796
  * QUEUE_MAX_PENALTY and QUEUE_MIN_PENALTY may be adjusted in mid-call by defining
1802
  * QUEUE_MAX_PENALTY and QUEUE_MIN_PENALTY may be adjusted in mid-call by defining
1797
     rules in queuerules.conf. See configs/queuerules.conf.sample for details
1803
     rules in queuerules.conf. See configs/queuerules.conf.sample for details
1798
  * Added a new parameter for member definition, called state_interface. This may be
1804
  * Added a new parameter for member definition, called state_interface. This may be
1799
    used so that a member may be called via one interface but have a different interface's
1805
    used so that a member may be called via one interface but have a different interface's
1800
    device state reported.
1806
    device state reported.
1801
  * Added new CLI and Manager commands relating to reloading queues. From the CLI, see
1807
  * Added new CLI and Manager commands relating to reloading queues. From the CLI, see
1802
    "queue reload", "queue reset stats". Also see "manager show command QueueReload" and
1808
    "queue reload", "queue reset stats". Also see "manager show command QueueReload" and
1803
    "manager show command QueueReset."
1809
    "manager show command QueueReset."
1804
  * New configuration option: randomperiodicannounce. If a list of periodic announcements is
1810
  * New configuration option: randomperiodicannounce. If a list of periodic announcements is
1805
    specified by the periodic-announce option, then one will be chosen randomly when it is time
1811
    specified by the periodic-announce option, then one will be chosen randomly when it is time
1806
    to play a periodic announcment
1812
    to play a periodic announcment
1807
  * New configuration options: announce-position now takes two more values in addition to "yes" and
1813
  * New configuration options: announce-position now takes two more values in addition to "yes" and
1808
    "no." Two new options, "limit" and "more," are allowed. These are tied to another option,
1814
    "no." Two new options, "limit" and "more," are allowed. These are tied to another option,
1809
    announce-position-limit. By setting announce-position to "limit" callers will only have their
1815
    announce-position-limit. By setting announce-position to "limit" callers will only have their
1810
    position announced if their position is less than what is specified by announce-position-limit.
1816
    position announced if their position is less than what is specified by announce-position-limit.
1811
    If announce-position is set to "more" then callers beyond the position specified by announce-position-limit
1817
    If announce-position is set to "more" then callers beyond the position specified by announce-position-limit
1812
    will be told that their are more than announce-position-limit callers waiting.
1818
    will be told that their are more than announce-position-limit callers waiting.
1813
  * Two new queue log events have been added. An ADDMEMBER event will be logged
1819
  * Two new queue log events have been added. An ADDMEMBER event will be logged
1814
    when a realtime queue member is added and a REMOVEMEMBER event will be logged
1820
    when a realtime queue member is added and a REMOVEMEMBER event will be logged
1815
    when a realtime queue member is removed. Since there is no calling channel associated
1821
    when a realtime queue member is removed. Since there is no calling channel associated
1816
    with these events, the string "REALTIME" is placed where the channel's unique id
1822
    with these events, the string "REALTIME" is placed where the channel's unique id
1817
    is typically placed.
1823
    is typically placed.
1818
  * The configuration method for the "joinempty" and "leavewhenempty" options has
1824
  * The configuration method for the "joinempty" and "leavewhenempty" options has
1819
    changed to a comma-separated list of methods of determining member availability
1825
    changed to a comma-separated list of methods of determining member availability
1820
    instead of vague terms such as "yes," "loose," "no," and "strict." These old four
1826
    instead of vague terms such as "yes," "loose," "no," and "strict." These old four
1821
    values are still accepted for backwards-compatibility, though.
1827
    values are still accepted for backwards-compatibility, though.
1822
  * The average talktime is now calculated on queues. This information is reported via the
1828
  * The average talktime is now calculated on queues. This information is reported via the
1823
    CLI commands "queue show" and "queues show"; through the AMI events AgentComplete, QueueSummary,
1829
    CLI commands "queue show" and "queues show"; through the AMI events AgentComplete, QueueSummary,
1824
    and QueueParams; and through the channelvariable QUEUETALKTIME if setinterfacevar=yes is set for
1830
    and QueueParams; and through the channelvariable QUEUETALKTIME if setinterfacevar=yes is set for
1825
    the queue.
1831
    the queue.
1826

    
   
1832

   
1827
MeetMe Changes
1833
MeetMe Changes
1828
--------------
1834
--------------
1829
  * The 'o' option to provide an optimization has been removed and its functionality 
1835
  * The 'o' option to provide an optimization has been removed and its functionality 
1830
     has been enabled by default.
1836
     has been enabled by default.
1831
  * When a conference is created, the UNIQUEID of the channel that caused it to be
1837
  * When a conference is created, the UNIQUEID of the channel that caused it to be
1832
     created is stored.  Then, every channel that joins the conference will have the
1838
     created is stored.  Then, every channel that joins the conference will have the
1833
     MEETMEUNIQUEID channel variable set with this ID.  This can be used to relate
1839
     MEETMEUNIQUEID channel variable set with this ID.  This can be used to relate
1834
     callers that come and go from long standing conferences.
1840
     callers that come and go from long standing conferences.
1835
  * Added a new application, MeetMeChannelAdmin, which is similar to MeetMeAdmin,
1841
  * Added a new application, MeetMeChannelAdmin, which is similar to MeetMeAdmin,
1836
     except it does operations on a channel by name, instead of number in a conference.
1842
     except it does operations on a channel by name, instead of number in a conference.
1837
     This is a very useful feature in combination with the 'X' option to ChanSpy.
1843
     This is a very useful feature in combination with the 'X' option to ChanSpy.
1838
  * Added 'C' option to Meetme which causes a caller to continue in the dialplan
1844
  * Added 'C' option to Meetme which causes a caller to continue in the dialplan
1839
     when kicked out.
1845
     when kicked out.
1840
  * Added new RealTime functionality to provide support for scheduled conferencing.
1846
  * Added new RealTime functionality to provide support for scheduled conferencing.
1841
     This includes optional messages to the caller if they attempt to join before
1847
     This includes optional messages to the caller if they attempt to join before
1842
     the schedule start time, or to allow the caller to join the conference early.
1848
     the schedule start time, or to allow the caller to join the conference early.
1843
     Also included is optional support for limiting the number of callers per
1849
     Also included is optional support for limiting the number of callers per
1844
     RealTime conference.
1850
     RealTime conference.
1845
  * Added the S() and L() options to the MeetMe application.  These are pretty
1851
  * Added the S() and L() options to the MeetMe application.  These are pretty
1846
     much identical to the S() and L() options to Dial().  They let you set
1852
     much identical to the S() and L() options to Dial().  They let you set
1847
     timeouts for the conference, as well as have warning sounds played to
1853
     timeouts for the conference, as well as have warning sounds played to
1848
     let the caller know how much time is left, and when it is running out.
1854
     let the caller know how much time is left, and when it is running out.
1849
  * Added the ability to do "meetme concise" with the "meetme" CLI command.
1855
  * Added the ability to do "meetme concise" with the "meetme" CLI command.
1850
     This extends the concise capabilities of this CLI command to include
1856
     This extends the concise capabilities of this CLI command to include
1851
     listing all conferences, instead of an addition to the other sub commands
1857
     listing all conferences, instead of an addition to the other sub commands
1852
     for the "meetme" command.
1858
     for the "meetme" command.
1853
  * Added the ability to specify the music on hold class used to play into the
1859
  * Added the ability to specify the music on hold class used to play into the
1854
     conference when there is only one member and the M option is used.
1860
     conference when there is only one member and the M option is used.
1855
  * Added MEETME_INFO dialplan function which provides a way to query
1861
  * Added MEETME_INFO dialplan function which provides a way to query
1856
     various properties of a Meetme conference.
1862
     various properties of a Meetme conference.
1857
  * Added new admin features: *81: Roll call, *82: eject all, *83: mute all, 
1863
  * Added new admin features: *81: Roll call, *82: eject all, *83: mute all, 
1858
     and *84: record in-conf
1864
     and *84: record in-conf
1859

    
   
1865

   
1860
Other Dialplan Application Changes
1866
Other Dialplan Application Changes
1861
----------------------------------
1867
----------------------------------
1862
  * Argument support for Gosub application
1868
  * Argument support for Gosub application
1863
  * From the to-do lists: straighten out the app timeout args:
1869
  * From the to-do lists: straighten out the app timeout args:
1864
     Wait() app now really does 0.3 seconds- was truncating arg to an int.
1870
     Wait() app now really does 0.3 seconds- was truncating arg to an int.
1865
     WaitExten() same as Wait().
1871
     WaitExten() same as Wait().
1866
     Congestion() - Now takes floating pt. argument.
1872
     Congestion() - Now takes floating pt. argument.
1867
     Busy() - now takes floating pt. argument.
1873
     Busy() - now takes floating pt. argument.
1868
     Read() - timeout now can be floating pt.
1874
     Read() - timeout now can be floating pt.
1869
     WaitForRing() now takes floating pt timeout arg.
1875
     WaitForRing() now takes floating pt timeout arg.
1870
     SpeechBackground() -- clarified in the docstrings that the timeout is an integer seconds.
1876
     SpeechBackground() -- clarified in the docstrings that the timeout is an integer seconds.
1871
  * Added 's' option to Page application.
1877
  * Added 's' option to Page application.
1872
  * Added an optional timeout argument to the Page application.
1878
  * Added an optional timeout argument to the Page application.
1873
  * Added 'E', 'V', and 'P' commands to ExternalIVR.
1879
  * Added 'E', 'V', and 'P' commands to ExternalIVR.
1874
  * Added 'o' and 'X' options to Chanspy.
1880
  * Added 'o' and 'X' options to Chanspy.
1875
  * Added a new dialplan application, Bridge, which allows you to bridge the
1881
  * Added a new dialplan application, Bridge, which allows you to bridge the
1876
     calling channel to any other active channel on the system.
1882
     calling channel to any other active channel on the system.
1877
  * Added the ability to specify a music on hold class to play instead of ringing
1883
  * Added the ability to specify a music on hold class to play instead of ringing
1878
     for the SLATrunk application.
1884
     for the SLATrunk application.
1879
  * The Read application no longer exits the dialplan on error.  Instead, it sets
1885
  * The Read application no longer exits the dialplan on error.  Instead, it sets
1880
     READSTATUS to ERROR, which you can catch and handle separately.
1886
     READSTATUS to ERROR, which you can catch and handle separately.
1881
  * Added 'm' option to Directory, which lists out names, 8 at a time, instead
1887
  * Added 'm' option to Directory, which lists out names, 8 at a time, instead
1882
     of asking for verification of each name, one at a time.
1888
     of asking for verification of each name, one at a time.
1883
  * Privacy() no longer uses privacy.conf, as all options are specifyable as
1889
  * Privacy() no longer uses privacy.conf, as all options are specifyable as
1884
     direct options to the app.
1890
     direct options to the app.
1885
  * AMD() has a new "maximum word length" option. "show application AMD" from the CLI
1891
  * AMD() has a new "maximum word length" option. "show application AMD" from the CLI
1886
     for more details
1892
     for more details
1887
  * GotoIfTime() now may branch based on a "false" condition, like other Goto-related applications
1893
  * GotoIfTime() now may branch based on a "false" condition, like other Goto-related applications
1888
  * The ChannelRedirect application no longer exits the dialplan if the given channel
1894
  * The ChannelRedirect application no longer exits the dialplan if the given channel
1889
     does not exist. It will now set the CHANNELREDIRECT_STATUS variable to SUCCESS upon success
1895
     does not exist. It will now set the CHANNELREDIRECT_STATUS variable to SUCCESS upon success
1890
     or NOCHANNEL if the given channel was not found.
1896
     or NOCHANNEL if the given channel was not found.
1891
  * The silencethreshold setting that was previously configurable in multiple
1897
  * The silencethreshold setting that was previously configurable in multiple
1892
     applications is now settable globally via dsp.conf.
1898
     applications is now settable globally via dsp.conf.
1893

    
   
1899

   
1894
Music On Hold Changes
1900
Music On Hold Changes
1895
---------------------
1901
---------------------
1896
  * A new option, "digit", has been added for music on hold classes in 
1902
  * A new option, "digit", has been added for music on hold classes in 
1897
     musiconhold.conf.  If this is set for a music on hold class, a caller
1903
     musiconhold.conf.  If this is set for a music on hold class, a caller
1898
     listening to music on hold can press this digit to switch to listening
1904
     listening to music on hold can press this digit to switch to listening
1899
     to this music on hold class.
1905
     to this music on hold class.
1900
  * Support for realtime music on hold has been added.
1906
  * Support for realtime music on hold has been added.
1901
  * In conjunction with the realtime music on hold, a general section has
1907
  * In conjunction with the realtime music on hold, a general section has
1902
     been added to musiconhold.conf, its sole variable is cachertclasses. If this
1908
     been added to musiconhold.conf, its sole variable is cachertclasses. If this
1903
     is set, then music on hold classes found in realtime will be cached in memory.
1909
     is set, then music on hold classes found in realtime will be cached in memory.
1904

    
   
1910

   
1905
AEL Changes
1911
AEL Changes
1906
-----------
1912
-----------
1907
  * AEL upgraded to use the Gosub with Arguments instead
1913
  * AEL upgraded to use the Gosub with Arguments instead
1908
     of Macro application, to hopefully reduce the problems
1914
     of Macro application, to hopefully reduce the problems
1909
     seen with the artificially low stack ceiling that 
1915
     seen with the artificially low stack ceiling that 
1910
     Macro bumps into. Macros can only call other Macros
1916
     Macro bumps into. Macros can only call other Macros
1911
     to a depth of 7. Tests run using gosub, show depths
1917
     to a depth of 7. Tests run using gosub, show depths
1912
     limited only by virtual memory. A small test demonstrated
1918
     limited only by virtual memory. A small test demonstrated
1913
     recursive call depths of 100,000 without problems.
1919
     recursive call depths of 100,000 without problems.
1914
     -- in addition to this, all apps that allowed a macro
1920
     -- in addition to this, all apps that allowed a macro
1915
     to be called, as in Dial, queues, etc, are now allowing
1921
     to be called, as in Dial, queues, etc, are now allowing
1916
     a gosub call in similar fashion.
1922
     a gosub call in similar fashion.
1917
  * AEL now generates LOCAL(argname) declarations when it
1923
  * AEL now generates LOCAL(argname) declarations when it
1918
     Set()'s the each arg name to the value of ${ARG1}, ${ARG2),
1924
     Set()'s the each arg name to the value of ${ARG1}, ${ARG2),
1919
     etc. That makes the arguments local in scope. The user
1925
     etc. That makes the arguments local in scope. The user
1920
     can define their own local variables in macros, now,
1926
     can define their own local variables in macros, now,
1921
     by saying "local myvar=someval;"  or using Set() in this
1927
     by saying "local myvar=someval;"  or using Set() in this
1922
     fashion:  Set(LOCAL(myvar)=someval);  ("local" is now
1928
     fashion:  Set(LOCAL(myvar)=someval);  ("local" is now
1923
     an AEL keyword).
1929
     an AEL keyword).
1924
  * utils/conf2ael introduced. Will convert an extensions.conf
1930
  * utils/conf2ael introduced. Will convert an extensions.conf
1925
     file into extensions.ael. Very crude and unfinished, but 
1931
     file into extensions.ael. Very crude and unfinished, but 
1926
     will be improved as time goes by. Should be useful for a
1932
     will be improved as time goes by. Should be useful for a
1927
     first pass at conversion.
1933
     first pass at conversion.
1928
  * aelparse will now read extensions.conf to see if a referenced
1934
  * aelparse will now read extensions.conf to see if a referenced
1929
     macro or context is there before issueing a warning.
1935
     macro or context is there before issueing a warning.
1930
  * AEL parser sets a local channel variable ~~EXTEN~~, to 
1936
  * AEL parser sets a local channel variable ~~EXTEN~~, to 
1931
    preserve the value of ${EXTEN} thru switch statements.
1937
    preserve the value of ${EXTEN} thru switch statements.
1932
  * New operator in $[...] expressions: the ~~ operator serves
1938
  * New operator in $[...] expressions: the ~~ operator serves
1933
    as a concatenation operator. AT THE MOMENT, it is really only
1939
    as a concatenation operator. AT THE MOMENT, it is really only
1934
    necessary and useful in AEL, especially in if() expressions.
1940
    necessary and useful in AEL, especially in if() expressions.
1935
    Operation: ${a} ~~ ${b|  with force both a and b to strings, strip 
1941
    Operation: ${a} ~~ ${b|  with force both a and b to strings, strip 
1936
    any enclosing double-quotes, and evaluate to the value of a
1942
    any enclosing double-quotes, and evaluate to the value of a
1937
    concatenated with the value of b.  For example if a is set to
1943
    concatenated with the value of b.  For example if a is set to
1938
    "xyz"  and b has the value "abc", then ${a} ~~ ${b| would
1944
    "xyz"  and b has the value "abc", then ${a} ~~ ${b| would
1939
    evaluate to xyzabc .
1945
    evaluate to xyzabc .
1940

    
   
1946

   
1941

    
   
1947

   
1942
Call Features (res_features) Changes
1948
Call Features (res_features) Changes
1943
------------------------------------
1949
------------------------------------
1944
  * Added the parkedcalltransfers option to features.conf
1950
  * Added the parkedcalltransfers option to features.conf
1945
  * Added parkedcallparking option to control one touch parking w/ parking
1951
  * Added parkedcallparking option to control one touch parking w/ parking
1946
    pickup
1952
    pickup
1947
  * Added parkedcallhangup option to control disconnect feature w/ parking
1953
  * Added parkedcallhangup option to control disconnect feature w/ parking
1948
    pickup
1954
    pickup
1949
  * Added parkedcallrecording option to control one-touch record w/ parking
1955
  * Added parkedcallrecording option to control one-touch record w/ parking
1950
    pickup
1956
    pickup
1951
  * Added parkedcallparking, parkedcallhangup, parkedcallrecording, and
1957
  * Added parkedcallparking, parkedcallhangup, parkedcallrecording, and
1952
    parkedcalltransfers option support for multiple parking lots.
1958
    parkedcalltransfers option support for multiple parking lots.
1953
  * Added BRIDGE_FEATURES variable to set available features for a channel
1959
  * Added BRIDGE_FEATURES variable to set available features for a channel
1954
  * The built-in method for doing attended transfers has been updated to
1960
  * The built-in method for doing attended transfers has been updated to
1955
     include some new options that allow you to have the transferee sent
1961
     include some new options that allow you to have the transferee sent
1956
     back to the person that did the transfer if the transfer is not successful.
1962
     back to the person that did the transfer if the transfer is not successful.
1957
     See the options "atxferdropcall", "atxferloopdelay", and "atxfercallbackretries"
1963
     See the options "atxferdropcall", "atxferloopdelay", and "atxfercallbackretries"
1958
     in features.conf.sample.
1964
     in features.conf.sample.
1959
  * Added support for configuring named groups of custom call features in
1965
  * Added support for configuring named groups of custom call features in
1960
     features.conf.  This means that features can be written a single time, and
1966
     features.conf.  This means that features can be written a single time, and
1961
     then mapped into groups of features for different key mappings or easier
1967
     then mapped into groups of features for different key mappings or easier
1962
     access control.
1968
     access control.
1963
  * Updated the ParkedCall application to allow you to not specify a parking
1969
  * Updated the ParkedCall application to allow you to not specify a parking
1964
     extension.  If you don't specify a parking space to pick up, it will grab
1970
     extension.  If you don't specify a parking space to pick up, it will grab
1965
     the first one available.
1971
     the first one available.
1966
  * Added cli command 'features reload' to reload call features from features.conf
1972
  * Added cli command 'features reload' to reload call features from features.conf
1967
  * Moved into core asterisk binary.
1973
  * Moved into core asterisk binary.
1968
  * Changed the default setting for featuredigittimeout to 2000 ms from 500 ms.
1974
  * Changed the default setting for featuredigittimeout to 2000 ms from 500 ms.
1969
  * Added the ability for custom parking lots to be configured with their own
1975
  * Added the ability for custom parking lots to be configured with their own
1970
    parking extension with the parkext option.
1976
    parking extension with the parkext option.
1971

    
   
1977

   
1972
Language Support Changes
1978
Language Support Changes
1973
------------------------
1979
------------------------
1974
  * Brazilian Portuguese (pt-BR) in VM, and say.c was added
1980
  * Brazilian Portuguese (pt-BR) in VM, and say.c was added
1975
  * Added support for the Hungarian language for saying numbers, dates, and times.
1981
  * Added support for the Hungarian language for saying numbers, dates, and times.
1976

    
   
1982

   
1977
AGI Changes
1983
AGI Changes
1978
-----------
1984
-----------
1979
  * Added SPEECH commands for speech recognition. A complete listing can be found
1985
  * Added SPEECH commands for speech recognition. A complete listing can be found
1980
    using agi show.
1986
    using agi show.
1981
  * If app_stack is loaded, GOSUB is a native AGI command that may be used to
1987
  * If app_stack is loaded, GOSUB is a native AGI command that may be used to
1982
    invoke subroutines in the dialplan.  Note that calling EXEC with Gosub
1988
    invoke subroutines in the dialplan.  Note that calling EXEC with Gosub
1983
    does not behave as expected; the native command needs to be used, instead.
1989
    does not behave as expected; the native command needs to be used, instead.
1984
  * Added the ability to perform SRV lookups on fast AGI calls. To use this
1990
  * Added the ability to perform SRV lookups on fast AGI calls. To use this
1985
    feature, simply use hagi: instead of agi: as the protocol portion
1991
    feature, simply use hagi: instead of agi: as the protocol portion
1986
    of the URI parameter to the AGI function call in your dial plan. Also note
1992
    of the URI parameter to the AGI function call in your dial plan. Also note
1987
    that specifying a port number in the AGI URI will disable SRV lookups,
1993
    that specifying a port number in the AGI URI will disable SRV lookups,
1988
    even if you use the hagi: protocol.
1994
    even if you use the hagi: protocol.
1989
  * No longer support MSG_OOB flag on HANGUP.
1995
  * No longer support MSG_OOB flag on HANGUP.
1990

    
   
1996

   
1991
Logger changes
1997
Logger changes
1992
--------------
1998
--------------
1993
  * Added rotatestrategy option to logger.conf, along with two new options:
1999
  * Added rotatestrategy option to logger.conf, along with two new options:
1994
     "timestamp" which will use the time to name the logger files instead of
2000
     "timestamp" which will use the time to name the logger files instead of
1995
     sequence number; and "rotate", which rotates the names of the log files,
2001
     sequence number; and "rotate", which rotates the names of the log files,
1996
     similar to the way syslog rotates files.
2002
     similar to the way syslog rotates files.
1997
  * Added exec_after_rotate option to logger.conf, which allows a system
2003
  * Added exec_after_rotate option to logger.conf, which allows a system
1998
     command to be run after rotation.  This is primarily useful with
2004
     command to be run after rotation.  This is primarily useful with
1999
     rotatestrategy=rotate, to allow a limit on the number of log files kept
2005
     rotatestrategy=rotate, to allow a limit on the number of log files kept
2000
     and to ensure that the oldest log file gets deleted.
2006
     and to ensure that the oldest log file gets deleted.
2001
  * Added realtime support for the queue log
2007
  * Added realtime support for the queue log
2002

    
   
2008

   
2003
Call Detail Records 
2009
Call Detail Records 
2004
-------------------
2010
-------------------
2005
  * The cdr_manager module has a [mappings] feature, like cdr_custom,
2011
  * The cdr_manager module has a [mappings] feature, like cdr_custom,
2006
    to add fields to the manager event from the CDR variables.
2012
    to add fields to the manager event from the CDR variables.
2007
  * Added cdr_adaptive_odbc, a new module that adapts to the structure of your
2013
  * Added cdr_adaptive_odbc, a new module that adapts to the structure of your
2008
     backend database CDR table.  Specifically, additional, non-standard
2014
     backend database CDR table.  Specifically, additional, non-standard
2009
     columns are supported, merely by setting the corresponding CDR variable in
2015
     columns are supported, merely by setting the corresponding CDR variable in
2010
     your dialplan.  In addition, you may alias any column to another name (for
2016
     your dialplan.  In addition, you may alias any column to another name (for
2011
     example, if you want the 'src' CDR variable to be column 'ANI' in the DB,
2017
     example, if you want the 'src' CDR variable to be column 'ANI' in the DB,
2012
     simply "alias src => ANI" in the configuration file).  Records may be
2018
     simply "alias src => ANI" in the configuration file).  Records may be
2013
     posted to more than one backend, simply by specifying multiple categories
2019
     posted to more than one backend, simply by specifying multiple categories
2014
     in the configuration file.  And finally, you may filter which CDRs get
2020
     in the configuration file.  And finally, you may filter which CDRs get
2015
     posted to each backend, by specifying a filter (which the record must
2021
     posted to each backend, by specifying a filter (which the record must
2016
     match) for the particular category.  Filters are additive (meaning all
2022
     match) for the particular category.  Filters are additive (meaning all
2017
     rules must match to post that CDR).
2023
     rules must match to post that CDR).
2018
  * The Postgres CDR module now supports some features of the cdr_adaptive_odbc
2024
  * The Postgres CDR module now supports some features of the cdr_adaptive_odbc
2019
     module.  Specifically, you may add additional columns into the table and
2025
     module.  Specifically, you may add additional columns into the table and
2020
     they will be set, if you set the corresponding CDR variable name.  Also,
2026
     they will be set, if you set the corresponding CDR variable name.  Also,
2021
     if you omit columns in your database table, they will be silently skipped
2027
     if you omit columns in your database table, they will be silently skipped
2022
     (but a record will still be inserted, based on what columns remain).  Note
2028
     (but a record will still be inserted, based on what columns remain).  Note
2023
     that the other two features from cdr_adaptive_odbc (alias and filter) are
2029
     that the other two features from cdr_adaptive_odbc (alias and filter) are
2024
     not currently supported.
2030
     not currently supported.
2025
  * The ResetCDR application now has an 'e' option that re-enables a CDR if it
2031
  * The ResetCDR application now has an 'e' option that re-enables a CDR if it
2026
     has been disabled using the NoCDR application.
2032
     has been disabled using the NoCDR application.
2027

    
   
2033

   
2028
Miscellaneous New Modules
2034
Miscellaneous New Modules
2029
-------------------------
2035
-------------------------
2030
  * Added a new CDR module, cdr_sqlite3_custom.
2036
  * Added a new CDR module, cdr_sqlite3_custom.
2031
  * Added a new realtime configuration module, res_config_sqlite
2037
  * Added a new realtime configuration module, res_config_sqlite
2032
  * Added a new codec translation module, codec_resample, which re-samples
2038
  * Added a new codec translation module, codec_resample, which re-samples
2033
     signed linear audio between 8 kHz and 16 kHz to help support wideband
2039
     signed linear audio between 8 kHz and 16 kHz to help support wideband
2034
     codecs.
2040
     codecs.
2035
  * Added a new module, res_phoneprov, which allows auto-provisioning of phones
2041
  * Added a new module, res_phoneprov, which allows auto-provisioning of phones
2036
     based on configuration templates that use Asterisk dialplan function and
2042
     based on configuration templates that use Asterisk dialplan function and
2037
     variable substitution.  It should be possible to create phone profiles and
2043
     variable substitution.  It should be possible to create phone profiles and
2038
     templates that work for the majority of phones provisioned over http. It
2044
     templates that work for the majority of phones provisioned over http. It
2039
     is currently only intended to provision a single user account per phone.
2045
     is currently only intended to provision a single user account per phone.
2040
     An example profile and set of templates for Polycom phones is provided.
2046
     An example profile and set of templates for Polycom phones is provided.
2041
     NOTE: Polycom firmware is not included, but should be placed in
2047
     NOTE: Polycom firmware is not included, but should be placed in
2042
     AST_DATA_DIR/phoneprov/configs to match up with the included templates.
2048
     AST_DATA_DIR/phoneprov/configs to match up with the included templates.
2043
  * Added a new module, app_jack, which provides interfaces to JACK, the Jack
2049
  * Added a new module, app_jack, which provides interfaces to JACK, the Jack
2044
     Audio Connection Kit (http://www.jackaudio.org/).  Two interfaces are
2050
     Audio Connection Kit (http://www.jackaudio.org/).  Two interfaces are
2045
     provided; there is a JACK() application, and a JACK_HOOK() function.  Both
2051
     provided; there is a JACK() application, and a JACK_HOOK() function.  Both
2046
     interfaces create an input and output JACK port.  The application makes
2052
     interfaces create an input and output JACK port.  The application makes
2047
     these ports the endpoint of the call.  The audio coming from the channel
2053
     these ports the endpoint of the call.  The audio coming from the channel
2048
     goes out the output port and whatever comes back in on the input port is
2054
     goes out the output port and whatever comes back in on the input port is
2049
     what gets sent to the channel.  The JACK_HOOK() function turns on a JACK
2055
     what gets sent to the channel.  The JACK_HOOK() function turns on a JACK
2050
     audiohook on the channel.  This lets you run the audio coming from a
2056
     audiohook on the channel.  This lets you run the audio coming from a
2051
     channel through JACK, and whatever comes back in is what gets forwarded
2057
     channel through JACK, and whatever comes back in is what gets forwarded
2052
     on as the channel's audio.  This is very useful for building custom
2058
     on as the channel's audio.  This is very useful for building custom
2053
     vocoders or doing recording or analysis of the channel's audio in another
2059
     vocoders or doing recording or analysis of the channel's audio in another
2054
     application.
2060
     application.
2055
  * Added a new module, res_config_curl, which permits using a HTTP POST url
2061
  * Added a new module, res_config_curl, which permits using a HTTP POST url
2056
     to retrieve, create, update, and delete realtime information from a remote
2062
     to retrieve, create, update, and delete realtime information from a remote
2057
     web server.  Note that this module requires func_curl.so to be loaded for
2063
     web server.  Note that this module requires func_curl.so to be loaded for
2058
     backend functionality.
2064
     backend functionality.
2059
  * Added a new module, res_config_ldap, which permits the use of an LDAP
2065
  * Added a new module, res_config_ldap, which permits the use of an LDAP
2060
     server for realtime data access.
2066
     server for realtime data access.
2061
  * Added support for writing and running your dialplan in lua using the pbx_lua
2067
  * Added support for writing and running your dialplan in lua using the pbx_lua
2062
     module.  See configs/extensions.lua.sample for examples of how to do this.
2068
     module.  See configs/extensions.lua.sample for examples of how to do this.
2063

    
   
2069

   
2064
Miscellaneous 
2070
Miscellaneous 
2065
-------------
2071
-------------
2066
  * Ability to use libcap to set high ToS bits when non-root
2072
  * Ability to use libcap to set high ToS bits when non-root
2067
     on Linux. If configure is unable to find libcap then you
2073
     on Linux. If configure is unable to find libcap then you
2068
     can use --with-cap to specify the path.
2074
     can use --with-cap to specify the path.
2069
  * Added maxfiles option to options section of asterisk.conf which allows you to specify
2075
  * Added maxfiles option to options section of asterisk.conf which allows you to specify
2070
     what Asterisk should set as the maximum number of open files when it loads.
2076
     what Asterisk should set as the maximum number of open files when it loads.
2071
  * Added the jittertargetextra configuration option.
2077
  * Added the jittertargetextra configuration option.
2072
  * Added support for setting the CoS for VLAN traffic (802.1p).  See the sample
2078
  * Added support for setting the CoS for VLAN traffic (802.1p).  See the sample
2073
     configuration files for the IP channel drivers.  The new option is "cos".
2079
     configuration files for the IP channel drivers.  The new option is "cos".
2074
     This information is also documented in doc/qos.tex, or the IP Quality of Service
2080
     This information is also documented in doc/qos.tex, or the IP Quality of Service
2075
     section of asterisk.pdf.
2081
     section of asterisk.pdf.
2076
  * When originating a call using AMI or pbx_spool that fails the reason for failure
2082
  * When originating a call using AMI or pbx_spool that fails the reason for failure
2077
     will now be available in the failed extension using the REASON dialplan variable.
2083
     will now be available in the failed extension using the REASON dialplan variable.
2078
  * Added support for reading the TOUCH_MONITOR_PREFIX channel variable.
2084
  * Added support for reading the TOUCH_MONITOR_PREFIX channel variable.
2079
     It allows you to configure a prefix for auto-monitor recordings.
2085
     It allows you to configure a prefix for auto-monitor recordings.
2080
  * A new extension pattern matching algorithm, based on a trie, is introduced
2086
  * A new extension pattern matching algorithm, based on a trie, is introduced
2081
     here, that could noticeably speed up mid-sized to large dialplans.
2087
     here, that could noticeably speed up mid-sized to large dialplans.
2082
     It is NOT used by default, as duplicating the behaviour of the old pattern
2088
     It is NOT used by default, as duplicating the behaviour of the old pattern
2083
     matcher is still under development. A config file option, in extensions.conf,
2089
     matcher is still under development. A config file option, in extensions.conf,
2084
     in the [general] section, called "extenpatternmatchingnew", is by default
2090
     in the [general] section, called "extenpatternmatchingnew", is by default
2085
     set to false; setting that to true will force the use of the new algorithm.
2091
     set to false; setting that to true will force the use of the new algorithm.
2086
     Also, the cli commands "dialplan set extenpatternmatchingnew true/false" can
2092
     Also, the cli commands "dialplan set extenpatternmatchingnew true/false" can
2087
     be used to switch the algorithms at run time.
2093
     be used to switch the algorithms at run time.
2088
  * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
2094
  * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
2089
     specifying which socket to use to connect to the running Asterisk daemon
2095
     specifying which socket to use to connect to the running Asterisk daemon
2090
     (-s)
2096
     (-s)
2091
  * Performance enhancements to the sched facility, which is used in
2097
  * Performance enhancements to the sched facility, which is used in
2092
    the channel drivers, etc. Added hashtabs and doubly-linked lists
2098
    the channel drivers, etc. Added hashtabs and doubly-linked lists
2093
    to speed up deletion; start at the beginning or end of list to
2099
    to speed up deletion; start at the beginning or end of list to
2094
    speed up insertion.
2100
    speed up insertion.
2095
  * Added Doubly-linked lists after the fashion of linkedlists.h. They are in
2101
  * Added Doubly-linked lists after the fashion of linkedlists.h. They are in
2096
    dlinkedlists.h. Doubly-linked lists feature fast deletion times.
2102
    dlinkedlists.h. Doubly-linked lists feature fast deletion times.
2097
    Added regression tests to the tests/ dir, also.
2103
    Added regression tests to the tests/ dir, also.
2098
  * Added a refcount trace feature to astobj2 for those trying to balance
2104
  * Added a refcount trace feature to astobj2 for those trying to balance
2099
    object creation, deletion; work, play; space and time. See the
2105
    object creation, deletion; work, play; space and time. See the
2100
    notes in astobj2.h. Also, see utils/refcounter as well, as a
2106
    notes in astobj2.h. Also, see utils/refcounter as well, as a
2101
    quick way to find unbalanced refcounts in what could be a sea
2107
    quick way to find unbalanced refcounts in what could be a sea
2102
    of objects that were balanced.
2108
    of objects that were balanced.
2103
  * Added logging to 'make update' command.  See update.log
2109
  * Added logging to 'make update' command.  See update.log
2104
  * Added strictrtp option to rtp.conf. If enabled this will drop RTP packets that
2110
  * Added strictrtp option to rtp.conf. If enabled this will drop RTP packets that
2105
     do not come from the remote party.
2111
     do not come from the remote party.
2106
  * Added the 'n' option to the SpeechBackground application to tell it to not
2112
  * Added the 'n' option to the SpeechBackground application to tell it to not
2107
     answer the channel if it has not already been answered.
2113
     answer the channel if it has not already been answered.
2108
  * Added a compiler flag, CHANNEL_TRACE, which permits channel tracing to be
2114
  * Added a compiler flag, CHANNEL_TRACE, which permits channel tracing to be
2109
     turned on, via the CHANNEL(trace) dialplan function.  Could be useful for
2115
     turned on, via the CHANNEL(trace) dialplan function.  Could be useful for
2110
     dialplan debugging.
2116
     dialplan debugging.
2111
  * iLBC source code no longer included (see UPGRADE.txt for details)
2117
  * iLBC source code no longer included (see UPGRADE.txt for details)
2112
  * If compiled with DETECT_DEADLOCKS enabled and if you have glibc, then if 
2118
  * If compiled with DETECT_DEADLOCKS enabled and if you have glibc, then if 
2113
     deadlock is detected, a backtrace of the stack which led to the lock calls
2119
     deadlock is detected, a backtrace of the stack which led to the lock calls
2114
     will be output to the CLI.
2120
     will be output to the CLI.
2115
  * If compiled with DEBUG_THREADS enabled and if you have glibc, then issuing
2121
  * If compiled with DEBUG_THREADS enabled and if you have glibc, then issuing
2116
     the "core show locks" CLI command will give lock information output as well
2122
     the "core show locks" CLI command will give lock information output as well
2117
     as a backtrace of the stack which led to the lock calls.
2123
     as a backtrace of the stack which led to the lock calls.
2118
  * users.conf now sports an optional alternateexts property, which permits
2124
  * users.conf now sports an optional alternateexts property, which permits
2119
    allocation of additional extensions which will reach the specified user.
2125
    allocation of additional extensions which will reach the specified user.
2120
  * A new option for the configure script, --enable-internal-poll, has been added
2126
  * A new option for the configure script, --enable-internal-poll, has been added
2121
    for use with systems which may have a buggy implementation of the poll system
2127
    for use with systems which may have a buggy implementation of the poll system
2122
    call. If you notice odd behavior such as the CLI being unresponsive on remote
2128
    call. If you notice odd behavior such as the CLI being unresponsive on remote
2123
    consoles, you may want to try using this option. This option is enabled by default
2129
    consoles, you may want to try using this option. This option is enabled by default
2124
    on Darwin systems since it is known that the Darwin poll() implementation has
2130
    on Darwin systems since it is known that the Darwin poll() implementation has
2125
    odd issues.
2131
    odd issues.
2126

    
   
2132

   
2127
Timer Changes
2133
Timer Changes
2128
--------------------
2134
--------------------
2129
* In addition to timing from DAHDI, there is a new timing module called
2135
* In addition to timing from DAHDI, there is a new timing module called
2130
  res_timing_timerfd. In order to use this, you must be running Linux with
2136
  res_timing_timerfd. In order to use this, you must be running Linux with
2131
  a kernel version 2.6.25 or newer as well as glibc 2.8 or newer. The configure
2137
  a kernel version 2.6.25 or newer as well as glibc 2.8 or newer. The configure
2132
  script will be able to tell if you have the requirements. From menuselect, select
2138
  script will be able to tell if you have the requirements. From menuselect, select
2133
  res_timing_timerfd from the Resource Modules menu.
2139
  res_timing_timerfd from the Resource Modules menu.
/trunk/res/res_agi.c
Revision 354937 New Change
 
  1. /trunk/CHANGES: Loading...
  2. /trunk/res/res_agi.c: Loading...

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.