1 ===========================================================
3 === THIS FILE IS AUTOMATICALLY GENERATED DURING THE RELEASE
4 === PROCESS. DO NOT MAKE CHANGES HERE. INSTEAD, REFER TO
5 === doc/UPGRADE-staging/README.md FOR MORE DETAILS.
7 === Information for upgrading between Asterisk versions
9 === This file documents all the changes that MUST be taken
10 === into account when upgrading between certain Asterisk
11 === versions. These changes may require that you modify
12 === your configuration files, dialplan or (in some cases)
13 === source code if you have your own Asterisk modules or
14 === patches. This file also includes advance notice of any
15 === functionality that has been marked as 'deprecated' and
16 === may be removed in a future release, along with the
17 === suggested replacement functionality.
19 ===========================================================
21 ------------------------------------------------------------------------------
22 --- New functionality introduced in Asterisk 20.0.0 --------------------------
23 ------------------------------------------------------------------------------
27 * This module is no longer built by default in
28 accordance with the Module Deprecation Policy.
29 If you require this functionality you will need
30 to enable it for building in menuselect. Note
31 that in the future res_monitor will be removed.
33 ------------------------------------------------------------------------------
34 --- Functionality changes from Asterisk 19.0.0 to Asterisk 20.0.0 ------------
35 ------------------------------------------------------------------------------
39 * The XML Manager Event Interface (amxml) now generates attribute names
40 that are compliant with the XML 1.1 specification. Previously, an
41 attribute name that started with a digit would be rendered as-is, even
42 though attribute names must not begin with a digit. We now prefix
43 attribute names that start with a digit with an underscore ('_') to
44 prevent XML validation failures.
48 * The STIR/SHAKEN configuration option has been split into
49 4 different choices: off, attest, verify, and on. Off and
50 on behave the same way as before. Attest will only perform
51 attestation on the endpoint, and verify will only perform
52 verification on the endpoint.
56 * Encryption is now supported for RSA authentication.
58 Currently, these auth configurations will cause a crash:
60 auth = plaintext,md5,rsa
62 With a patched peer, the following will cause a crash:
65 auth = plaintext,md5,rsa
67 If both the peer and user are patches, no crash occurs.
68 Existing good configurations should continue to work.
72 * When fetching a file for playback from a URL, Asterisk will now first
73 use the value of the Content-Type header in the HTTP response to
74 determine the format of the audio data, and only if it is unable to do
75 that will it attempt to parse the URL and extract the extension from
76 the path portion. Previously Asterisk would first look at the end of
77 the URL, which may have included query string parameters or a URL
78 fragment, which was error prone.
82 * The 'async_operations' setting on transports is no longer
83 obeyed and instead is always set to 1. This is due to the
84 functionality not being applicable to Asterisk and causing
85 excess unnecessary memory usage. This setting will now be
86 ignored but can also be removed from the configuration file.
88 ------------------------------------------------------------------------------
89 --- New functionality introduced in Asterisk 19.0.0 --------------------------
90 ------------------------------------------------------------------------------
94 * The sample logger files have been changed to have .log as their file
95 extension. This was done so that when attached to issues on the issue
96 tracker, they are able to be opened in the browser for convenience.
97 Because of this, the asterisk.logrotate script has been updated to look
98 for .log extensions instead of no extension for files such as full
103 * chan_sip is no longer built by default. To build it, make sure to
104 enable it when running 'make menuselect'
106 ------------------------------------------------------------------------------
107 --- Functionality changes from Asterisk 18.0.0 to Asterisk 19.0.0 ------------
108 ------------------------------------------------------------------------------
112 * The configuration option public_key_url in stir_shaken.conf
113 has been renamed to public_cert_url to better fit what it
114 contains. Only the name has changed - functionality is the
117 * STIR/SHAKEN originally needed an origid to be specified in
118 stir_shaken.conf under the certificate config object in
119 order to work. Now, one is automatically created by
120 generating a UUID, as recommended by RFC8588. Any origid
121 you have in your stir_shaken.conf will need to be removed
122 for the module to read in certificates.
126 * menuselect --enable, --disable, --enable-category and --disable-category will
127 now fail with a non-zero exit code instead of silently failing if an invalid
128 option or category is specified.
132 * SRTP replay protection has been added to res_srtp and
133 a new configuration option "srtpreplayprotection" has
134 been added to the rtp.conf config file. For security
135 reasons, the default setting is "yes". Buggy clients
136 may not handle this correctly which could result in
137 no, or one way, audio and Asterisk error messages like
138 "replay check failed".
140 ------------------------------------------------------------------------------
141 --- New functionality introduced in Asterisk 18.0.0 --------------------------
142 ------------------------------------------------------------------------------
146 * The ast_format_cap_from_stream_topology() function has been renamed
147 to ast_stream_topology_get_formats().
151 * The BridgeAdd application now behaves more like the Bridge application.
152 The application now sets the BRIDGERESULT channel variable to indicate
153 what happened when the channel resumes in dialplan. This is instead of
154 hanging up the channel on failure conditions.
158 * In Asterisk 13.29, a new option flag was added to MixMonitor (the 'S'
159 option) that when combined with the r() or t() options would inject
160 silence into these files if audio was going to be written to one and
161 not that other. This allowed the files specified by r() and t() to
162 subsequently be mixed outside of Asterisk and be appropriately
163 synchronized. This behavior is now the default, and a new option has
164 been added to disable this behavior if desired (the 'n' option).
168 * The 'Reason' header in the QueueMemberPause AMI Event has been
169 removed. The 'PausedReason' header should be used instead.
171 * If they are not specified in [general], "shared_lastcall" and "autofill"
172 now always default to OFF. Before this version, they would be off ('no') if
173 queues.conf did not have a [general] section, but on ('yes') if it did.
177 * The MessageExists dialplan application and the MESSAGE_EXISTS dialplan
178 function were removed. The were deprecated in Asterisk 1.6.0 and
179 Asterisk 11.0.0 respectively. The VM_INFO() dialplan function is the
180 supported mechanism to query the status of a given mailbox.
182 ------------------------------------------------------------------------------
183 --- Functionality changes from Asterisk 17.0.0 to Asterisk 18.0.0 ------------
184 ------------------------------------------------------------------------------
188 * The AMI Originate action, which optionally takes a dialplan application as
189 an argument, no longer accepts "Originate" as the application due to
194 * The "TextMessageReceived" event used to include a list of "TextMessageVariable"
195 objects as part of its output. Due to a couple of bugs in Asterisk a list of
196 received variables was never included even if ones were available. However,
197 variables set to send would be (which they should have not been), but would
198 fail validation due to the bad formatting.
200 So basically there was no way to get a "TextMessageReceived" event with
201 variables. Due to this the API has changed. The "TextMessageVariable" object
202 no longer exists. "TextMessageReceived" now returns a JSON object of key/value
203 pairs. So for instance instead of a list of "TextMessageVariable" objects:
205 [ TextMessageVariable, TextMessageVariable, TextMessageVariable]
207 where a TextMessageVariable was supposed to be:
209 { "key": "<var name>", "value":, "<var value>" }
211 The output is now just:
213 { "<var name>": "<var value>" }
215 This aligns more with how variables are specified when sending a message, as
216 well as other variable lists in ARI.
220 * The streams API function ast_stream_get_formats is
221 now defined as returning the format capabilities const.
222 This has always been the case but was never enforced
223 through the API itself. Any consumer of this API that
224 is not treating the formats as immutable should update
225 their code to create a new format capabilities and set
226 it on the stream instead.
230 * The "TextMessageReceived" event used to include a list of "TextMessageVariable"
231 objects as part of its output. Due to a couple of bugs in Asterisk a list of
232 received variables was never included even if ones were available. However,
233 variables set to send would be (which they should have not been), but would
234 fail validation due to the bad formatting.
236 So basically there was no way to get a "TextMessageReceived" event with
237 variables. Due to this the API has changed. The "TextMessageVariable" object
238 no longer exists. "TextMessageReceived" now returns a JSON object of key/value
239 pairs. So for instance instead of a list of "TextMessageVariable" objects:
241 [ TextMessageVariable, TextMessageVariable, TextMessageVariable]
243 where a TextMessageVariable was supposed to be:
245 { "key": "<var name>", "value":, "<var value>" }
247 The output is now just:
249 { "<var name>": "<var value>" }
251 This aligns more with how variables are specified when sending a message, as
252 well as other variable lists in ARI.
256 * A new directory has been added under the default (e.g., /var/lib/asterisk) -
257 inside the 'keys' directory - named 'stir_shaken'. This directory will
258 hold public keys that have been downloaded for STIR/SHAKEN verification.
260 ------------------------------------------------------------------------------
261 --- New functionality introduced in Asterisk 17.0.0 --------------------------
262 ------------------------------------------------------------------------------
266 * The JabberStatus application, deprecated in Asterisk 12, has been removed.
270 * The bridging core no longer uses the stasis cache for bridge
271 snapshots. The latest bridge snapshot is now stored on the
272 ast_bridge structure itself.
274 The following APIs are no longer available since the stasis cache
276 ast_bridge_topic_cached()
277 ast_bridge_topic_all_cached()
279 A topic pool is now used for individual bridge topics.
281 The ast_bridge_cache() function was removed since there's no
282 longer a separate container of snapshots.
284 A new function "ast_bridges()" was created to retrieve the
285 container of all bridges. Users formerly calling
286 ast_bridge_cache() can use the new function to iterate over
287 bridges and retrieve the latest snapshot directly from the
290 The ast_bridge_snapshot_get_latest() function was renamed to
291 ast_bridge_get_snapshot_by_uniqueid().
293 A new function "ast_bridge_get_snapshot()" was created to retrieve
294 the bridge snapshot directly from the bridge structure.
296 The ast_bridge_topic_all() function now returns a normal topic
297 not a cached one so you can't use stasis cache functions on it
300 The ast_bridge_snapshot_type() stasis message now has the
301 ast_bridge_snapshot_update structure as it's data. It contains
302 the last snapshot and the new one.
306 * Asterisk headers are no longer installed and uninstalled automatically when
307 performing a "make install" or a "make uninstall". To install/uninstall the
308 headers, use "make install-headers" and "make uninstall-headers". The headers
309 also continue to be uninstalled when performing a "make uninstall-all".
313 * The core no longer uses the stasis cache for channels snapshots.
314 The following APIs are no longer available:
315 ast_channel_topic_cached()
316 ast_channel_topic_all_cached()
317 The ast_channel_cache_all() and ast_channel_cache_by_name() functions
318 now returns an ao2_container of ast_channel_snapshots rather than a
319 container of stasis_messages therefore you can't call stasis_cache
321 The ast_channel_topic_all() function now returns a normal topic,
322 not a cached one so you can't use stasis cache functions on it either.
323 The ast_channel_snapshot_type() stasis message now has the
324 ast_channel_snapshot_update structure as it's data.
325 ast_channel_snapshot_get_latest() still returns the latest snapshot.
329 * The chan_sip module is now deprecated, users should migrate to the
330 replacement module chan_pjsip. See guides at the Asterisk Wiki:
331 https://wiki.asterisk.org/wiki/x/tAHOAQ
332 https://wiki.asterisk.org/wiki/x/hYCLAQ
336 * The CALLERPRES() dialplan function, deprecated in Asterisk 1.8, has been
341 * The PARKINGSLOT channel variable, deprecated in Asterisk 12 in favor of the
342 PARKING_SPACE channel variable, will no longer be set.
346 * The JabberStatus application, deprecated in Asterisk 12, has been removed.
348 ------------------------------------------------------------------------------
349 --- Functionality changes from Asterisk 16.0.0 to Asterisk 17.0.0 ------------
350 ------------------------------------------------------------------------------
354 * res_pjsip_pubsub is now required so call transfer progress can be monitored
355 and reported in the channel variable TRANSFERSTATUS.
359 * The "Voicemail Build Options" section of menuselect has been removed along with
360 the FILE_STORAGE, ODBC_STORAGE and IMAP_STORAGE menuselect options. All 3 variants
361 of the voicemail app can now be built at the same by enabling app_voicemail,
362 app_voicemail_imap, and app_voicemail_odbc under the "Applications" section.
363 By default, only app_voicemail is enabled. Also, the modules.conf sample has
364 been updated to "noload" app_voicemail_imap and app_voicemail_odbc should they
365 all be built. Packagers must update their build scripts appropriately.
369 * res_pjsip_pubsub is now required so call transfer progress can be monitored
370 and reported in the channel variable TRANSFERSTATUS.
375 - The app_fax module is now deprecated, users should migrate to the
376 replacement module res_fax.
379 - The app_macro module is now deprecated and by default it is no longer
380 built. Users should migrate to app_stack (Gosub). A warning is logged
381 the first time any Macro is used.
384 - The ContactStatus and Status fields for the manager events ContactStatus
385 and ContactStatusDetail are now set to "NonQualified" when a contact exists
386 but has not been qualified.
387 - The ContactStatus event will no longer be sent by PJSIP when a device
388 refreshes its registration.
389 - The "Newexten" event is now part of the "dialplan" class. The documentation
390 for Asterisk 15 already specified this, but the implementation was actually
391 using the "call" class instead.
394 - The ContactInfo event's contact_status field is now set to "NonQualified"
395 when a contact exists but has not been qualified.
398 - MALLOC_DEBUG no longer has an effect on Asterisk's ABI. Asterisk built
399 with MALLOC_DEBUG can now successfully load binary modules built without
400 MALLOC_DEBUG and vice versa. Third-party pre-compiled modules no longer
401 need to have a special build with it enabled.
403 - Asterisk now depends on libjansson >= 2.11. If this version is not
404 available on your distro you can use `./configure --with-jansson-bundled`.
407 - Timeouts for reading digits from analog phones are now configurable in
408 chan_dahdi.conf: firstdigit_timeout, interdigit_timeout, matchdigit_timeout.
411 - The cdr_syslog module is now deprecated and by default it is no longer
415 - The res_config_sqlite module is now deprecated, users should migrate to the
416 replacement module res_config_sqlite3.
419 - The res_monitor module is now deprecated, users should migrate to the
420 replacement module app_mixmonitor.
423 - libedit is no longer available as an embedded library and must be provided
425 - The module loader now enforces inter-module dependencies. This ensures that
426 a module is not started before another it depends on, even if preload is used.
427 If a dependency is not available or fails to startup this will block any
428 dependants from startup.
429 - Parts of the Asterisk core which can load configuration from realtime are now
430 built-in modules. It is no longer necessary to preload realtime drivers as
431 they are always initialized before the built-in modules.
433 From 15.2.0 to 15.3.0:
437 * Users who are matching endpoints by SIP header need to reevaluate their
438 global "endpoint_identifier_order" option in light of the "ip" endpoint
439 identifier method split into the "ip" and "header" endpoint identifier
442 res_pjsip_endpoint_identifier_ip
444 * The endpoint identifier "ip" method previously recognized endpoints either
445 by IP address or a matching SIP header. The "ip" endpoint identifier method
446 is now split into the "ip" and "header" endpoint identifier methods. The
447 "ip" endpoint identifier method only matches by IP address and the "header"
448 endpoint identifier method only matches by SIP header. The split allows the
449 user to control the relative priority of the IP address and the SIP header
450 identification methods in the global "endpoint_identifier_order" option.
451 e.g., If you have two type=identify sections where one matches by IP address
452 for endpoint alice and the other matches by SIP header for endpoint bob then
453 you can now predict which endpoint is matched when a request comes in that
459 - '--with-pjproject-bundled' is now the default when running ./configure
460 It can be disabled with '--without-pjproject-bundled'.
463 - Multi-stream support has been added so a channel can have multiple
464 streams of the same type such as audio and video.
466 - The 'Data Retrieval API' has been removed. This API was not actively
467 maintained, was not added to new modules (such as res_pjsip), and there
468 exist better alternatives to acquire the same information, such as the
469 ARI. As a result, the 'DataGet' AMI action as well as the 'data get'
470 CLI command have been removed.
472 From 14.6.0 to 14.7.0:
475 - ast_app_parse_timelen now returns an error if it encounters extra characters
476 at the end of the string to be parsed.
478 From 14.4.0 to 14.5.0:
481 - Support for embedded modules has been removed. This has not worked in
482 many years. LOADABLE_MODULES menuselect option is also removed as
483 loadable module support is now always enabled.
485 From 14.3.0 to 14.4.0:
488 - The RTP layer of Asterisk now has support for RFC 5761: "Multiplexing RTP
489 Data and Control Packets on a Single Port." For the PJSIP channel driver,
490 chan_pjsip, you can set "rtcp_mux = yes" on a PJSIP endpoint in pjsip.conf
491 to enable the feature. For chan_sip you can set "rtcp_mux = yes" either
492 globally or on a per-peer basis in sip.conf.
497 - The policy for when to send "Dial" events has changed. Previously, "Dial"
498 events were sent on the calling channel's topic. However, starting in Asterisk
499 14, if there is no calling channel on which to send the event, the event is
500 instead sent on the called channel's topic. Note that for the ARI channels
501 resource's dial operation, this means that the "Dial" events will always be
502 sent on the called channel's topic.
507 - For users using the FXO port (FXS signaling) distinctive ring detection
508 feature, you will need to adjust the dringX count values. The count
509 values now only record ring end events instead of any DAHDI event. A
510 ring-ring-ring pattern would exceed the pattern limits and stop
514 - The SIP dial string has been extended past the [!dnid] option by another
515 exclamation mark: [!dnid[!fromuri]. An exclamation mark in the To-URI
516 will now mean changes to the From-URI.
519 - The REF_DEBUG compiler flag is now used to enable refdebug by default.
520 The setting can be overridden in asterisk.conf by setting refdebug in
521 the options category. No recompile is required to enable/disable it.
523 - Modified processing of command-line options to first parse only what
524 is necessary to read asterisk.conf. Once asterisk.conf is fully loaded,
525 the remaining options are processed. The -X option now applies to
526 asterisk.conf only. To enable #exec for other config files you must
527 set execincludes=yes in asterisk.conf. Any other option set on the
528 command-line will now override the equivalent setting from asterisk.conf.
531 - The 'ModuleCheck' Action's Version key will no longer show the module
532 version. The value will always be blank.
535 - The 'core show file version' command has been removed. When Asterisk
536 moved to Git, the source control version support was removed. As a
537 result, the CLi command was no longer useful and was removed as well.
540 - The first callid created is now 1 instead of 0. The value 0
541 is now reserved to represent a lack of callid.
544 - The Command action now sends the output from the CLI command as a series
545 of Output headers for each line instead of as a block of text with the
546 --END COMMAND-- delimiter to match the output from other actions.
548 Commands that fail to execute (no such command, invalid syntax etc.) now
549 return an Error response instead of Success.
552 - The 'maximum_number_of_words' configuration option and parameter to the AMD
553 application previously did not match the documented functionality + variable
554 name. In Asterisk 13, a value of '3' would mean that if '3' words were detected,
555 the result would be detection as a 'MACHINE'. As of this version, the value
556 reflects the maximum words that if EXCEEDED (rather than reached), would
557 result in detection as a machine. This means that you should update this
558 value to be one higher than your previos value, if your previous value
559 was working well for you.
563 General Asterisk Changes:
564 - The asterisk command line -I option and the asterisk.conf internal_timing
565 option are removed and always enabled if any timing module is loaded.
567 - The per console verbose level feature as previously implemented caused a
568 large performance penalty. The fix required some minor incompatibilities
569 if the new rasterisk is used to connect to an earlier version. If the new
570 rasterisk connects to an older Asterisk version then the root console verbose
571 level is always affected by the "core set verbose" command of the remote
572 console even though it may appear to only affect the current console. If
573 an older version of rasterisk connects to the new version then the
574 "core set verbose" command will have no effect.
576 - The asterisk compatibility options in asterisk.conf have been removed.
577 These options enabled certain backwards compatibility features for
578 pbx_realtime, res_agi, and app_set that made their behaviour similar to
579 Asterisk 1.4. Users who used these backwards compatibility settings should
580 update their dialplans to use ',' instead of '|' as a delimiter, and should
581 use the Set dialplan application instead of the MSet dialplan application.
584 - Sample config files have been moved from configs/ to a subfolder of that
585 directory, 'samples'.
587 - The menuselect utility has been pulled into the Asterisk repository. As a
588 result, the libxml2 development library is now a required dependency for
591 - Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
592 objects will emit additional debug information to the refs log file located
593 in the standard Asterisk log file directory. This log file is useful in
594 tracking down object leaks and other reference counting issues. Prior to
595 this version, this option was only available by modifying the source code
596 directly. This change also includes a new script, refcounter.py, in the
597 contrib folder that will process the refs log file.
602 - The sound_place_into_conference sound used in Confbridge is now deprecated
603 and is no longer functional since it has been broken since its inception
604 and the fix involved using a different method to achieve the same goal. The
605 new method to achieve this functionality is by using sound_begin to play
606 a sound to the conference when waitmarked users are moved into the conference.
608 - Added 'Admin' header to ConfbridgeJoin, ConfbridgeLeave, ConfbridgeMute,
609 ConfbridgeUnmute, and ConfbridgeTalking AMI events.
612 - The ControlPlayback and 'control stream file' AGI command will no longer
613 implicitly answer the channel. If you do not answer the channel prior to
614 using either this application or AGI command, you must send Progress
618 - Queue rules provided in queuerules.conf can no longer be named "general".
621 - The SetMusicOnHold dialplan application was deprecated and has been removed.
622 Users of the application should use the CHANNEL function's musicclass
626 - The WaitMusicOnHold dialplan application was deprecated and has been
627 removed. Users of the application should use MusicOnHold with a duration
631 - The cdr_sqlite module was deprecated and has been removed. Users of this
632 module should use the cdr_sqlite3_custom module instead.
637 - SS7 support now requires libss7 v2.0 or later.
639 - Added the inband_on_setup_ack compatibility option to chan_dahdi.conf to
640 deal with switches that don't send an inband progress indication in the
641 SETUP ACKNOWLEDGE message.
645 - This module was deprecated and has been removed. Users of chan_gtalk
646 should use chan_motif.
649 - This module was deprecated and has been removed. Users of chan_h323
650 should use chan_ooh323.
653 - This module was deprecated and has been removed. Users of chan_jingle
654 should use chan_motif.
657 - Added a 'force_avp' option to chan_pjsip which will force the usage of
658 'RTP/AVP', 'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' as the media transport type
659 in SDP offers depending on settings, even when DTLS is used for media
662 - Added a 'media_use_received_transport' option to chan_pjsip which will
663 cause the SDP answer to use the media transport as received in the SDP
667 - Made set SIPREFERREDBYHDR as inheritable for better chan_pjsip
670 - The SIPPEER dialplan function no longer supports using a colon as a
671 delimiter for parameters. The parameters for the function should be
672 delimited using a comma.
674 - The SIPCHANINFO dialplan function was deprecated and has been removed. Users
675 of the function should use the CHANNEL function instead.
677 - Added a 'force_avp' option for chan_sip. When enabled this option will
678 cause the media transport in the offer or answer SDP to be 'RTP/AVP',
679 'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' even if a DTLS stream has been
680 configured. This option can be set to improve interoperability with WebRTC
681 clients that don't use the RFC defined transport for DTLS.
683 - The 'dtlsverify' option in chan_sip now has additional values besides
684 'yes' and 'no'. If 'yes' is specified both the certificate and fingerprint
685 will be verified. If 'no' is specified then neither the certificate or
686 fingerprint is verified. If 'certificate' is specified then only the
687 certificate is verified. If 'fingerprint' is specified then only the
688 fingerprint is verified.
690 - A 'dtlsfingerprint' option has been added to chan_sip which allows the
691 hash to be specified for the DTLS fingerprint placed in SDP. Supported
692 values are 'sha-1' and 'sha-256' with 'sha-256' being the default.
694 - The 'progressinband=never' option is now more zealous in the persecution of
695 progress messages coming from Asterisk. Channels bridged with a SIP channel
696 that has 'progressinband=never' set will not be able to forward their
697 progress indications through to the SIP device. chan_sip will now turn such
698 progress indications into a 180 Ringing (if a 180 has not yet been
699 transmitted) if 'progressinband=never'.
701 - The codec preference order in an SDP during an offer is slightly different
702 than previous releases. Prior to Asterisk 13, the preference order of
704 (1) Our preferred codec
705 (2) Our configured codecs
706 (3) Any non-audio joint codecs
708 One of the ways the new media format architecture in Asterisk 13 improves
709 performance is by reference counting formats, such that they can be reused
710 in many places without additional allocation. To not require a large
711 amount of locking, an instance of a format is immutable by convention.
712 This works well except for formats with attributes. Since a media format
713 with an attribute is a different object than the same format without an
714 attribute, we have to carry over the formats with attributes from an
715 inbound offer so that the correct attributes are offered in an outgoing
716 INVITE request. This requires some subtle tweaks to the preference order
717 to ensure that the media format with attributes is offered to a remote
718 peer, as opposed to the same media format (but without attributes) that
719 may be stored in the peer object.
721 All of this means that our offer offer list will now be:
722 (1) Our preferred codec
723 (2) Any joint codecs offered by the inbound offer
724 (3) All other codecs that are not the preferred codec and not a joint
725 codec offered by the inbound offer
728 - The unistim.conf 'dateformat' has changed meaning of options values to conform
729 values used inside Unistim protocol
731 - Added 'dtmf_duration' option with changing default operation to disable
732 received dtmf playback on unistim phone
737 - accountcode behavior changed somewhat to add functional peeraccount
738 support. The main change is that local channels now cross accountcode
739 and peeraccount across the special bridge between the ;1 and ;2 channels
740 just like channels between normal bridges. See the CHANGES file for
744 - The ARI version has been changed to 1.5.0. This is to reflect backwards
745 compatible changes made since 12.0.0 was released.
747 - Added a new ARI resource 'mailboxes' which allows the creation and
748 modification of mailboxes managed by external MWI. Modules res_mwi_external
749 and res_stasis_mailbox must be enabled to use this resource.
751 - Added new events for externally initiated transfers. The event
752 BridgeBlindTransfer is now raised when a channel initiates a blind transfer
753 of a bridge in the ARI controlled application to the dialplan; the
754 BridgeAttendedTransfer event is raised when a channel initiates an
755 attended transfer of a bridge in the ARI controlled application to the
758 - Channel variables may now be specified as a body parameter to the
759 POST /channels operation. The 'variables' key in the JSON is interpreted
760 as a sequence of key/value pairs that will be added to the created channel
761 as channel variables. Other parameters in the JSON body are treated as
762 query parameters of the same name.
764 - A bug fix in bridge creation has caused a behavioural change in how
765 subscriptions are created for bridges. A bridge created through ARI, does
766 not, by itself, have a subscription created for any particular Stasis
767 application. When a channel in a Stasis application joins a bridge, an
768 implicit event subscription is created for that bridge as well. Previously,
769 when a channel left such a bridge, the subscription was leaked; this allowed
770 for later bridge events to continue to be pushed to the subscribed
771 applications. That leak has been fixed; as a result, bridge events that were
772 delivered after a channel left the bridge are no longer delivered. An
773 application must subscribe to a bridge through the applications resource if
774 it wishes to receive all events related to a bridge.
777 - The AMI version has been changed to 2.5.0. This is to reflect backwards
778 compatible changes made since 12.0.0 was released.
780 - The DialStatus field in the DialEnd event can now have additional values.
781 This includes ABORT, CONTINUE, and GOTO.
783 - The res_mwi_external_ami module can, if loaded, provide additional AMI
784 actions and events that convey MWI state within Asterisk. This includes
785 the MWIGet, MWIUpdate, and MWIDelete actions, as well as the MWIGet and
786 MWIGetComplete events that occur in response to an MWIGet action.
788 - AMI now contains a new class authorization, 'security'. This is used with
789 the following new events: FailedACL, InvalidAccountID, SessionLimit,
790 MemoryLimit, LoadAverageLimit, RequestNotAllowed, AuthMethodNotAllowed,
791 RequestBadFormat, SuccessfulAuth, UnexpectedAddress, ChallengeResponseFailed,
792 InvalidPassword, ChallengeSent, and InvalidTransport.
794 - Bridge related events now have two additional fields: BridgeName and
795 BridgeCreator. BridgeName is a descriptive name for the bridge;
796 BridgeCreator is the name of the entity that created the bridge. This
797 affects the following events: ConfbridgeStart, ConfbridgeEnd,
798 ConfbridgeJoin, ConfbridgeLeave, ConfbridgeRecord, ConfbridgeStopRecord,
799 ConfbridgeMute, ConfbridgeUnmute, ConfbridgeTalking, BlindTransfer,
800 AttendedTransfer, BridgeCreate, BridgeDestroy, BridgeEnter, BridgeLeave
802 - MixMonitor AMI actions now require users to have authorization classes.
803 * MixMonitor - system
804 * MixMonitorMute - call or system
805 * StopMixMonitor - call or system
807 - Removed the undocumented manager.conf block-sockets option. It interferes with
808 TCP/TLS inactivity timeouts.
810 - The response to the PresenceState AMI action has historically contained two
811 Message keys. The first of these is used as an informative message regarding
812 the success/failure of the action; the second contains a Presence state
813 specific message. Having two keys with the same unique name in an AMI
814 message is cumbersome for some client; hence, the Presence specific Message
815 has been deprecated. The message will now contain a PresenceMessage key
816 for the presence specific information; the Message key containing presence
817 information will be removed in the next major version of AMI.
819 - The manager.conf 'eventfilter' now takes an "extended" regular expression
820 instead of a "basic" one.
823 - The "endbeforehexten" setting now defaults to "yes", instead of "no".
824 When set to "no", yhis setting will cause a new CDR to be generated when a
825 channel enters into hangup logic (either the 'h' extension or a hangup
826 handler subroutine). In general, this is not the preferred default: this
827 causes extra CDRs to be generated for a channel in many common dialplans.
830 - "core show settings" now lists the current console verbosity in addition
831 to the root console verbosity.
833 - "core set verbose" has not been able to support the by module verbose
834 logging levels since verbose logging levels were made per console. That
835 syntax is now removed and a silence option added in its place.
838 - The 'verbose' setting in logger.conf still takes an optional argument,
839 specifying the verbosity level for each logging destination. However,
840 the default is now to once again follow the current root console level.
841 As a result, using the AMI Command action with "core set verbose" could
842 again set the root console verbose level and affect the verbose level
846 - Added http.conf session_inactivity timer option to close HTTP connections
847 that aren't doing anything.
849 - Added support for persistent HTTP connections. To enable persistent
850 HTTP connections configure the keep alive time between HTTP requests. The
851 keep alive time between HTTP requests is configured in http.conf with the
852 session_keep_alive parameter.
854 Realtime Configuration:
855 - WARNING: The database migration script that adds the 'extensions' table for
856 realtime had to be modified due to an error when installing for MySQL. The
857 'extensions' table's 'id' column was changed to be a primary key. This could
858 potentially cause a migration problem. If so, it may be necessary to
859 manually alter the affected table/column to bring it back in line with the
862 - New columns have been added to realtime tables for 'support_path' on
863 ps_registrations and ps_aors and for 'path' on ps_contacts for the new
864 SIP Path support in chan_pjsip.
866 - The following new tables have been added for pjsip realtime: 'ps_systems',
867 'ps_globals', 'ps_tranports', 'ps_registrations'.
869 - The following columns were added to the 'ps_aors' realtime table:
870 'maximum_expiration', 'outbound_proxy', and 'support_path'.
872 - The following columns were added to the 'ps_contacts' realtime table:
873 'outbound_proxy', 'user_agent', and 'path'.
875 - New columns have been added to the ps_endpoints realtime table for the
876 'media_address', 'redirect_method' and 'set_var' options. Also the
877 'mwi_fromuser' column was renamed to 'mwi_from_user'. A new column
878 'message_context' was added to let users configure how MESSAGE requests are
879 routed to the dialplan.
881 - A new column was added to the 'ps_globals' realtime table for the 'debug'
884 - PJSIP endpoint columns 'tos_audio' and 'tos_video' have been changed from
885 yes/no enumerators to string values. 'cos_audio' and 'cos_video' have been
886 changed from yes/no enumerators to integer values. PJSIP transport column
887 'tos' has been changed from a yes/no enumerator to a string value. 'cos' has
888 been changed from a yes/no enumerator to an integer value.
890 - The 'queues' and 'queue_members' realtime tables have been added to the
891 config Alembic scripts.
893 - A new set of Alembic scripts has been added for CDR tables. This will create
894 a 'cdr' table with the default schema that Asterisk expects.
896 - A new upgrade script has been added that adds a 'queue_rules' table for
897 app_queue. Users of app_queue can store queue rules in a database. It is
898 important to note that app_queue only looks for this table on module load or
899 module reload; for more information, see the CHANGES file.
904 - The compatibility setting, allow_empty_string_in_nontext, has been removed.
905 Empty column values will be stored as empty strings during realtime updates.
908 - This module was deprecated and has been removed. Users of this module should
909 use res_xmpp instead.
912 - Added a compatibility option to ari.conf, sip.conf, and pjsip.conf
913 'websocket_write_timeout'. When a websocket connection exists where Asterisk
914 writes a substantial amount of data to the connected client, and the connected
915 client is slow to process the received data, the socket may be disconnected.
916 In such cases, it may be necessary to adjust this value.
921 - The safe_asterisk script was previously not installed on top of an existing
922 version. This caused bug-fixes in that script not to be deployed. If your
923 safe_asterisk script is customized, be sure to keep your changes. Custom
924 values for variables should be created in *.sh file(s) inside
925 ASTETCDIR/startup.d/. See ASTERISK-21965.
927 - Changed a log message in safe_asterisk and the $NOTIFY mail subject. If
928 you use tools to parse either of them, update your parse functions
929 accordingly. The changed strings are:
930 - "Exited on signal $EXITSIGNAL" => "Asterisk exited on signal $EXITSIGNAL."
931 - "Asterisk Died" => "Asterisk on $MACHINE died (sig $EXITSIGNAL)"
934 - The refcounter program has been removed in favor of the refcounter.py script
939 There are many significant architectural changes in Asterisk 12. It is
940 recommended that you not only read through this document for important
941 changes that affect an upgrade, but that you also read through the CHANGES
942 document in depth to better understand the new options available to you.
944 Additional information on the architectural changes made in Asterisk can be
945 found on the Asterisk wiki (https://wiki.asterisk.org)
947 Of particular note, the following systems in Asterisk underwent significant
948 changes. Documentation for the changes and a specification for their
949 behavior in Asterisk 12 is also available on the Asterisk wiki.
950 - AMI: Many events were changed, and the semantics of channels and bridges
951 were defined. In particular, how channels and bridges behave under
952 transfer scenarios and situations involving multiple parties has
953 changed significantly. See https://wiki.asterisk.org/wiki/x/dAFRAQ
954 for more information.
955 - CDR: CDR logic was extracted from the many locations it existed in across
956 Asterisk and implemented as a consumer of Stasis message bus events.
957 As a result, consistency of records has improved significantly and the
958 behavior of CDRs in transfer scenarios has been defined in the CDR
959 specification. However, significant behavioral changes in CDRs resulted
960 from the transition. The most significant change is the addition of
961 CDR entries when a channel who is the Party A in a CDR leaves a bridge.
962 See https://wiki.asterisk.org/wiki/x/pwpRAQ for more information.
963 - CEL: Much like CDRs, CEL was removed from the many locations it existed in
964 across Asterisk and implemented as a consumer of Stasis message bus
965 events. It now closely follows the Bridging API model of channels and
966 bridges, and has a much closer consistency of conveyed events as AMI.
967 For the changes in events, see https://wiki.asterisk.org/wiki/x/4ICLAQ.
970 - Removed the CHANNEL_TRACE development mode build option. Certain aspects of
971 the CHANNEL_TRACE build option were incompatible with the new bridging
974 - Asterisk now depends on libjansson, libuuid and optionally (but recommended)
975 libxslt and uriparser.
977 - The new SIP stack and channel driver uses a particular version of PJSIP.
978 Please see https://wiki.asterisk.org/wiki/x/J4GLAQ for more information on
979 configuring and installing PJSIP for use with Asterisk.
981 AgentLogin and chan_agent:
982 - Along with AgentRequest, this application has been modified to be a
983 replacement for chan_agent. The chan_agent module and the Agent channel
984 driver have been removed from Asterisk, as the concept of a channel driver
985 proxying in front of another channel driver was incompatible with the new
986 architecture (and has had numerous problems through past versions of
987 Asterisk). The act of a channel calling the AgentLogin application places the
988 channel into a pool of agents that can be requested by the AgentRequest
989 application. Note that this application, as well as all other agent related
990 functionality, is now provided by the app_agent_pool module.
992 - This application no longer performs agent authentication. If authentication
993 is desired, the dialplan needs to perform this function using the
994 Authenticate or VMAuthenticate application or through an AGI script before
997 - The agents.conf schema has changed. Rather than specifying agents on a
998 single line in comma delineated fashion, each agent is defined in a separate
999 context. This allows agents to use the power of context templates in their
1002 - A number of parameters from agents.conf have been removed. This includes
1003 maxloginretries, autologoffunavail, updatecdr, goodbye, group, recordformat,
1004 urlprefix, and savecallsin. These options were obsoleted by the move from
1005 a channel driver model to the bridging/application model provided by
1008 - The AGENTUPDATECDR channel variable has also been removed, for the same
1009 reason as the updatecdr option.
1011 - The endcall and enddtmf configuration options are removed. Use the
1012 dialplan function CHANNEL(dtmf_features) to set DTMF features on the agent
1013 channel before calling AgentLogin.
1015 AgentMonitorOutgoing
1016 - This application has been removed. It was a holdover from when
1017 AgentCallbackLogin was removed.
1020 - It is no longer possible to bypass updating the CDR when answering a
1021 channel. CDRs are based on the channel state and will be updated when
1022 the channel is Answered.
1025 - The channel variable CPLAYBACKSTATUS may now return the value
1026 'REMOTESTOPPED' when playback is stopped by an external entity.
1029 - This application now has a dependency on the app_cdr module. It uses this
1030 module to hide the CDR created prior to execution of the DISA application.
1033 - The output of DumpChan no longer includes the DirectBridge or IndirectBridge
1034 fields. Instead, if a channel is in a bridge, it includes a BridgeID field
1035 containing the unique ID of the bridge that the channel happens to be in.
1038 - Nearly every parameter in ForkCDR has been updated and changed to reflect
1039 the changes in CDRs. Please see the documentation for the ForkCDR
1040 application, as well as the CDR specification on the Asterisk wiki.
1043 - The NoCDR application has been deprecated. Please use the CDR_PROP function
1044 to disable CDRs on a channel.
1047 - The app_parkandannounce module has been removed. The application
1048 ParkAndAnnounce is now provided by the res_parking module. See the
1049 Parking changes for more information.
1052 - The 'w' and 'a' options have been removed. Dispatching CDRs to registered
1053 backends occurs on an as-needed basis in order to preserve linkedid
1054 propagation and other needed behavior.
1055 - The 'e' option is deprecated. Please use the CDR_PROP function to enable
1056 CDRs on a channel that they were previously disabled on.
1057 - The ResetCDR application is no longer a part of core Asterisk, and instead
1058 is now delivered as part of app_cdr.
1061 - Queue strategy rrmemory now has a predictable order similar to strategy
1062 rrordered. Members will be called in the order that they are added to the
1065 - Removed the queues.conf check_state_unknown option. It is no longer
1068 - It is now possible to play the Queue prompts to the first user waiting in a
1069 call queue. Note that this may impact the ability for agents to talk with
1070 users, as a prompt may still be playing when an agent connects to the user.
1071 This ability is disabled by default but can be enabled on an individual
1072 queue using the 'announce-to-first-user' option.
1074 - The configuration options eventwhencalled and eventmemberstatus have been
1075 removed. As a result, the AMI events QueueMemberStatus, AgentCalled,
1076 AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be
1077 sent. The "Variable" fields will also no longer exist on the Agent* events.
1078 These events can be filtered out from a connected AMI client using the
1079 eventfilter setting in manager.conf.
1081 - The queue log now differentiates between blind and attended transfers. A
1082 blind transfer will result in a BLINDTRANSFER message with the destination
1083 context and extension. An attended transfer will result in an
1084 ATTENDEDTRANSFER message. This message will indicate the method by which
1085 the attended transfer was completed: "BRIDGE" for a bridge merge, "APP"
1086 for running an application on a bridge or channel, or "LINK" for linking
1087 two bridges together with local channels. The queue log will also now detect
1088 externally initiated blind and attended transfers and record the transfer
1091 - When performing queue pause/unpause on an interface without specifying an
1092 individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
1093 least one member of any queue exists for that interface.
1096 - This application is deprecated in favor of CHANNEL(amaflags).
1099 - Mailboxes defined by app_voicemail MUST be referenced by the rest of the
1100 system as mailbox@context. The rest of the system cannot add @default
1101 to mailbox identifiers for app_voicemail that do not specify a context
1102 any longer. It is a mailbox identifier format that should only be
1103 interpreted by app_voicemail.
1105 - The voicemail.conf configuration file now has an 'alias' configuration
1106 parameter for use with the Directory application. The voicemail realtime
1107 database table schema has also been updated with an 'alias' column. Systems
1108 using voicemail with realtime should update their schemas accordingly.
1111 - When a channel driver is configured to enable jiterbuffers, they are now
1112 applied unconditionally when a channel joins a bridge. If a jitterbuffer
1113 is already set for that channel when it enters, such as by the JITTERBUFFER
1114 function, then the existing jitterbuffer will be used and the one set by
1115 the channel driver will not be applied.
1118 - chan_bridge is removed and its functionality is incorporated into ConfBridge
1122 - Analog port dialing and deferred DTMF dialing for PRI now distinguishes
1123 between 'w' and 'W'. The 'w' pauses dialing for half a second. The 'W'
1124 pauses dialing for one second.
1126 - The default for inband_on_proceeding has changed to no.
1128 - The CLI command 'dahdi destroy channel' is now 'dahdi destroy channels'.
1129 A range of channels can be specified to be destroyed. Note that this command
1130 should only be used if you understand the risks it entails.
1132 - The script specified by the chan_dahdi.conf mwimonitornotify option now gets
1133 the exact configured mailbox name. For app_voicemail mailboxes this is
1136 - Added mwi_vm_boxes that also must be configured for ISDN MWI to be enabled.
1138 - ignore_failed_channels now defaults to True: the channel will continue to
1139 be configured even if configuring it has failed. This is generally a
1140 better setup for systems with not more than one DAHDI device or with DAHDI
1144 - The /b option has been removed.
1146 - chan_local moved into the system core and is no longer a loadable module.
1149 - The 'callevents' parameter has been removed. Hold AMI events are now raised
1150 in the core, and can be filtered out using the 'eventfilter' parameter
1153 - Dynamic realtime tables for SIP Users can now include a 'path' field. This
1154 will store the path information for that peer when it registers. Realtime
1155 tables can also use the 'supportpath' field to enable Path header support.
1157 - LDAP realtime configurations for SIP Users now have the AstAccountPathSupport
1158 objectIdentifier. This maps to the supportpath option in sip.conf.
1161 - Masquerades as an operation inside Asterisk have been effectively hidden
1162 by the migration to the Bridging API. As such, many 'quirks' of Asterisk
1163 no longer occur. This includes renaming of channels, "<ZOMBIE>" channels,
1164 dropping of frame/audio hooks, and other internal implementation details
1165 that users had to deal with. This fundamental change has large implications
1166 throughout the changes documented for this version. For more information
1167 about the new core architecture of Asterisk, please see the Asterisk wiki.
1169 - The following channel variables have changed behavior which is described in
1170 the CHANGES file: TRANSFER_CONTEXT, BRIDGEPEER, BRIDGEPVTCALLID,
1171 ATTENDED_TRANSFER_COMPLETE_SOUND, DYNAMIC_FEATURENAME, and DYNAMIC_PEERNAME.
1173 AMI (Asterisk Manager Interface):
1174 - Version 1.4 - The details of what happens to a channel when a masquerade
1175 happens (transfers, parking, etc) have changed.
1176 - The Masquerade event now includes the Uniqueid's of the clone and original
1178 - Channels no longer swap Uniqueid's as a result of the masquerade.
1179 - Instead of a shell game of renames, there's now a single rename, appending
1180 <ZOMBIE> to the name of the original channel.
1182 - *Major* changes were made to both the syntax as well as the semantics of the
1183 AMI protocol. In particular, AMI events have been substantially modified
1184 and improved in this version of Asterisk. The major event changes are listed
1186 - NewPeerAccount has been removed. NewAccountCode is raised instead.
1187 - Reload events have been consolidated and standardized.
1188 - ModuleLoadReport has been removed.
1189 - FaxSent is now SendFAX; FaxReceived is now ReceiveFAX. This standardizes
1190 app_fax and res_fax events.
1191 - MusicOnHold has been replaced with MusicOnHoldStart and MusicOnHoldStop.
1192 - JabberEvent has been removed.
1193 - Hold is now in the core and will now raise Hold and Unhold events.
1194 - Join is now QueueCallerJoin.
1195 - Leave is now QueueCallerLeave.
1196 - Agentlogin/Agentlogoff is now AgentLogin/AgentLogoff, respectively.
1197 - ChannelUpdate has been removed.
1198 - Local channel optimization is now conveyed via LocalOptimizationBegin and
1199 LocalOptimizationEnd.
1200 - BridgeAction and BridgeExec have been removed.
1201 - BlindTransfer and AttendedTransfer events were added.
1202 - Dial is now DialBegin and DialEnd.
1203 - DTMF is now DTMFBegin and DTMFEnd.
1204 - Bridge has been replaced with BridgeCreate, BridgeEnter, BridgeLeave, and
1206 - MusicOnHold has been replaced with MusicOnHoldStart and MusicOnHoldStop
1207 - AGIExec is now AGIExecStart and AGIExecEnd
1208 - AsyncAGI is now AsyncAGIStart, AsyncAGIExec, and AsyncAGIEnd
1210 - The 'MCID' AMI event now publishes a channel snapshot when available and
1211 its non-channel-snapshot parameters now use either the "MCallerID" or
1212 'MConnectedID' prefixes with Subaddr*, Name*, and Num* suffixes instead
1213 of 'CallerID' and 'ConnectedID' to avoid confusion with similarly named
1214 parameters in the channel snapshot.
1216 - The 'Channel' key used in the 'AlarmClear', 'Alarm', and 'DNDState' has been
1217 renamed "DAHDIChannel" since it does not convey an Asterisk channel name.
1219 - All AMI events now contain a 'SystemName' field, if available.
1221 - Local channel information in events is now prefixed with 'LocalOne' and
1222 'LocalTwo'. This replaces the suffix of '1' and '2' for the two halves of
1223 the Local channel. This affects the 'LocalBridge', 'LocalOptimizationBegin',
1224 and 'LocalOptimizationEnd' events.
1226 - The 'RTCPSent'/'RTCPReceived' events have been significantly modified from
1227 previous versions. They now report all SR/RR packets sent/received, and
1228 have been restructured to better reflect the data sent in a SR/RR. In
1229 particular, the event structure now supports multiple report blocks.
1231 - The deprecated use of | (pipe) as a separator in the channelvars setting in
1232 manager.conf has been removed.
1234 - The SIP SIPqualifypeer action now sends a response indicating it will qualify
1235 a peer once a peer has been found to qualify. Once the qualify has been
1236 completed it will now issue a SIPqualifypeerdone event.
1238 - The AMI event 'Newexten' field 'Extension' is deprecated, and may be removed
1239 in a future release. Please use the common 'Exten' field instead.
1241 - The AMI events 'ParkedCall', 'ParkedCallTimeOut', 'ParkedCallGiveUp', and
1242 'UnParkedCall' have changed significantly in the new res_parking module.
1243 - The 'Channel' and 'From' headers are gone. For the channel that was parked
1244 or is coming out of parking, a 'Parkee' channel snapshot is issued and it
1245 has a number of fields associated with it. The old 'Channel' header relayed
1246 the same data as the new 'ParkeeChannel' header.
1247 - The 'From' field was ambiguous and changed meaning depending on the event.
1248 for most of these, it was the name of the channel that parked the call
1249 (the 'Parker'). There is no longer a header that provides this channel name,
1250 however the 'ParkerDialString' will contain a dialstring to redial the
1251 device that parked the call.
1252 - On UnParkedCall events, the 'From' header would instead represent the
1253 channel responsible for retrieving the parkee. It receives a channel
1254 snapshot labeled 'Retriever'. The 'from' field is is replaced with
1256 - Lastly, the 'Exten' field has been replaced with 'ParkingSpace'.
1258 - The AMI event 'Parkinglot' (response to 'Parkinglots' command) in a similar
1259 fashion has changed the field names 'StartExten' and 'StopExten' to
1260 'StartSpace' and 'StopSpace' respectively.
1262 - The AMI 'Status' response event to the AMI Status action replaces the
1263 'BridgedChannel' and 'BridgedUniqueid' headers with the 'BridgeID' header to
1264 indicate what bridge the channel is currently in.
1266 CDR (Call Detail Records)
1267 - Significant changes have been made to the behavior of CDRs. The CDR engine
1268 was effectively rewritten and built on the Stasis message bus. For a full
1269 definition of CDR behavior in Asterisk 12, please read the specification
1270 on the Asterisk wiki (wiki.asterisk.org).
1272 - CDRs will now be created between all participants in a bridge. For each
1273 pair of channels in a bridge, a CDR is created to represent the path of
1274 communication between those two endpoints. This lets an end user choose who
1275 to bill for what during bridge operations with multiple parties.
1277 - The duration, billsec, start, answer, and end times now reflect the times
1278 associated with the current CDR for the channel, as opposed to a cumulative
1279 measurement of all CDRs for that channel.
1282 - The Uniqueid field for a channel is now a stable identifier, and will not
1283 change due to transfers, parking, etc.
1285 - CEL has undergone significant rework in Asterisk 12, and is now built on the
1286 Stasis message bus. Please see the specification for CEL on the Asterisk
1287 wiki at https://wiki.asterisk.org/wiki/x/4ICLAQ for more detailed
1288 information. A summary of the affected events is below:
1289 - BRIDGE_START, BRIDGE_END, BRIDGE_UPDATE, 3WAY_START, 3WAY_END, CONF_ENTER,
1290 CONF_EXIT, CONF_START, and CONF_END events have all been removed. These
1291 events have been replaced by BRIDGE_ENTER/BRIDGE_EXIT.
1292 - BLINDTRANSFER/ATTENDEDTRANSFER events now report the peer as NULL and
1293 additional information in the extra string field.
1297 - Certain dialplan functions have been marked as 'dangerous', and may only be
1298 executed from the dialplan. Execution from extenal sources (AMI's GetVar and
1299 SetVar actions; etc.) may be inhibited by setting live_dangerously in the
1300 [options] section of asterisk.conf to no. SHELL(), channel locking, and
1301 direct file read/write functions are marked as dangerous. DB_DELETE() and
1302 REALTIME_DESTROY() are marked as dangerous for reads, but can now safely
1303 accept writes (which ignore the provided value).
1304 - The default value for live_dangerously was changed from yes (in Asterisk 11
1305 and earlier) to no (in Asterisk 12 and greater).
1308 - All channel and global variable names are evaluated in a case-sensitive
1309 manner. In previous versions of Asterisk, variables created and evaluated in
1310 the dialplan were evaluated case-insensitively, but built-in variables and
1311 variable evaluation done internally within Asterisk was done
1314 - Asterisk has always had code to ignore dash '-' characters that are not
1315 part of a character set in the dialplan extensions. The code now
1316 consistently ignores these characters when matching dialplan extensions.
1318 - BRIDGE_FEATURES channel variable is now casesensitive for feature letter
1319 codes. Uppercase variants apply them to the calling party while lowercase
1320 variants apply them to the called party.
1323 - The features.conf [applicationmap] <FeatureName> ActivatedBy option is
1324 no longer honored. The feature is always activated by the channel that has
1325 DYNAMIC_FEATURES defined on it when it enters the bridge. Use predial to set
1326 different values of DYNAMIC_FEATURES on the channels
1328 - Executing a dynamic feature on the bridge peer in a multi-party bridge will
1329 execute it on all peers of the activating channel.
1331 - There is no longer an explicit 'features reload' CLI command. Features can
1332 still be reloaded using 'module reload features'.
1334 - It is no longer necessary (or possible) to define the ATXFER_NULL_TECH in
1335 features.c for atxferdropcall=no to work properly. This option now just
1339 - Parking has been extracted from the Asterisk core as a loadable module,
1342 - Configuration is found in res_parking.conf. It is no longer supported in
1345 - The arguments for the Park, ParkedCall, and ParkAndAnnounce applications
1346 have been modified significantly. See the application documents for
1349 - Numerous changes to Parking related applications, AMI and CLI commands and
1350 internal inter-workings have been made. Please read the CHANGES file for
1353 Security Events Framework:
1354 - Security Event timestamps now use ISO 8601 formatted date/time instead of
1355 the "seconds-microseconds" format that it was using previously.
1358 - The password option has been disabled, as the AgentLogin application no
1359 longer provides authentication.
1362 - Due to changes in the Asterisk core, this function is no longer needed to
1363 preserve a MixMonitor on a channel during transfer operations and dialplan
1364 execution. It is effectively obsolete.
1367 - The 'amaflags' and 'accountcode' attributes for the CDR function are
1368 deprecated. Use the CHANNEL function instead to access these attributes.
1370 - The 'l' option has been removed. When reading a CDR attribute, the most
1371 recent record is always used. When writing a CDR attribute, all non-finalized
1374 - The 'r' option has been removed, for the same reason as the 'l' option.
1376 - The 's' option has been removed, as LOCKED semantics no longer exist in the
1380 - Mailboxes defined by app_voicemail MUST be referenced by the rest of the
1381 system as mailbox@context. The rest of the system cannot add @default
1382 to mailbox identifiers for app_voicemail that do not specify a context
1383 any longer. It is a mailbox identifier format that should only be
1384 interpreted by app_voicemail.
1387 - ICE/STUN/TURN support in res_rtp_asterisk has been made optional. To enable
1388 them, an Asterisk-specific version of PJSIP needs to be installed.
1389 Tarballs are available from https://github.com/asterisk/pjproject/tags/.
1393 - ConfBridge now has the ability to set the language of announcements to the
1394 conference. The language can be set on a bridge profile in confbridge.conf
1395 or by the dialplan function CONFBRIDGE(bridge,language)=en.
1396 chan_sip - Clarify The "sip show peers" Forcerport Column And Add Comedia
1397 - Under the "Forcerport" column, the "N" used to mean NAT (i.e. Yes). With
1398 the additon of auto_* NAT settings, the meaning changed and there was a
1399 certain combination of letters added to indicate the current setting. The
1400 combination of using "Y", "N", "A" or "a", can be confusing. Therefore, we
1401 now display clearly what the current Forcerport setting is: "Yes", "No",
1402 "Auto (Yes)", "Auto (No)".
1403 - Since we are clarifying the Forcerport column, we have added a column to
1404 display the Comedia setting since this is useful information as well. We
1405 no longer have a simple "NAT" setting like other versions before 11.
1408 * res_agi will now properly indicate if there was an error in streaming an
1409 audio file. The result code will be -1 and the result returned from the
1410 the function will be RESULT_FAILURE instead of the prior behavior of always
1411 returning RESULT_SUCCESS even if there was an error.
1414 * The default settings for chan_sip are now overriden properly by the general
1415 settings in sip.conf. Please look over your settings upon upgrading.
1418 * Added the 'n' option to MeetMe to prevent application of the DENOISE function
1419 to a channel joining a conference. Some channel drivers that vary the number
1420 of audio samples in a voice frame will experience significant quality problems
1421 if a denoiser is attached to the channel; this option gives them the ability
1422 to remove the denoiser without having to unload func_speex.
1424 * The Registry AMI event for SIP registrations will now always include the
1425 Username field. A previous bug fix missed an instance where it was not
1426 included; that has been corrected in this release.
1428 From 11.2.0 to 11.2.1:
1429 * Asterisk would previously not output certain error messages when a remote
1430 console attempted to connect to Asterisk and no instance of Asterisk was
1431 running. This error message is displayed on stderr; as a result, some
1432 initialization scripts that used remote consoles to test for the presence
1433 of a running Asterisk instance started to display erroneous error messages.
1434 The init.d scripts and the safe_asterisk have been updated in the contrib
1435 folder to account for this.
1439 * Now by default, when Asterisk is installed in a path other than /usr, the
1440 Asterisk binary will search for shared libraries in ${libdir} in addition to
1441 searching system libraries. This allows Asterisk to find its shared
1442 libraries without having to specify LD_LIBRARY_PATH. This can be disabled by
1443 passing --disable-rpath to configure.
1448 - All voicemails now have a "msg_id" which uniquely identifies a message. For
1449 users of filesystem and IMAP storage of voicemail, this should be transparent.
1450 For users of ODBC, you will need to add a "msg_id" column to your voice mail
1451 messages table. This should be a string capable of holding at least 32 characters.
1452 All messages created in old Asterisk installations will have a msg_id added to
1453 them when required. This operation should be transparent as well.
1456 - The comebacktoorigin setting must now be set per parking lot. The setting in
1457 the general section will not be applied automatically to each parking lot.
1458 - The BLINDTRANSFER channel variable is deleted from a channel when it is
1459 bridged to prevent subtle bugs in the parking feature. The channel
1460 variable is used by Asterisk internally for the Park application to work
1461 properly. If you were using it for your own purposes, copy it to your
1462 own channel variable before the channel is bridged.
1465 - Users of res_ais in versions of Asterisk prior to Asterisk 11 must change
1466 to use the res_corosync module, instead. OpenAIS is deprecated, but
1467 Corosync is still actively developed and maintained. Corosync came out of
1468 the OpenAIS project.
1471 - MAILBOX_EXISTS has been deprecated. Use VM_INFO with the 'exists' parameter
1473 - Macro has been deprecated in favor of GoSub. For redirecting and connected
1474 line purposes use the following variables instead of their macro equivalents:
1475 REDIRECTING_SEND_SUB, REDIRECTING_SEND_SUB_ARGS,
1476 CONNECTED_LINE_SEND_SUB, CONNECTED_LINE_SEND_SUB_ARGS.
1477 - The REDIRECTING function now supports the redirecting original party id
1479 - The HANGUPCAUSE and HANGUPCAUSE_KEYS functions have been introduced to
1480 provide a replacement for the SIP_CAUSE hash. The HangupCauseClear
1481 application has also been introduced to remove this data from the channel
1486 - ENUM query functions now return a count of -1 on lookup error to
1487 differentiate between a failed query and a successful query with 0 results
1488 matching the specified type.
1491 - cdr_adaptive_odbc now supports specifying a schema so that Asterisk can
1492 connect to databases that use schemas.
1494 Configuration Files:
1495 - Files listed below have been updated to be more consistent with how Asterisk
1496 parses configuration files. This makes configuration files more consistent
1497 with what is expected across modules.
1499 - cdr.conf: [general] and [csv] sections
1503 - The 'verbose' setting in logger.conf now takes an optional argument,
1504 specifying the verbosity level for each logging destination. The default,
1505 if not otherwise specified, is a verbosity of 3.
1508 - DBDelTree now correctly returns an error when 0 rows are deleted just as
1509 the DBDel action does.
1510 - The IAX2 PeerStatus event now sends a 'Port' header. In Asterisk 10, this was
1511 erroneously being sent as a 'Post' header.
1514 - Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
1515 in channel configurations.
1518 - The 'c' option (announce user count) will now work even if the 'q' (quiet)
1522 - Answered outgoing calls no longer get cut off when the next step is started.
1523 You now have until the last step times out to decide if you want to accept
1524 the call or not before being disconnected.
1527 - chan_gtalk has been deprecated in favor of the chan_motif channel driver. It is recommended
1528 that users switch to using it as it is a core supported module.
1531 - chan_jingle has been deprecated in favor of the chan_motif channel driver. It is recommended
1532 that users switch to using it as it is a core supported module.
1536 - A new option "tonezone" for setting default tonezone for the channel driver
1537 or individual devices
1538 - A new manager event, "SessionTimeout" has been added and is triggered when
1539 a call is terminated due to RTP stream inactivity or SIP session timer
1541 - SIP_CAUSE is now deprecated. It has been modified to use the same
1542 mechanism as the HANGUPCAUSE function. Behavior should not change, but
1543 performance should be vastly improved. The HANGUPCAUSE function should now
1544 be used instead of SIP_CAUSE. Because of this, the storesipcause option in
1545 sip.conf is also deprecated.
1546 - The sip paramater for Originating Line Information (oli, isup-oli, and
1547 ss7-oli) is now parsed out of the From header and copied into the channel's
1548 ANI2 information field. This is readable from the CALLERID(ani2) dialplan
1550 - ICE support has been added and is enabled by default. Some endpoints may have
1551 problems with the ICE candidates within the SDP. If this is the case ICE support
1552 can be disabled globally or on a per-endpoint basis using the icesupport
1553 configuration option. Symptoms of this include one way media or no media flow.
1556 - Due to massive update in chan_unistim phone keys functions and on-screen
1557 information changed.
1560 - A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
1561 as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
1562 documented in v1.4. Set the asterisk.conf stdexten=macro parameter to
1563 invoke the stdexten the old way.
1566 - This module has been deprecated in favor of the res_xmpp module. The res_xmpp
1567 module is backwards compatible with the res_jabber configuration file, dialplan
1568 functions, and AMI actions. The old CLI commands can also be made available using
1569 the res_clialiases template for Asterisk 11.
1574 - This module now expects an 'extra' column in the database for data added
1575 using the CELGenUserEvent() application.
1578 - ConfBridge's dialplan arguments have changed and are not
1579 backwards compatible.
1582 - The format interpreter formats/format_sln16.c for the file extension
1583 '.sln16' has been removed. The '.sln16' file interpreter now exists
1584 in the formats/format_sln.c module along with new support for sln12,
1585 sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
1588 - A bindaddr must be specified in order for the HTTP server
1589 to run. Previous versions would default to 0.0.0.0 if no
1590 bindaddr was specified.
1593 - The default value for 'context' and 'parkinglots' in gtalk.conf has
1594 been changed to 'default', previously they were empty.
1597 - The mohinterpret=passthrough setting is deprecated in favor of
1598 moh_signaling=notify.
1601 - Execution no longer continues after applications that do dialplan jumps
1602 (such as app.goto). Now when an application such as app.goto() is called,
1603 control is returned back to the pbx engine and the current extension
1604 function stops executing.
1605 - the autoservice now defaults to being on by default
1606 - autoservice_start() and autoservice_start() no longer return a value.
1609 - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
1610 - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
1613 - The internal Asterisk database has been switched from Berkeley DB 1.86 to
1614 SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
1615 utility in the UTILS section of menuselect. If an existing astdb is found and no
1616 astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
1617 convert an existing astdb to the SQLite3 version automatically at runtime. If
1618 moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
1619 to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.
1622 - The AMI protocol version was incremented to 1.2 as a result of changing two
1623 instances of the Unlink event to Bridge events. This change was documented
1624 as part of the AMI 1.1 update, but two Unlink events were inadvertently left
1627 Module Support Level
1628 - All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
1629 formats, funcs, pbx, and res have been updated to include MODULEINFO data
1630 that includes <support_level> tags with a value of core, extended, or deprecated.
1631 More information is available on the Asterisk wiki at
1632 https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
1634 Deprecated modules are now marked to not build by default and must be explicitly
1635 enabled in menuselect.
1638 - Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
1639 by default. It can be enabled using the 'storesipcause' option. This feature
1640 has a significant performance penalty.
1643 - The default UDPTL port range in udptl.conf.sample differed from the defaults
1644 in the source. If you didn't have a config file, you got 4500 to 4599. Now the
1645 default is 4000 to 4999.
1649 * The complex processor detection and optimization has been removed from
1650 the makefile in favor of using native optimization support when available.
1651 BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".
1655 * If no transport is specified in sip.conf, transport will default to UDP.
1656 Also, if multiple transport= lines are used, only the last will be used.
1661 - This module now expects an 'extra' column in the database for data added
1662 using the CELGenUserEvent() application.
1665 - ConfBridge's dialplan arguments have changed and are not
1666 backwards compatible.
1669 - The format interpreter formats/format_sln16.c for the file extension
1670 '.sln16' has been removed. The '.sln16' file interpreter now exists
1671 in the formats/format_sln.c module along with new support for sln12,
1672 sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
1675 - A bindaddr must be specified in order for the HTTP server
1676 to run. Previous versions would default to 0.0.0.0 if no
1677 bindaddr was specified.
1680 - The default value for 'context' and 'parkinglots' in gtalk.conf has
1681 been changed to 'default', previously they were empty.
1684 - The mohinterpret=passthrough setting is deprecated in favor of
1685 moh_signaling=notify.
1688 - Execution no longer continues after applications that do dialplan jumps
1689 (such as app.goto). Now when an application such as app.goto() is called,
1690 control is returned back to the pbx engine and the current extension
1691 function stops executing.
1692 - the autoservice now defaults to being on by default
1693 - autoservice_start() and autoservice_start() no longer return a value.
1696 - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
1697 - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
1700 - The internal Asterisk database has been switched from Berkeley DB 1.86 to
1701 SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
1702 utility in the UTILS section of menuselect. If an existing astdb is found and no
1703 astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
1704 convert an existing astdb to the SQLite3 version automatically at runtime.
1706 Module Support Level
1707 - All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
1708 formats, funcs, pbx, and res have been updated to include MODULEINFO data
1709 that includes <support_level> tags with a value of core, extended, or deprecated.
1710 More information is available on the Asterisk wiki at
1711 https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
1713 Deprecated modules are now marked to not build by default and must be explicitly
1714 enabled in menuselect.
1716 From 1.8.13 to 1.8.14:
1717 * permitdirectmedia/denydirectmedia now controls whether peers can be
1718 bridged via directmedia by comparing the ACL to the bridging peer's
1719 address rather than its own address.
1721 From 1.8.12 to 1.8.13:
1722 * The complex processor detection and optimization has been removed from
1723 the makefile in favor of using native optimization support when available.
1724 BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".
1726 From 1.8.10 to 1.8.11:
1728 * If no transport is specified in sip.conf, transport will default to UDP.
1729 Also, if multiple transport= lines are used, only the last will be used.
1733 * chan_sip no longer sets HASH(SIP_CAUSE,<chan name>) on channels by default.
1734 This must now be enabled by setting 'sipstorecause' to 'yes' in sip.conf.
1735 This carries a performance penalty.
1737 * Asterisk now requires libpri 1.4.11+ for PRI support.
1739 * A couple of CLI commands in res_ais were changed back to their original form:
1740 "ais show clm members" --> "ais clm show members"
1741 "ais show evt event channels" --> "ais evt show event channels"
1743 * The default value for 'autofill' and 'shared_lastcall' in queues.conf has
1744 been changed to 'yes'.
1746 * The default value for the alwaysauthreject option in sip.conf has been changed
1749 * The behavior of the 'parkedcallstimeout' has changed slightly. The formulation
1750 of the extension name that a timed out parked call is delivered to when this
1751 option is set to 'no' was modified such that instead of converting '/' to '0',
1752 the '/' is converted to an underscore '_'. See the updated documentation in
1753 features.conf.sample for more information on the behavior of the
1754 'parkedcallstimeout' option.
1756 * Asterisk-addons no longer exists as an independent package. Those modules
1757 now live in the addons directory of the main Asterisk source tree. They
1758 are not enabled by default. For more information about why modules live in
1759 addons, see README-addons.txt.
1761 * The rarely used 'event_log' and LOG_EVENT channel have been removed; the few
1762 users of this channel in the tree have been converted to LOG_NOTICE or removed
1763 (in cases where the same message was already generated to another channel).
1765 * The usage of RTP inside of Asterisk has now become modularized. This means
1766 the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk.
1767 If you are not using autoload=yes in modules.conf you will need to ensure
1768 it is set to load. If not, then any module which uses RTP (such as chan_sip)
1769 will not be able to send or receive calls.
1771 * The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still
1772 remains. It now exists within app_chanspy.c and retains the exact same
1773 functionality as before.
1775 * The default behavior for Set, AGI, and pbx_realtime has been changed to implement
1776 1.6 behavior by default, if there is no [compat] section in asterisk.conf. In
1777 prior versions, the behavior defaulted to 1.4 behavior, to assist in upgrades.
1778 Specifically, that means that pbx_realtime and res_agi expect you to use commas
1779 to separate arguments in applications, and Set only takes a single pair of
1780 a variable name/value. The old 1.4 behavior may still be obtained by setting
1781 app_set, pbx_realtime, and res_agi each to 1.4 in the [compat] section of
1784 * The PRI channels in chan_dahdi can no longer change the channel name if a
1785 different B channel is selected during call negotiation. To prevent using
1786 the channel name to infer what B channel a call is using and to avoid name
1787 collisions, the channel name format is changed.
1788 The new channel naming for PRI channels is:
1789 DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>
1791 * Added CHANNEL(dahdi_span), CHANNEL(dahdi_channel), and CHANNEL(dahdi_type)
1792 so the dialplan can determine the B channel currently in use by the channel.
1793 Use CHANNEL(no_media_path) to determine if the channel even has a B channel.
1795 * Added AMI event DAHDIChannel to associate a DAHDI channel with an Asterisk
1796 channel so AMI applications can passively determine the B channel currently
1797 in use. Calls with "no-media" as the DAHDIChannel do not have an associated
1798 B channel. No-media calls are either on hold or call-waiting.
1800 * The ChanIsAvail application has been changed so the AVAILSTATUS variable
1801 no longer contains both the device state and cause code. The cause code
1802 is now available in the AVAILCAUSECODE variable. If existing dialplan logic
1803 is written to expect AVAILSTATUS to contain the cause code it needs to be
1804 changed to use AVAILCAUSECODE.
1806 * ExternalIVR will now send Z events for invalid or missing files, T events
1807 now include the interrupted file and bugs in argument parsing have been
1808 fixed so there may be arguments specified in incorrect ways that were
1809 working that will no longer work. Please see
1810 https://wiki.asterisk.org/wiki/display/AST/External+IVR+Interface for details.
1812 * OSP lookup application changes following variable names:
1813 OSPPEERIP to OSPINPEERIP
1814 OSPTECH to OSPOUTTECH
1815 OSPDEST to OSPDESTINATION
1816 OSPCALLING to OSPOUTCALLING
1817 OSPCALLED to OSPOUTCALLED
1818 OSPRESULTS to OSPDESTREMAILS
1820 * The Manager event 'iax2 show peers' output has been updated. It now has a
1821 similar output of 'sip show peers'.
1823 * VoiceMailMain and VMAuthenticate, if a '*' is entered in the first position
1824 of a Mailbox or Password, will, if it exists, jump to the 'a' extension in
1825 the current dialplan context.
1827 * The CALLERPRES() dialplan function is deprecated in favor of
1828 CALLERID(num-pres) and CALLERID(name-pres).
1830 * Environment variables that start with "AST_" are reserved to the system and
1831 may no longer be set from the dialplan.
1833 * When a call is redirected inside of a Dial, the app and appdata fields of the
1834 CDR will now be set to "AppDial" and "(Outgoing Line)" instead of being blank.
1836 * The CDR handling of billsec and duration field has changed. If your table
1837 definition specifies those fields as float,double or similar they will now
1838 be logged with microsecond accuracy instead of a whole integer.
1840 * chan_sip will no longer set up a local call forward when receiving a
1841 482 Loop Detected response. The dialplan will just continue from where it
1844 * The 'stunaddr' option has been removed from chan_sip. This feature did not
1845 behave as expected, had no correct use case, and was not RFC compliant. The
1846 removal of this feature will hopefully be followed by a correct RFC compliant
1847 STUN implementation in chan_sip in the future.
1849 * The default value for the pedantic option in sip.conf has been changed
1852 * The ConnectedLineNum and ConnectedLineName headers were added to many AMI
1853 events/responses if the CallerIDNum/CallerIDName headers were also present.
1854 The addition of connected line support changes the behavior of the channel
1855 caller ID somewhat. The channel caller ID value no longer time shares with
1856 the connected line ID on outgoing call legs. The timing of some AMI
1857 events/responses output the connected line ID as caller ID. These party ID's
1860 * The Dial application d and H options do not automatically answer the call
1861 anymore. It broke DTMF attended transfers. Since many SIP and ISDN phones
1862 cannot send DTMF before a call is connected, you need to answer the call
1863 leg to those phones before using Dial with these options for them to have
1864 any effect before the dialed party answers.
1866 * The outgoing directory (where .call files are read) now uses inotify to
1867 detect file changes instead of polling the directory on a regular basis.
1868 If your outgoing folder is on a NFS mount or another network file system,
1869 changes to the files will not be detected. You can revert to polling the
1870 directory by specifying --without-inotify to configure before compiling.
1872 * The 'sipusers' realtime table has been removed completely. Use the 'sippeers'
1873 table with type 'user' for user type objects.
1875 * The sip.conf allowoverlap option now accepts 'dtmf' as a value. If you
1876 are using the early media DTMF overlap dialing method you now need to set
1879 From 1.6.1 to 1.6.2:
1881 * SIP no longer sends the 183 progress message for early media by
1882 default. Applications requiring early media should use the
1883 progress() dialplan app to generate the progress message.
1885 * The firmware for the IAXy has been removed from Asterisk. It can be
1886 downloaded from http://downloads.digium.com/pub/iaxy/. To have Asterisk
1887 install the firmware into its proper location, place the firmware in the
1888 contrib/firmware/iax/ directory in the Asterisk source tree before running
1891 * T.38 FAX error correction mode can no longer be configured in udptl.conf;
1892 instead, it is configured on a per-peer (or global) basis in sip.conf, with
1893 the same default as was present in udptl.conf.sample.
1895 * T.38 FAX maximum datagram size can no longer be configured in updtl.conf;
1896 instead, it is either supplied by the application servicing the T.38 channel
1897 (for a FAX send or receive) or calculated from the bridged endpoint's
1898 maximum datagram size (for a T.38 FAX passthrough call). In addition, sip.conf
1899 allows for overriding the value supplied by a remote endpoint, which is useful
1900 when T.38 connections are made to gateways that supply incorrectly-calculated
1901 maximum datagram sizes.
1903 * There have been some changes to the IAX2 protocol to address the security
1904 concerns documented in the security advisory AST-2009-006. Please see the
1905 IAX2 security document, doc/IAX2-security.pdf, for information regarding
1906 backwards compatibility with versions of Asterisk that do not contain these
1909 * The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers
1910 has been renamed to 'directmedia', to better reflect what it actually does.
1911 In the case of SIP, there are still re-INVITEs issued for T.38 negotiation,
1912 starting and stopping music-on-hold, and other reasons, and the 'canreinvite'
1913 option never had any effect on these cases, it only affected the re-INVITEs
1914 used for direct media path setup. For MGCP and Skinny, the option was poorly
1915 named because those protocols don't even use INVITE messages at all. For
1916 backwards compatibility, the old option is still supported in both normal
1917 and Realtime configuration files, but all of the sample configuration files,
1918 Realtime/LDAP schemas, and other documentation refer to it using the new name.
1920 * The default console now will use colors according to the default background
1921 color, instead of forcing the background color to black. If you are using a
1922 light colored background for your console, you may wish to use the option
1923 flag '-W' to present better color choices for the various messages. However,
1924 if you'd prefer the old method of forcing colors to white text on a black
1925 background, the compatibility option -B is provided for this purpose.
1927 * SendImage() no longer hangs up the channel on transmission error or on
1928 any other error; in those cases, a FAILURE status is stored in
1929 SENDIMAGESTATUS and dialplan execution continues. The possible
1930 return values stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and
1931 UNSUPPORTED. ('OK' has been replaced with 'SUCCESS', and 'NOSUPPORT'
1932 has been replaced with 'UNSUPPORTED'). This change makes the
1933 SendImage application more consistent with other applications.
1935 * skinny.conf now has separate sections for lines and devices.
1936 Please have a look at configs/skinny.conf.sample and update
1939 * Queue names previously were treated in a case-sensitive manner,
1940 meaning that queues with names like "sales" and "sALeS" would be
1941 seen as unique queues. The parsing logic has changed to use
1942 case-insensitive comparisons now when originally hashing based on
1943 queue names, meaning that now the two queues mentioned as examples
1944 earlier will be seen as having the same name.
1946 * The SPRINTF() dialplan function has been moved into its own module,
1947 func_sprintf, and is no longer included in func_strings. If you use this
1948 function and do not use 'autoload=yes' in modules.conf, you will need
1949 to explicitly load func_sprintf for it to be available.
1951 * The res_indications module has been removed. Its functionality was important
1952 enough that most of it has been moved into the Asterisk core.
1953 Two applications previously provided by res_indications, PlayTones and
1954 StopPlayTones, have been moved into a new module, app_playtones.
1956 * Support for Taiwanese was incorrectly supported with the "tw" language code.
1957 In reality, the "tw" language code is reserved for the Twi language, native
1958 to Ghana. If you were previously using the "tw" language code, you should
1959 switch to using either "zh" (for Mandarin Chinese) or "zh_TW" for Taiwan
1960 specific localizations. Additionally, "mx" should be changed to "es_MX",
1961 Georgian was incorrectly specified as "ge" but should be "ka", and Czech is
1964 * DAHDISendCallreroutingFacility() parameters are now comma-separated,
1965 instead of the old pipe.
1967 * res_jabber: autoprune has been disabled by default, to avoid misconfiguration
1968 that would end up being interpreted as a bug once Asterisk started removing
1969 the contacts from a user list.
1971 * The cdr.conf file must exist and be configured correctly in order for CDR
1972 records to be written.
1974 * cdr_pgsql now assumes the encoding of strings it is handed are in LATIN9,
1975 which should cover most uses of the extended ASCII set. If your strings
1976 use a different encoding in Asterisk, the "encoding" parameter may be set
1977 to specify the correct character set.
1979 From 1.6.0.1 to 1.6.1:
1981 * The ast_agi_register_multiple() and ast_agi_unregister_multiple()
1982 API calls were added in 1.6.0, so that modules that provide multiple
1983 AGI commands could register/unregister them all with a single
1984 step. However, these API calls were not implemented properly, and did
1985 not allow the caller to know whether registration or unregistration
1986 succeeded or failed. They have been redefined to now return success
1987 or failure, but this means any code using these functions will need
1988 be recompiled after upgrading to a version of Asterisk containing
1989 these changes. In addition, the source code using these functions
1990 should be reviewed to ensure it can properly react to failure
1991 of registration or unregistration of its API commands.
1993 * The ast_agi_fdprintf() API call has been renamed to ast_agi_send()
1994 to better match what it really does, and the argument order has been
1995 changed to be consistent with other API calls that perform similar
1998 From 1.6.0.x to 1.6.1:
2000 * In previous versions of Asterisk, due to the way objects were arranged in
2001 memory by chan_sip, the order of entries in sip.conf could be adjusted to
2002 control the behavior of matching against peers and users. The way objects
2003 are managed has been significantly changed for reasons involving performance
2004 and stability. A side effect of these changes is that the order of entries
2005 in sip.conf can no longer be relied upon to control behavior.
2007 * The following core commands dealing with dialplan have been deprecated: 'core
2008 show globals', 'core set global' and 'core set chanvar'. Use the equivalent
2009 'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar'
2012 * In the dialplan expression parser, the logical value of spaces
2013 immediately preceding a standalone 0 previously evaluated to
2014 true. It now evaluates to false. This has confused a good many
2015 people in the past (typically because they failed to realize the
2016 space had any significance). Since this violates the Principle of
2017 Least Surprise, it has been changed.
2019 * While app_directory has always relied on having a voicemail.conf or users.conf file
2020 correctly set up, it now is dependent on app_voicemail being compiled as well.
2022 * SIP: All of the functionality in SIPCHANINFO() has been implemented in CHANNEL(),
2023 and you should start using that function instead for retrieving information about
2024 the channel in a technology-agnostic way.
2026 * If you have any third party modules which use a config file variable whose
2027 name ends in a '+', please note that the append capability added to this
2028 version may now conflict with that variable naming scheme. An easy
2029 workaround is to ensure that a space occurs between the '+' and the '=',
2030 to differentiate your variable from the append operator. This potential
2031 conflict is unlikely, but is documented here to be thorough.
2033 * The "Join" event from app_queue now uses the CallerIDNum header instead of
2034 the CallerID header to indicate the CallerID number.
2036 * If you use ODBC storage for voicemail, there is a new field called "flag"
2037 which should be a char(8) or larger. This field specifies whether or not a
2038 message has been designated to be "Urgent", "PRIORITY", or not.
2044 * Macros are now implemented underneath with the Gosub() application.
2045 Heaven Help You if you wrote code depending on any aspect of this!
2046 Previous to 1.6, macros were implemented with the Macro() app, which
2047 provided a nice feature of auto-returning. The compiler will do its
2048 best to insert a Return() app call at the end of your macro if you did
2049 not include it, but really, you should make sure that all execution
2050 paths within your macros end in "return;".
2052 * The conf2ael program is 'introduced' in this release; it is in a rather
2053 crude state, but deemed useful for making a first pass at converting
2054 extensions.conf code into AEL. More intelligence will come with time.
2058 * The 'languageprefix' option in asterisk.conf is now deprecated, and
2059 the default sound file layout for non-English sounds is the 'new
2060 style' layout introduced in Asterisk 1.4 (and used by the automatic
2061 sound file installer in the Makefile).
2063 * The ast_expr2 stuff has been modified to handle floating-point numbers.
2064 Numbers of the format D.D are now acceptable input for the expr parser,
2065 Where D is a string of base-10 digits. All math is now done in "long double",
2066 if it is available on your compiler/architecture. This was half-way between
2067 a bug-fix (because the MATH func returns fp by default), and an enhancement.
2068 Also, for those counting on, or needing, integer operations, a series of
2069 'functions' were also added to the expr language, to allow several styles
2070 of rounding/truncation, along with a set of common floating point operations,
2071 like sin, cos, tan, log, pow, etc. The ability to call external functions
2072 like CDR(), etc. was also added, without having to use the ${...} notation.
2074 * The delimiter passed to applications has been changed to the comma (','), as
2075 that is what people are used to using within extensions.conf. If you are
2076 using realtime extensions, you will need to translate your existing dialplan
2077 to use this separator. To use a literal comma, you need merely to escape it
2078 with a backslash ('\'). Another possible side effect is that you may need to
2079 remove the obscene level of backslashing that was necessary for the dialplan
2080 to work correctly in 1.4 and previous versions. This should make writing
2081 dialplans less painful in the future, albeit with the pain of a one-time
2082 conversion. If you would like to avoid this conversion immediately, set
2083 pbx_realtime=1.4 in the [compat] section of asterisk.conf. After
2084 transitioning, set pbx_realtime=1.6 in the same section.
2086 * For the same purpose as above, you may set res_agi=1.4 in the [compat]
2087 section of asterisk.conf to continue to use the '|' delimiter in the EXEC
2088 arguments of AGI applications. After converting to use the ',' delimiter,
2089 change this option to res_agi=1.6.
2091 * As a side effect of the application delimiter change, many places that used
2092 to need quotes in order to get the proper meaning are no longer required.
2093 You now only need to quote strings in configuration files if you literally
2094 want quotation marks within a string.
2096 * Any applications run that contain the pipe symbol but not a comma symbol will
2097 get a warning printed to the effect that the application delimiter has changed.
2098 However, there are legitimate reasons why this might be useful in certain
2099 situations, so this warning can be turned off with the dontwarn option in
2102 * The logger.conf option 'rotatetimestamp' has been deprecated in favor of
2103 'rotatestrategy'. This new option supports a 'rotate' strategy that more
2104 closely mimics the system logger in terms of file rotation.
2106 * The concise versions of various CLI commands are now deprecated. We recommend
2107 using the manager interface (AMI) for application integration with Asterisk.
2111 * The voicemail configuration values 'maxmessage' and 'minmessage' have
2112 been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
2113 to make them more distinguishable from 'maxmsgs', which sets folder
2114 size. The old variables will continue to work in this version, albeit
2115 with a deprecation warning.
2117 * If you use any interface for modifying voicemail aside from the built in
2118 dialplan applications, then the option "pollmailboxes" *must* be set in
2119 voicemail.conf for message waiting indication (MWI) to work properly. This
2120 is because Voicemail notification is now event based instead of polling
2121 based. The channel drivers are no longer responsible for constantly manually
2122 checking mailboxes for changes so that they can send MWI information to users.
2123 Examples of situations that would require this option are web interfaces to
2124 voicemail or an email client in the case of using IMAP storage.
2129 * ChanIsAvail() now has a 't' option, which allows the specified device
2130 to be queried for state without consulting the channel drivers. This
2131 performs mostly a 'ChanExists' sort of function.
2133 * ChannelRedirect() will not terminate the channel that fails to do a
2134 channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS
2135 will reflect if the attempt was successful of not.
2137 * SetCallerPres() has been replaced with the CALLERPRES() dialplan function
2138 and is now deprecated.
2140 * DISA()'s fifth argument is now an options argument. If you have previously
2141 used 'NOANSWER' in this argument, you'll need to convert that to the new
2144 * Macro() is now deprecated. If you need subroutines, you should use the
2145 Gosub()/Return() applications. To replace MacroExclusive(), we have
2146 introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK(). You may use
2147 these functions in any location where you desire to ensure that only one
2148 channel is executing that path at any one time. The Macro() applications
2149 are deprecated for performance reasons. However, since Macro() has been
2150 around for a long time and so many dialplans depend heavily on it, for the
2151 sake of backwards compatibility it will not be removed . It is also worth
2152 noting that using both Macro() and GoSub() at the same time is _heavily_
2155 * Read() now sets a READSTATUS variable on exit. It does NOT automatically
2156 return -1 (and hangup) anymore on error. If you want to hangup on error,
2157 you need to do so explicitly in your dialplan.
2159 * Privacy() no longer uses privacy.conf, so any options must be specified
2160 directly in the application arguments.
2162 * MusicOnHold application now has duration parameter which allows specifying
2165 * WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold.
2167 * SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
2170 * The arguments in ExecIf changed a bit, to be more like other applications.
2171 The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
2173 * The behavior of the Set application now depends upon a compatibility option,
2174 set in asterisk.conf. To use the old 1.4 behavior, which allowed Set to take
2175 multiple key/value pairs, set app_set=1.4 in [compat] in asterisk.conf. To
2176 use the new behavior, which permits variables to be set with embedded commas,
2177 set app_set=1.6 in [compat] in asterisk.conf. Note that you can have both
2178 behaviors at the same time, if you switch to using MSet if you want the old
2183 * QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For
2184 more information, issue a "show function QUEUE_MEMBER" from the CLI.
2188 * The cdr_sqlite module has been marked as deprecated in favor of
2189 cdr_sqlite3_custom. It will potentially be removed from the tree
2190 after Asterisk 1.6 is released.
2192 * The cdr_odbc module now uses res_odbc to manage its connections. The
2193 username and password parameters in cdr_odbc.conf, therefore, are no
2194 longer used. The dsn parameter now points to an entry in res_odbc.conf.
2196 * The uniqueid field in the core Asterisk structure has been changed from a
2197 maximum 31 character field to a 149 character field, to account for all
2198 possible values the systemname prefix could be. In the past, if the
2199 systemname was too long, the uniqueid would have been truncated.
2201 * The cdr_tds module now supports all versions of FreeTDS that contain
2202 the db-lib frontend. It will also now log the userfield variable if
2203 the target database table contains a column for it.
2207 * format_wav: The GAIN preprocessor definition and source code that used it
2208 is removed. This change was made in response to user complaints of
2209 choppiness or the clipping of loud signal peaks. To increase the volume
2210 of voicemail messages, use the 'volgain' option in voicemail.conf
2214 * SIP: a small upgrade to support the "Record" button on the SNOM360,
2215 which sends a sip INFO message with a "Record: on" or "Record: off"
2216 header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor"
2217 requests (by default, via '*1'), then the user-configured dialpad sequence
2218 is generated, and recording can be started and stopped via this button. The
2219 file names and formats are all controlled via the normal mechanisms. If the
2220 user has not configured the automon feature, the normal "415 Unsupported media type"
2221 is returned, and nothing is done.
2223 * SIP: The "call-limit" option is marked as deprecated. It still works in this version of
2224 Asterisk, but will be removed in the following version. Please use the groupcount functions
2225 in the dialplan to enforce call limits. The "limitonpeer" configuration option is
2226 now renamed to "counteronpeer".
2228 * SIP: The "username" option is now renamed to "defaultuser" to match "defaultip".
2229 These are used only before registration to call a peer with the uri
2230 sip:defaultuser@defaultip
2231 The "username" setting still work, but is deprecated and will not work in
2232 the next version of Asterisk.
2234 * SIP: The old "insecure" options, deprecated in 1.4, have been removed.
2235 "insecure=very" should be changed to "insecure=port,invite"
2236 "insecure=yes" should be changed to "insecure=port"
2237 Be aware that some telephony providers show the invalid syntax in their
2238 sample configurations.
2240 * chan_local.c: the comma delimiter inside the channel name has been changed to a
2241 semicolon, in order to make the Local channel driver compatible with the comma
2242 delimiter change in applications.
2244 * H323: The "tos" setting has changed name to "tos_audio" and "cos" to "cos_audio"
2245 to be compatible with settings in sip.conf. The "tos" and "cos" configuration
2246 is deprecated and will stop working in the next release of Asterisk.
2248 * Console: A new console channel driver, chan_console, has been added to Asterisk.
2249 This new module can not be loaded at the same time as chan_alsa or chan_oss. The
2250 default modules.conf only loads one of them (chan_oss by default). So, unless you
2251 have modified your modules.conf to not use the autoload option, then you will need
2252 to modify modules.conf to add another "noload" line to ensure that only one of
2253 these three modules gets loaded.
2255 * DAHDI: The chan_zap module that supported PSTN interfaces using
2256 Zaptel has been renamed to chan_dahdi, and only supports the DAHDI
2257 telephony driver package for PSTN interfaces. See the
2258 Zaptel-to-DAHDI.txt file for more details on this transition.
2260 * DAHDI: The "msdstrip" option has been deprecated, as it provides no value over
2261 the method of stripping digits in the dialplan using variable substring syntax.
2265 * pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay,
2266 lowcost and other is not acceptable now. Look into qos.tex for description of
2269 * queues.conf: the queue-lessthan sound file option is no longer available, and the
2270 queue-round-seconds option no longer takes '1' as a valid parameter.
2274 * Manager has been upgraded to version 1.1 with a lot of changes.
2275 Please check doc/manager_1_1.txt for information
2277 * The IAXpeers command output has been changed to more closely resemble the
2278 output of the SIPpeers command.
2280 * cdr_manager now reports at the "cdr" level, not at "call" You may need to
2281 change your manager.conf to add the level to existing AMI users, if they
2282 want to see the CDR events generated.
2284 * The Originate command now requires the Originate write permission. For
2285 Originate with the Application parameter, you need the additional System
2286 privilege if you want to do anything that calls out to a subshell.
2290 * Previously, the Asterisk source code distribution included the iLBC
2291 encoder/decoder source code, from Global IP Solutions
2292 (http://www.gipscorp.com). This code is not licensed for
2293 distribution, and thus has been removed from the Asterisk source
2294 code distribution. If you wish to use codec_ilbc to support iLBC
2295 channels in Asterisk, you can run the contrib/scripts/get_ilbc_source.sh
2296 script to download the source and put it in the proper place in
2297 the Asterisk build tree. Once that is done you can follow your normal
2298 steps of building Asterisk. You will need to run 'menuselect' and enable
2299 the iLBC codec in the 'Codec Translators' category.
2303 Build Process (configure script):
2305 Asterisk now uses an autoconf-generated configuration script to learn how it
2306 should build itself for your system. As it is a standard script, running:
2308 $ ./configure --help
2310 will show you all the options available. This script can be used to tell the
2311 build process what libraries you have on your system (if it cannot find them
2312 automatically), which libraries you wish to have ignored even though they may
2315 You must run the configure script before Asterisk will build, although it will
2316 attempt to automatically run it for you with no options specified; for most
2317 users, that will result in a similar build to what they would have had before
2318 the configure script was added to the build process (except for having to run
2319 'make' again after the configure script is run). Note that the configure script
2320 does NOT need to be re-run just to rebuild Asterisk; you only need to re-run it
2321 when your system configuration changes or you wish to build Asterisk with
2324 Build Process (module selection):
2326 The Asterisk source tree now includes a basic module selection and build option
2327 selection tool called 'menuselect'. Run 'make menuselect' to make your choices.
2328 In this tool, you can disable building of modules that you don't care about,
2329 turn on/off global options for the build and see which modules will not
2330 (and cannot) be built because your system does not have the required external
2331 dependencies installed.
2333 The resulting file from menuselect is called 'menuselect.makeopts'. Note that
2334 the resulting menuselect.makeopts file generally contains which modules *not*
2335 to build. The modules listed in this file indicate which modules have unmet
2336 dependencies, a present conflict, or have been disabled by the user in the
2337 menuselect interface. Compiler Flags can also be set in the menuselect
2338 interface. In this case, the resulting file contains which CFLAGS are in use,
2339 not which ones are not in use.
2341 If you would like to save your choices and have them applied against all
2342 builds, the file can be copied to '~/.asterisk.makeopts' or
2343 '/etc/asterisk.makeopts'.
2345 Build Process (Makefile targets):
2347 The 'valgrind' and 'dont-optimize' targets have been removed; their functionality
2348 is available by enabling the DONT_OPTIMIZE setting in the 'Compiler Flags' menu
2349 in the menuselect tool.
2351 It is now possible to run most make targets against a single subdirectory; from
2352 the top level directory, for example, 'make channels' will run 'make all' in the
2353 'channels' subdirectory. This also is true for 'clean', 'distclean' and 'depend'.
2355 Sound (prompt) and Music On Hold files:
2357 Beginning with Asterisk 1.4, the sound files and music on hold files supplied for
2358 use with Asterisk have been replaced with new versions produced from high quality
2359 master recordings, and are available in three languages (English, French and
2360 Spanish) and in five formats (WAV (uncompressed), mu-Law, a-Law, GSM and G.729).
2361 In addition, the music on hold files provided by opsound.org Music are now available
2362 in the same five formats, but no longer available in MP3 format.
2364 The Asterisk 1.4 tarball packages will only include English prompts in GSM format,
2365 (as were supplied with previous releases) and the opsound.org MOH files in WAV format.
2366 All of the other variations can be installed by running 'make menuselect' and
2367 selecting the packages you wish to install; when you run 'make install', those
2368 packages will be downloaded and installed along with the standard files included
2371 If for some reason you expect to not have Internet access at the time you will be
2372 running 'make install', you can make your package selections using menuselect and
2373 then run 'make sounds' to download (only) the sound packages; this will leave the
2374 sound packages in the 'sounds' subdirectory to be used later during installation.
2376 WARNING: Asterisk 1.4 supports a new layout for sound files in multiple languages;
2377 instead of the alternate-language files being stored in subdirectories underneath
2378 the existing files (for French, that would be digits/fr, letters/fr, phonetic/fr,
2379 etc.) the new layout creates one directory under /var/lib/asterisk/sounds for the
2380 language itself, then places all the sound files for that language under that
2381 directory and its subdirectories. This is the layout that will be created if you
2382 select non-English languages to be installed via menuselect, HOWEVER Asterisk does
2383 not default to this layout and will not find the files in the places it expects them
2384 to be. If you wish to use this layout, make sure you put 'languageprefix=yes' in your
2385 /etc/asterisk/asterisk.conf file, so that Asterisk will know how the files were
2390 * The (very old and undocumented) ability to use BYEXTENSION for dialing
2391 instead of ${EXTEN} has been removed.
2393 * Builtin (res_features) transfer functionality attempts to use the context
2394 defined in TRANSFER_CONTEXT variable of the transferer channel first. If
2395 not set, it uses the transferee variable. If not set in any channel, it will
2396 attempt to use the last non macro context. If not possible, it will default
2397 to the current context.
2399 * The autofallthrough setting introduced in Asterisk 1.2 now defaults to 'yes';
2400 if your dialplan relies on the ability to 'run off the end' of an extension
2401 and wait for a new extension without using WaitExten() to accomplish that,
2402 you will need set autofallthrough to 'no' in your extensions.conf file.
2404 Command Line Interface:
2406 * 'show channels concise', designed to be used by applications that will parse
2407 its output, previously used ':' characters to separate fields. However, some
2408 of those fields can easily contain that character, making the output not
2409 parseable. The delimiter has been changed to '!'.
2413 * In previous Asterisk releases, many applications would jump to priority n+101
2414 to indicate some kind of status or error condition. This functionality was
2415 marked deprecated in Asterisk 1.2. An option to disable it was provided with
2416 the default value set to 'on'. The default value for the global priority
2417 jumping option is now 'off'.
2419 * The applications Cut, Sort, DBGet, DBPut, SetCIDNum, SetCIDName, SetRDNIS,
2420 AbsoluteTimeout, DigitTimeout, ResponseTimeout, SetLanguage, GetGroupCount,
2421 and GetGroupMatchCount were all deprecated in version 1.2, and therefore have
2422 been removed in this version. You should use the equivalent dialplan
2423 function in places where you have previously used one of these applications.
2425 * The application SetGlobalVar has been deprecated. You should replace uses
2426 of this application with the following combination of Set and GLOBAL():
2427 Set(GLOBAL(name)=value). You may also access global variables exclusively by
2428 using the GLOBAL() dialplan function, instead of relying on variable
2429 interpolation falling back to globals when no channel variable is set.
2431 * The application SetVar has been renamed to Set. The syntax SetVar was marked
2432 deprecated in version 1.2 and is no longer recognized in this version. The
2433 use of Set with multiple argument pairs has also been deprecated. Please
2434 separate each name/value pair into its own dialplan line.
2436 * app_read has been updated to use the newer options codes, using "skip" or
2437 "noanswer" will not work. Use s or n. Also there is a new feature i, for
2438 using indication tones, so typing in skip would give you unexpected results.
2440 * OSPAuth is added to authenticate OSP tokens in in_bound call setup messages.
2442 * The CONNECT event in the queue_log from app_queue now has a second field
2443 in addition to the holdtime field. It contains the unique ID of the
2444 queue member channel that is taking the call. This is useful when trying
2445 to link recording filenames back to a particular call from the queue.
2447 * The old/current behavior of app_queue has a serial type behavior
2448 in that the queue will make all waiting callers wait in the queue
2449 even if there is more than one available member ready to take
2450 calls until the head caller is connected with the member they
2451 were trying to get to. The next waiting caller in line then
2452 becomes the head caller, and they are then connected with the
2453 next available member and all available members and waiting callers
2454 waits while this happens. This cycle continues until there are
2455 no more available members or waiting callers, whichever comes first.
2456 The new behavior, enabled by setting autofill=yes in queues.conf
2457 either at the [general] level to default for all queues or
2458 to set on a per-queue level, makes sure that when the waiting
2459 callers are connecting with available members in a parallel fashion
2460 until there are no more available members or no more waiting callers,
2461 whichever comes first. This is probably more along the lines of how
2462 one would expect a queue should work and in most cases, you will want
2463 to enable this new behavior. If you do not specify or comment out this
2464 option, it will default to "no" to keep backward compatability with the old
2467 * Queues depend on the channel driver reporting the proper state
2468 for each member of the queue. To get proper signalling on
2469 queue members that use the SIP channel driver, you need to
2470 enable a call limit (could be set to a high value so it
2471 is not put into action) and also make sure that both inbound
2472 and outbound calls are accounted for.
2484 * The app_queue application now has the ability to use MixMonitor to
2485 record conversations queue members are having with queue callers. Please
2486 see configs/queues.conf.sample for more information on this option.
2488 * The app_queue application strategy called 'roundrobin' has been deprecated
2489 for this release. Users are encouraged to use 'rrmemory' instead, since it
2490 provides more 'true' round-robin call delivery. For the Asterisk 1.6 release,
2491 'rrmemory' will be renamed 'roundrobin'.
2493 * The app_queue application option called 'monitor-join' has been deprecated
2494 for this release. Users are encouraged to use 'monitor-type=mixmonitor' instead,
2495 since it provides the same functionality but is not dependent on soxmix or some
2496 other external program in order to mix the audio.
2498 * app_meetme: The 'm' option (monitor) is renamed to 'l' (listen only), and
2499 the 'm' option now provides the functionality of "initially muted".
2500 In practice, most existing dialplans using the 'm' flag should not notice
2501 any difference, unless the keypad menu is enabled, allowing the user
2502 to unmute themselves.
2504 * ast_play_and_record would attempt to cancel the recording if a DTMF
2505 '0' was received. This behavior was not documented in most of the
2506 applications that used ast_play_and_record and the return codes from
2507 ast_play_and_record weren't checked for properly.
2508 ast_play_and_record has been changed so that '0' no longer cancels a
2509 recording. If you want to allow DTMF digits to cancel an
2510 in-progress recording use ast_play_and_record_full which allows you
2511 to specify which DTMF digits can be used to accept a recording and
2512 which digits can be used to cancel a recording.
2514 * ast_app_messagecount has been renamed to ast_app_inboxcount. There is now a
2515 new ast_app_messagecount function which takes a single context/mailbox/folder
2516 mailbox specification and returns the message count for that folder only.
2517 This addresses the deficiency of not being able to count the number of
2518 messages in folders other than INBOX and Old.
2520 * The exit behavior of the AGI applications has changed. Previously, when
2521 a connection to an AGI server failed, the application would cause the channel
2522 to immediately stop dialplan execution and hangup. Now, the only time that
2523 the AGI applications will cause the channel to stop dialplan execution is
2524 when the channel itself requests hangup. The AGI applications now set an
2525 AGISTATUS variable which will allow you to find out whether running the AGI
2526 was successful or not.
2528 Previously, there was no way to handle the case where Asterisk was unable to
2529 locally execute an AGI script for some reason. In this case, dialplan
2530 execution will continue as it did before, but the AGISTATUS variable will be
2533 A locally executed AGI script can now exit with a non-zero exit code and this
2534 failure will be detected by Asterisk. If an AGI script exits with a non-zero
2535 exit code, the AGISTATUS variable will be set to "FAILURE" as opposed to
2538 * app_voicemail: The ODBC_STORAGE capability now requires the extended table format
2539 previously used only by EXTENDED_ODBC_STORAGE. This means that you will need to update
2540 your table format using the schema provided in doc/odbcstorage.txt
2542 * app_waitforsilence: Fixes have been made to this application which changes the
2543 default behavior with how quickly it returns. You can maintain "old-style" behavior
2544 with the addition/use of a third "timeout" parameter.
2545 Please consult the application documentation and make changes to your dialplan
2550 * After executing the 'status' manager action, the "Status" manager events
2551 included the header "CallerID:" which was actually only the CallerID number,
2552 and not the full CallerID string. This header has been renamed to
2553 "CallerIDNum". For compatibility purposes, the CallerID parameter will remain
2554 until after the release of 1.4, when it will be removed. Please use the time
2555 during the 1.4 release to make this transition.
2557 * The AgentConnect event now has an additional field called "BridgedChannel"
2558 which contains the unique ID of the queue member channel that is taking the
2559 call. This is useful when trying to link recording filenames back to
2560 a particular call from the queue.
2562 * app_userevent has been modified to always send Event: UserEvent with the
2563 additional header UserEvent: <userspec>. Also, the Channel and UniqueID
2564 headers are not automatically sent, unless you specify them as separate
2565 arguments. Please see the application help for the new syntax.
2567 * app_meetme: Mute and Unmute events are now reported via the Manager API.
2568 Native Manager API commands MeetMeMute and MeetMeUnmute are provided, which
2569 are easier to use than "Action Command:". The MeetMeStopTalking event has
2570 also been deprecated in favor of the already existing MeetmeTalking event
2571 with a "Status" of "on" or "off" added.
2573 * OriginateFailure and OriginateSuccess events were replaced by event
2574 OriginateResponse with a header named "Response" to indicate success or
2579 * The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
2580 ${CALLERANI}, ${DNID}, ${RDNIS}, ${DATETIME}, ${TIMESTAMP}, ${ACCOUNTCODE},
2581 and ${LANGUAGE} have all been deprecated in favor of their related dialplan
2582 functions. You are encouraged to move towards the associated dialplan
2583 function, as these variables will be removed in a future release.
2585 * The CDR-CSV variables uniqueid, userfield, and basing time on GMT are now
2586 adjustable from cdr.conf, instead of recompiling.
2588 * OSP applications exports several new variables, ${OSPINHANDLE},
2589 ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
2590 ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
2592 * Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
2593 created channel. This variables holds the channel name of the transferer.
2595 * The dial plan variable PRI_CAUSE will be removed from future versions
2597 It is replaced by adding a cause value to the hangup() application.
2601 * The function ${CHECK_MD5()} has been deprecated in favor of using an
2602 expression: $[${MD5(<string>)} = ${saved_md5}].
2604 * The 'builtin' functions that used to be combined in pbx_functions.so are
2605 now built as separate modules. If you are not using 'autoload=yes' in your
2606 modules.conf file then you will need to explicitly load the modules that
2607 contain the functions you want to use.
2609 * The ENUMLOOKUP() function with the 'c' option (for counting the number of
2610 records), but the lookup fails to match any records, the returned value will
2611 now be "0" instead of blank.
2613 * The REALTIME() function is now available in version 1.4 and app_realtime has
2614 been deprecated in favor of the new function. app_realtime will be removed
2615 completely with the version 1.6 release so please take the time between
2616 releases to make any necessary changes
2618 * The QUEUEAGENTCOUNT() function has been deprecated in favor of
2619 QUEUE_MEMBER_COUNT().
2623 * It is possible that previous configurations depended on the order in which
2624 peers and users were specified in iax.conf for forcing the order in which
2625 chan_iax2 matched against them. This behavior is going away and is considered
2626 deprecated in this version. Avoid having ambiguous peer and user entries and
2627 to make things easy on yourself, always set the "username" option for users
2628 so that the remote end can match on that exactly instead of trying to infer
2629 which user you want based on host.
2631 If you would like to go ahead and use the new behavior which doesn't use the
2632 order in the config file to influence matching order, then change the
2633 MAX_PEER_BUCKETS define in chan_iax2.c to a value greater than one. An
2634 example is provided there. By changing this, you will get *much* better
2635 performance on systems that do a lot of peer and user lookups as they will be
2636 stored in memory in a much more efficient manner.
2638 * The "mailboxdetail" option has been deprecated. Previously, if this option
2639 was not enabled, the 2 byte MSGCOUNT information element would be set to all
2640 1's to indicate there there is some number of messages waiting. With this
2641 option enabled, the number of new messages were placed in one byte and the
2642 number of old messages are placed in the other. This is now the default
2643 (and the only) behavior.
2647 * The "incominglimit" setting is replaced by the "call-limit" setting in
2650 * OSP support code is removed from SIP channel to OSP applications. ospauth
2651 option in sip.conf is removed to osp.conf as authpolicy. allowguest option
2652 in sip.conf cannot be set as osp anymore.
2654 * The Asterisk RTP stack has been changed in regards to RFC2833 reception
2655 and transmission. Packets will now be sent with proper duration instead of all
2656 at once. If you are receiving calls from a pre-1.4 Asterisk installation you
2657 will want to turn on the rfc2833compensate option. Without this option your
2658 DTMF reception may act poorly.
2660 * The $SIPUSERAGENT dialplan variable is deprecated and will be removed
2661 in coming versions of Asterisk. Please use the dialplan function
2662 SIPCHANINFO(useragent) instead.
2664 * The ALERT_INFO dialplan variable is deprecated and will be removed
2665 in coming versions of Asterisk. Please use the dialplan application
2666 sipaddheader() to add the "Alert-Info" header to the outbound invite.
2668 * The "canreinvite" option has changed. canreinvite=yes used to disable
2669 re-invites if you had NAT=yes. In 1.4, you need to set canreinvite=nonat
2670 to disable re-invites when NAT=yes. This is propably what you want.
2671 The settings are now: "yes", "no", "nonat", "update". Please consult
2672 sip.conf.sample for detailed information.
2676 * Support for MFC/R2 has been removed, as it has not been functional for some
2677 time and it has no maintainer.
2681 * Callback mode (AgentCallbackLogin) is now deprecated, since the entire function
2682 it provided can be done using dialplan logic, without requiring additional
2683 channel and module locks (which frequently caused deadlocks). An example of
2684 how to do this using AEL dialplan is in doc/queues-with-callback-members.txt.
2688 * It has been determined that previous versions of Asterisk used the wrong codeword
2689 packing order for G726-32 data. This version supports both available packing orders,
2690 and can transcode between them. It also now selects the proper order when
2691 negotiating with a SIP peer based on the codec name supplied in the SDP. However,
2692 there are existing devices that improperly request one order and then use another;
2693 Sipura and Grandstream ATAs are known to do this, and there may be others. To
2694 be able to continue to use these devices with this version of Asterisk and the
2695 G726-32 codec, a configuration parameter called 'g726nonstandard' has been added
2696 to sip.conf, so that Asterisk can use the packing order expected by the device (even
2697 though it requested a different order). In addition, the internal format number for
2698 G726-32 has been changed, and the old number is now assigned to AAL2-G726-32. The
2699 result of this is that this version of Asterisk will be able to interoperate over
2700 IAX2 with older versions of Asterisk, as long as this version is told to allow
2701 'g726aal2' instead of 'g726' as the codec for the call.
2705 * On BSD systems, the installation directories have changed to more "FreeBSDish"
2706 directories. On startup, Asterisk will look for the main configuration in
2707 /usr/local/etc/asterisk/asterisk.conf
2708 If you have an old installation, you might want to remove the binaries and
2709 move the configuration files to the new locations. The following directories
2711 ASTLIBDIR /usr/local/lib/asterisk
2712 ASTVARLIBDIR /usr/local/share/asterisk
2713 ASTETCDIR /usr/local/etc/asterisk
2714 ASTBINDIR /usr/local/bin/asterisk
2715 ASTSBINDIR /usr/local/sbin/asterisk
2719 * The music on hold handling has been changed in some significant ways in hopes
2720 to make it work in a way that is much less confusing to users. Behavior will
2721 not change if the same configuration is used from older versions of Asterisk.
2722 However, there are some new configuration options that will make things work
2723 in a way that makes more sense.
2725 Previously, many of the channel drivers had an option called "musicclass" or
2726 something similar. This option set what music on hold class this channel
2727 would *hear* when put on hold. Some people expected (with good reason) that
2728 this option was to configure what music on hold class to play when putting
2729 the bridged channel on hold. This option has now been deprecated.
2731 Two new music on hold related configuration options for channel drivers have
2732 been introduced. Some channel drivers support both options, some just one,
2733 and some support neither of them. Check the sample configuration files to see
2734 which options apply to which channel driver.
2736 The "mohsuggest" option specifies which music on hold class to suggest to the
2737 bridged channel when putting them on hold. The only way that this class can
2738 be overridden is if the bridged channel has a specific music class set that
2739 was done in the dialplan using Set(CHANNEL(musicclass)=something).
2741 The "mohinterpret" option is similar to the old "musicclass" option. It
2742 specifies which music on hold class this channel would like to listen to when
2743 put on hold. This music class is only effective if this channel has no music
2744 class set on it from the dialplan and the bridged channel putting this one on
2745 hold had no "mohsuggest" setting.
2747 The IAX2 and Zap channel drivers have an additional feature for the
2748 "mohinterpret" option. If this option is set to "passthrough", then these
2749 channel drivers will pass through the HOLD message in signalling instead of
2750 starting music on hold on the channel. An example for how this would be
2751 useful is in an enterprise network of Asterisk servers. When one phone on one
2752 server puts a phone on a different server on hold, the remote server will be
2753 responsible for playing the hold music to its local phone that was put on
2754 hold instead of the far end server across the network playing the music.
2758 * The behavior of the "clid" field of the CDR has always been that it will
2759 contain the callerid ANI if it is set, or the callerid number if ANI was not
2760 set. When using the "callerid" option for various channel drivers, some
2761 would set ANI and some would not. This has been cleared up so that all
2762 channel drivers set ANI. If you would like to change the callerid number
2763 on the channel from the dialplan and have that change also show up in the
2764 CDR, then you *must* set CALLERID(ANI) as well as CALLERID(num).
2768 * There are some API functions that were not previously prefixed with the 'ast_'
2769 prefix but now are; these include the ADSI, ODBC and AGI interfaces. If you
2770 have a module that uses the services provided by res_adsi, res_odbc, or
2771 res_agi, you will need to add ast_ prefixes to the functions that you call
2776 * format_wav: The GAIN preprocessor definition has been changed from 2 to 0
2777 in Asterisk 1.4. This change was made in response to user complaints of
2778 choppiness or the clipping of loud signal peaks. The GAIN preprocessor
2779 definition will be retained in Asterisk 1.4, but will be removed in a
2780 future release. The use of GAIN for the increasing of voicemail message
2781 volume should use the 'volgain' option in voicemail.conf
2787 * The Asterisk 1.2 source code now uses C language features
2788 supported only by 'modern' C compilers. Generally, this means GCC
2789 version 3.0 or higher, although some GCC 2.96 releases will also
2790 work. Some non-GCC compilers that support C99 and the common GCC
2791 extensions (including anonymous structures and unions) will also
2792 work. All releases of GCC 2.95 do _not_ have the requisite feature
2793 support; systems using that compiler will need to be upgraded to
2794 a more recent compiler release.
2796 Dialplan Expressions:
2798 * The dialplan expression parser (which handles $[ ... ] constructs)
2799 has gone through a major upgrade, but has one incompatible change:
2800 spaces are no longer required around expression operators, including
2801 string comparisons. However, you can now use quoting to keep strings
2802 together for comparison. For more details, please read the
2803 doc/README.variables file, and check over your dialplan for possible
2808 * The default for ackcall has been changed to "no" instead of "yes"
2809 because of a bug which caused the "yes" behavior to generally act like
2810 "no". You may need to adjust the value if your agents behave
2811 differently than you expect with respect to acknowledgement.
2813 * The AgentCallBackLogin application now requires a second '|' before
2814 specifying an extension@context. This is to distinguish the options
2815 string from the extension, so that they do not conflict. See
2816 'show application AgentCallbackLogin' for more details.
2820 * Parking behavior has changed slightly; when a parked call times out,
2821 Asterisk will attempt to deliver the call back to the extension that
2822 parked it, rather than the 's' extension. If that extension is busy
2823 or unavailable, the parked call will be lost.
2827 * The Caller*ID of the outbound leg is now the extension that was
2828 called, rather than the Caller*ID of the inbound leg of the call. The
2829 "o" flag for Dial can be used to restore the original behavior if
2830 desired. Note that if you are looking for the originating callerid
2831 from the manager event, there is a new manager event "Dial" which
2832 provides the source and destination channels and callerid.
2836 * The naming convention for IAX channels has changed in two ways:
2837 1. The call number follows a "-" rather than a "/" character.
2838 2. The name of the channel has been simplified to IAX2/peer-callno,
2839 rather than IAX2/peer@peer-callno or even IAX2/peer@peer/callno.
2843 * The global option "port" in 1.0.X that is used to set which port to
2844 bind to has been changed to "bindport" to be more consistent with
2845 the other channel drivers and to avoid confusion with the "port"
2846 option for users/peers.
2848 * The "Registry" event now uses "Username" rather than "User" for
2849 consistency with IAX.
2853 * With the addition of dialplan functions (which operate similarly
2854 to variables), the SetVar application has been renamed to Set.
2856 * The CallerPres application has been removed. Use SetCallerPres
2857 instead. It accepts both numeric and symbolic names.
2859 * The applications GetGroupCount, GetGroupMatchCount, SetGroup, and
2860 CheckGroup have been deprecated in favor of functions. Here is a
2861 table of their replacements:
2863 GetGroupCount([groupname][@category] GROUP_COUNT([groupname][@category]) Set(GROUPCOUNT=${GROUP_COUNT()})
2864 GroupMatchCount(groupmatch[@category]) GROUP_MATCH_COUNT(groupmatch[@category]) Set(GROUPCOUNT=${GROUP_MATCH_COUNT(SIP/.*)})
2865 SetGroup(groupname[@category]) GROUP([category])=groupname Set(GROUP()=test)
2866 CheckGroup(max[@category]) N/A GotoIf($[ ${GROUP_COUNT()} > 5 ]?103)
2868 Note that CheckGroup does not have a direct replacement. There is
2869 also a new function called GROUP_LIST() which will return a space
2870 separated list of all of the groups set on a channel. The GROUP()
2871 function can also return the name of the group set on a channel when
2872 used in a read environment.
2874 * The applications DBGet and DBPut have been deprecated in favor of
2875 functions. Here is a table of their replacements:
2877 DBGet(foo=family/key) Set(foo=${DB(family/key)})
2878 DBPut(family/key=${foo}) Set(DB(family/key)=${foo})
2880 * The application SetLanguage has been deprecated in favor of the
2881 function LANGUAGE().
2883 SetLanguage(fr) Set(LANGUAGE()=fr)
2885 The LANGUAGE function can also return the currently set language:
2887 Set(MYLANG=${LANGUAGE()})
2889 * The applications AbsoluteTimeout, DigitTimeout, and ResponseTimeout
2890 have been deprecated in favor of the function TIMEOUT(timeouttype):
2892 AbsoluteTimeout(300) Set(TIMEOUT(absolute)=300)
2893 DigitTimeout(15) Set(TIMEOUT(digit)=15)
2894 ResponseTimeout(15) Set(TIMEOUT(response)=15)
2896 The TIMEOUT() function can also return the currently set timeouts:
2898 Set(DTIMEOUT=${TIMEOUT(digit)})
2900 * The applications SetCIDName, SetCIDNum, and SetRDNIS have been
2901 deprecated in favor of the CALLERID(datatype) function:
2903 SetCIDName(Joe Cool) Set(CALLERID(name)=Joe Cool)
2904 SetCIDNum(2025551212) Set(CALLERID(number)=2025551212)
2905 SetRDNIS(2024561414) Set(CALLERID(RDNIS)=2024561414)
2907 * The application Record now uses the period to separate the filename
2908 from the format, rather than the colon.
2910 * The application VoiceMail now supports a 'temporary' greeting for each
2911 mailbox. This greeting can be recorded by using option 4 in the
2912 'mailbox options' menu, and 'change your password' option has been
2915 * The application VoiceMailMain now only matches the 'default' context if
2916 none is specified in the arguments. (This was the previously
2917 documented behavior, however, we didn't follow that behavior.) The old
2918 behavior can be restored by setting searchcontexts=yes in voicemail.conf.
2922 * A queue is now considered empty not only if there are no members but if
2923 none of the members are available (e.g. agents not logged on). To
2924 restore the original behavior, use "leavewhenempty=strict" or
2925 "joinwhenempty=strict" instead of "=yes" for those options.
2927 * It is now possible to use multi-digit extensions in the exit context
2928 for a queue (although you should not have overlapping extensions,
2929 as there is no digit timeout). This means that the EXITWITHKEY event
2930 in queue_log can now contain a key field with more than a single
2935 * By default, there is a new option called "autofallthrough" in
2936 extensions.conf that is set to yes. Asterisk 1.0 (and earlier)
2937 behavior was to wait for an extension to be dialed after there were no
2938 more extensions to execute. "autofallthrough" changes this behavior
2939 so that the call will immediately be terminated with BUSY,
2940 CONGESTION, or HANGUP based on Asterisk's best guess. If you are
2941 writing an extension for IVR, you must use the WaitExten application
2942 if "autofallthrough" is set to yes.
2946 * AGI scripts did not always get SIGHUP at the end, previously. That
2947 behavior has been fixed. If you do not want your script to terminate
2948 at the end of AGI being called (e.g. on a hangup) then set SIGHUP to
2949 be ignored within your application.
2951 * CallerID is reported with agi_callerid and agi_calleridname instead
2952 of a single parameter holding both.
2956 * The preferred format for musiconhold.conf has changed; please see the
2957 sample configuration file for the new format. The existing format
2958 is still supported but will generate warnings when the module is loaded.
2962 * All the chan_modem channel drivers (aopen, bestdata and i4l) are deprecated
2963 in this release, and will be removed in the next major Asterisk release.
2964 Please migrate to chan_misdn for ISDN interfaces; there is no upgrade
2965 path for aopen and bestdata modem users.
2969 * The conference application now allows users to increase/decrease their
2970 speaking volume and listening volume (independently of each other and
2971 other users); the 'admin' and 'user' menus have changed, and new sound
2972 files are included with this release. However, if a user calling in
2973 over a Zaptel channel that does NOT have hardware DTMF detection
2974 increases their speaking volume, it is likely they will no longer be
2975 able to enter/exit the menu or make any further adjustments, as the
2976 software DTMF detector will not be able to recognize the DTMF coming
2979 GetVar Manager Action:
2981 * Previously, the behavior of the GetVar manager action reported the value
2982 of a variable in the following manner:
2984 This has been changed to a manner similar to the SetVar action and is now