- In Brief
- Detailed Listing
- Text Messaging
- Asterisk Manager Interface
- Asterisk HTTP Server
- CLI Changes
- Dialplan Variables
- Dialplan Functions
- libpri channel driver (chan_dahdi) DAHDI changes
- SIP Changes
- Queue changes
- Asterisk Database
- Asterisk Modules
A listing of new capabilities in Asterisk 10
Asterisk 10 introduces a number of new features since the previous 1.8 release. Highlights include:
- Advanced, high-performance wide and ultra-wideband conferencing application for 8-192kHz clients
- Re-architected media negotiation framework featuring support for an array of common sampling rates
- Support for SKYPE's SILK codec, offering narrow, wide and ultra-wideband audio
- Pass-ThroughSupport for the CELT low-latency audio codec at 32 and 48kHz
- Support for the SPEEX codec at 32kHz
- New receive-side jitter buffer capabilities
- CCSS Device State Information
- Asterisk now has protocol independent support for processing text messages outside of a call. Messages are routed through the Asterisk dialplan. SIP MESSAGE and XMPP are currently supported. There are options in jabber.conf and sip.conf to allow enabling these features.
-> jabber.conf: see the "sendtodialplan" and "context" options.
-> sip.conf: see the "accept_outofcall_message", "auth_message_requests" and "outofcall_message_context" options.
The MESSAGE() dialplan function and MessageSend() application have been added to go along with this functionality. More detailed usage information can be found on the Asterisk wiki (http://wiki.asterisk.org/).
- parkedmusicclass can now be set for non-default parking lots.
- ParkedCall application can now specify a specific parkinglot.
Asterisk Manager Interface
- PeerStatus now includes Address and Port.
- Added Hold events for when the remote party puts the call on and off hold for chan_dahdi ISDN channels.
- Added new action MeetmeListRooms to list active conferences (shows same data as "meetme list" at the CLI).
- DAHDIShowChannels, SIPshowpeer, SIPpeers, and IAXpeers now contains a Description field that is set by 'description' in the channel configuration file.
- Added Uniqueid header to UserEvent.
- Added new action FilterAdd to control event filters for the current session. This requires the system permission and uses the same filter syntax as filters that can be defined in manager.conf
Asterisk HTTP Server
- The HTTP Server can bind to IPv6 addresses.
- Busy tone patterns featuring 2 silence and 2 tone lengths can now be used with busydetect. usage example: busypattern=200,200,200,600
- New 'gtalk show settings' command showing the current settings loaded from gtalk.conf.
- The 'logger reload' command now supports an optional argument, specifying an alternate configuration file to use.
- 'dialplan add extension' command will now automatically create a context if the specified context does not exist with a message indicated it did so.
- 'sip show peers', 'iax show peers', and 'dahdi show peers' now contains a Description field which can be populated with 'description' in the channel configuration files (sip.conf, iax2.conf, and chan_dahdi.conf).
- The filter option in cdr_adaptive_odbc now supports negating the argument, thus allowing records which do NOT match the specified filter.
- Ability to define custom SILK formats in codecs.conf.
- Addition of speex32 audio format with translation.
- CELT codec pass-through support and ability to define custom CELT formats in codecs.conf.
- Ability to read raw signed linear files with sample rates ranging from 8khz - 192khz. The new file extensions introduced are .sln12, .sln24, .sln32, .sln44, .sln48, .sln96, .sln192.
- New highly optimized and customizable ConfBridge application capable of mixing audio at sample rates ranging from 8khz-96khz.
- CONFBRIDGE dialplan function capable of creating dynamic ConfBridge user and bridge profiles on a channel.
- CONFBRIDGE_INFO dialplan function capable of retrieving information about a conference such as locked status and number of parties, admins, and marked users.
- Addition of video_mode option in confbridge.conf for adding video support into a bridge profile.
- Addition of the follow_talker video_mode in confbridge.conf. This video mode dynamically switches the video feed to always display the loudest talker supplying video in the conference.
- Added ASTETCDIR, ASTMODDIR, ASTVARLIBDIR, ASTDBDIR, ASTKEYDIR, ASTDATADIR, ASTAGIDIR, ASTSPOOLDIR, ASTRUNDIR, ASTLOGDIR which hold the equivalent variables from asterisk.conf.
- Addition of the JITTERBUFFER dialplan function. This function allows for jitterbuffering to occur on the read side of a channel. By using this function conference applications such as ConfBridge and MeetMe can have the rx streams jitterbuffered before conference mixing occurs.
- Added DB_KEYS, which lists the next set of keys in the Asterisk database hierarchy.
- Added STRREPLACE function. This function let's the user search a variable for a given string to replace with another string as many times as the user specifies or just throughout the whole string.
- Added option to CHANNEL(pickupgroup) allow reading and setting the pickupgroup of channel.
libpri channel driver (chan_dahdi) DAHDI changes
- Added moh_signaling option to specify what to do when the channel's bridged peer puts the ISDN channel on hold.
- Added display_send and display_receive options to control how the display ie is handled. To send display text from the dialplan use the SendText() application when the option is enabled.
- Added mcid_send option to allow sending a MCID request on a span.
- Added setvar option to calendar.conf to allow setting channel variables on notification channels.
- Added "calendar show types" CLI command to list registered calendar connectors.
- Added two new options, r and t with file name arguments to record single direction (unmixed) audio recording separate from the bidirectional (mixed) recording. The mixed file name argument is optional now as long as at least one recording option is used.
- Added a new option, l, which will disable local call optimization for channels involved with the FollowMe thread. Use this option to improve compatability for a FollowMe call with certain dialplan apps, options, and functions.
- cel_pgsql now supports the 'extra' column for data added using the CELGenUserEvent() application.
- Support for defining hints has been added to pbx_lua. See the 'hints' table in the sample extensions.lua file for syntax details.
- Applications that perform jumps in the dialplan such as Goto will now execute properly. When pbx_lua detects that the context, extension, or priority we are executing on has changed it will immediately return control to the asterisk PBX engine. Currently the engine cannot detect a Goto to the priority after the currently executing priority.
- An autoservice is now started by default for pbx_lua channels. It can be stopped and restarted using the autoservice_stop() and autoservice_start() functions.
- The ReceiveFAXStatus and SendFAXStatus manager events have been consolidated into a FAXStatus event with an 'Operation' header that will be either 'send', 'receive', or 'gateway'.
- T.38 gateway functionality has been added to res_fax (and res_fax_spandsp). Set FAXOPT(gateway)=yes to enable this functionality on a channel. This feature will handle converting a fax call between an audio T.30 fax terminal and an IFP T.38 fax terminal.
- Add T38 support for REJECTED state where T.38 Negotiation is explicitly rejected.
- Added general option negative_penalty_invalid default off. when set members are seen as invalid/logged out when there penalty is negative. For realtime members when set remove from queue will set penalty to -1.
- Added queue option autopausedelay when autopause is enabled it will be delayed for this number of seconds since last successful call if there was no prior call the agent will be autopaused immediately.
- Added member option ignorebusy this when set and ringinuse is not will allow per member control of multiple calls as ringinuse does for the Queue.
- Added 'v' option to MeetMe to play voicemail greetings when a user joins/leaves a MeetMe conference
- Added ability to include '@parkinglot' to ParkedCall extension in order to specify a specific parkinglot on which to search the extension.
- The internal Asterisk database has been switched from Berkeley DB 1.86 to SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3 utility in the UTILS section of menuselect. If an existing astdb is found and no astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will convert an existing astdb to the SQLite3 version automatically at runtime.
- Modules marked as deprecated are no longer marked as building by default. Enabling these modules is still available via menuselect.