12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021 |
- ==============================================================================
- ===
- === This file documents the new and/or enhanced functionality added in
- === the Asterisk versions listed below. This file does NOT include
- === changes in behavior that would not be backwards compatible with
- === previous versions; for that information see the UPGRADE.txt file
- === and the other UPGRADE files for older releases.
- ===
- ==============================================================================
- ------------------------------------------------------------------------------
- --- Functionality changes since Asterisk 10.5.0 ------------------------------
- ------------------------------------------------------------------------------
- SIP Changes
- -------------
- * In previous versions of Asterisk, a SIP peer's LastMsgsSent value was
- presented as part of the response to an AMI or CLI 'sip show peer [peer]'.
- This was removed in Asterisk 10 as the variable was no longer used for its
- original internal purpose of determining whether or not MWI notifications had
- been sent to a peer; however, it was determined that the value is still
- useful for reporting purposes.
- The LastMsgsSent value has been re-added with the same functionality as in
- previous versions of Asterisk.
- ------------------------------------------------------------------------------
- --- Functionality changes since Asterisk 10.4.0 ------------------------------
- ------------------------------------------------------------------------------
- Build System
- ------------
- * The optimization portion of the build system has been reworked to avoid
- broken builds on certain architectures. All architecture-specific
- optimization has been removed in favor of using -march=native to allow gcc
- to detect the environment in which it is running when possible. This can
- be toggled as BUILD_NATIVE under "Compiler Flags" in menuselect.
- ------------------------------------------------------------------------------
- --- Functionality changes since Asterisk 10.3.0 ------------------------------
- ------------------------------------------------------------------------------
- Gosub changes
- -------------
- * A new function, STACK_PEEK, has been added, to correlate for functionality
- available in AEL in 1.4 that disappeared in 10. STACK_PEEK permits the
- user to see the location of the calling Gosub from within the subroutine.
- Background DNS Update Manager
- -----------------------------
- * The default verbosity for ast_verb() messages has been increased to 6. This
- should help reduce the 'doing dnsmgr_lookup for' message from spamming the
- CLI.
- Queue changes
- -------------
- * Default value for 'ignorebusy' flag on queue members is now 1 instead of 0
- to get the default behavior in line with 1.8. The only way to change this
- flag in 10 is to use the QUEUE_MEMBER function to change ignorebusy unless
- using realtime queue members (in which case it can be manipualted on the
- database normally).
- ------------------------------------------------------------------------------
- --- Functionality changes since Asterisk 10.1.0 ------------------------------
- ------------------------------------------------------------------------------
- Followme changes
- -------------
- * A new option, 'I' has been added to app_followme.
- By setting this option, Asterisk will not update the caller with
- connected line changes when they occur. This is similar to app_dial
- and app_queue.
- * The 'N' option is now ignored if the call is already answered.
- RTP changes
- -------------
- * A new option, 'probation' has been added to rtp.conf
- RTP in strictrtp mode can now require more than 1 packet to exit learning
- mode with a new source (and by default requires 4). The probation option
- allows the user to change the required number of packets in sequence to any
- desired value. Use a value of 1 to essentially restore the old behavior.
- Also, with strictrtp on, Asterisk will now drop all packets until learning
- mode has successfully exited. These changes are based on how pjmedia handles
- media sources and source changes.
- Text Messaging
- --------------
- * MESSAGE(from) for incoming SIP messages now returns "display-name" <uri>
- instead of simply the uri. This is the format that MessageSend() can use
- in the from parameter for outgoing SIP messages.
- ------------------------------------------------------------------------------
- --- Functionality changes from Asterisk 1.8 to Asterisk 10 -------------------
- ------------------------------------------------------------------------------
- Text Messaging
- --------------
- * 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/).
- * If real-time text support (T.140) is negotiated, it will be preferred for
- sending text via the SendText application. For example, via SIP, messages
- that were once sent via the SIP MESSAGE request would be sent via RTP if
- T.140 text is negotiated for a call.
- Parking
- -------
- * parkedmusicclass can now be set for non-default parking lots.
- 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
- * The Unlink event is now a Bridge event with Bridgestatus: Unlink. Previous
- versions had some instances of the event converted, but others were left
- as-is. All Unlink events should now be converted to Bridge events. The AMI
- protocol version number was incremented to 1.2 as a result of this change.
- Asterisk HTTP Server
- --------------------------
- * The HTTP Server can bind to IPv6 addresses.
- chan_dahdi
- --------------------------
- * Busy tone patterns featuring 2 silence and 2 tone lengths can now be used
- with busydetect. usage example: busypattern=200,200,200,600
- CLI Changes
- --------------------------
- * 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).
- CDR
- --------------------------
- * The filter option in cdr_adaptive_odbc now supports negating the argument,
- thus allowing records which do NOT match the specified filter.
- CODECS
- --------------------------
- * 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.
- * Due to protocol limitations, channel drivers other than SIP (eg. IAX2, MGCP,
- Skinny, H.323, etc) can still only support the following codecs:
- Audio: ulaw, alaw, slin, slin16, g719, g722, g723, g726, g726aal2, g729, gsm,
- siren7, siren14, speex, speex16, ilbc, lpc10, adpcm
- Video: h261, h263, h263p, h264, mpeg4
- Image: jpeg, png
- Text: red, t140
- ConfBridge
- --------------------------
- * 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.
- Dialplan Variables
- ------------------
- * Added ASTETCDIR, ASTMODDIR, ASTVARLIBDIR, ASTDBDIR, ASTKEYDIR, ASTDATADIR,
- ASTAGIDIR, ASTSPOOLDIR, ASTRUNDIR, ASTLOGDIR which hold the equivalent
- variables from asterisk.conf.
- Dialplan Functions
- ------------------
- * 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.
- * Mark VALID_EXTEN() deprecated in favor of DIALPLAN_EXISTS()
- * Added extensions to chan_ooh323 in function 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.
- Calendaring
- --------------------------
- * 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.
- MixMonitor
- --------------------------
- * 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.
- FollowMe
- --------------------------
- * 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
- --------------------------
- * cel_pgsql now supports the 'extra' column for data added using the
- CELGenUserEvent() application.
- pbx_lua
- --------------------------
- * 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.
- res_fax
- --------------------------
- * 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.
- SIP Changes
- -----------
- * Add T38 support for REJECTED state where T.38 Negotiation is explicitly rejected.
- * Add option encryption_taglen to set auth taglen only 32 and 80 are supported currently.
- * SIP now generates security events using the Security Events Framework for REGISTER and INVITE.
- Queue changes
- -------------
- * 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.
- Applications
- ------------
- * Added 'v' option to MeetMe to play voicemail greetings when a user joins/leaves
- a MeetMe conference
- Asterisk Database
- -----------------
- * 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.
- Asterisk Modules
- ----------------
- * Modules marked as deprecated are no longer marked as building by default. Enabling
- these modules is still available via menuselect.
- IAX2 Changes
- ------------
- * authdebug is now disabled by default. To enable this functionaility again
- set authdebug = yes in iax.conf.
- RTP Changes
- -----------
- * The rtp.conf setting "strictrtp" is now enabled by default. In previous
- releases it was disabled.
- PBX Core
- --------
- * The PBX core previously made a call with a non-existing extension test for
- extension s@default and jump there if the extension existed.
- This was a bad default behaviour and violated the principle of least surprise.
- It has therefore been changed in this release. It may affect some
- applications and configurations that rely on this behaviour. Most channel
- drivers have avoided this for many releases by testing whether the extension
- called exists before starting the PBX and generating a local error.
- This behaviour still exists and works as before.
- Extension "s" is used when no extension is given in a channel driver,
- like immediate answer in DAHDI or calling to a domain with no user part
- in a SIP uri.
- ------------------------------------------------------------------------------
- --- Functionality changes from Asterisk 1.6.2 to Asterisk 1.8 ----------------
- ------------------------------------------------------------------------------
- SIP Changes
- -----------
- * Due to potential username discovery vulnerabilities, the 'nat' setting in sip.conf
- now defaults to force_rport. It is very important that phones requiring nat=no be
- specifically set as such instead of relying on the default setting. If at all
- possible, all devices should have nat settings configured in the general section as
- opposed to configuring nat per-device.
- * Added preferred_codec_only option in sip.conf. This feature limits the joint
- codecs sent in response to an INVITE to the single most preferred codec.
- * Added SIP_CODEC_OUTBOUND dialplan variable which can be used to set the codec
- to be used for the outgoing call. It must be one of the codecs configured
- for the device.
- * Added tlsprivatekey option to sip.conf. This allows a separate .pem file
- to be used for holding a private key. If tlsprivatekey is not specified,
- tlscertfile is searched for both public and private key.
- * Added tlsclientmethod option to sip.conf. This allows the protocol for
- outbound client connections to be specified.
- * The sendrpid parameter has been expanded to include the options
- 'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID
- header to be sent (equivalent to setting sendrpid=yes) and setting
- sendrpid to 'pai' will cause P-Asserted-Identity header to be sent.
- * The 'ignoresdpversion' behavior has been made automatic when the SDP received
- is in response to a T.38 re-INVITE that Asterisk initiated. In this situation,
- since the call will fail if Asterisk does not process the incoming SDP, Asterisk
- will accept the SDP even if the SDP version number is not properly incremented,
- but will generate a warning in the log indicating that the SIP peer that sent
- the SDP should have the 'ignoresdpversion' option set.
- * The 'nat' option has now been been changed to have yes, no, force_rport, and
- comedia as valid values. Setting it to yes forces RFC 3581 behavior and enables
- symmetric RTP support. Setting it to no only enables RFC 3581 behavior if the
- remote side requests it and disables symmetric RTP support. Setting it to
- force_rport forces RFC 3581 behavior and disables symmetric RTP support.
- Setting it to comedia enables RFC 3581 behavior if the remote side requests it
- and enables symmetric RTP support.
- * Slave SIP channels now set HASH(SIP_CAUSE,<slave-channel-name>) on each
- response. This permits the master channel to know how each channel dialled
- in a multi-channel setup resolved in an individual way. This carries a
- performance penalty and can be disabled in sip.conf using the
- 'storesipcause' option.
- * Added 'externtcpport' and 'externtlsport' options to allow custom port
- configuration for the externip and externhost options when tcp or tls is used.
- * Added support for message body (stored in content variable) to SIP NOTIFY message
- accessible via AMI and CLI.
- * Added 'media_address' configuration option which can be used to explicitly specify
- the IP address to use in the SDP for media (audio, video, and text) streams.
- * Added 'unsolicited_mailbox' configuration option which specifies the virtual mailbox
- that the new/old count should be stored on if an unsolicited MWI NOTIFY message is
- received.
- * Added 'use_q850_reason' configuration option for generating and parsing
- if available Reason: Q.850;cause=<cause code> header. It is implemented
- in some gateways for better passing PRI/SS7 cause codes via SIP.
- * When dialing SIP peers, a new component may be added to the end of the dialstring
- to indicate that a specific remote IP address or host should be used when dialing
- the particular peer. The dialstring format is SIP/peer/exten/host_or_IP.
- * SRTP SDES support for encrypting calls to/from Asterisk over SIP. The
- ability to selectively force bridged channels to also be encrypted is also
- implemented. Branching in the dialplan can be done based on whether or not
- a channel has secure media and/or signaling.
- * Added directmediapermit/directmediadeny to limit which peers can send direct media
- to each other
- * Added the 'snom_aoc_enabled' option to turn on support for sending Advice of
- Charge messages to snom phones.
- * Added support for G.719 media streams.
- * Added support for 16khz signed linear media streams.
- * SIP is now able to bind to and communicate with IPv6 addresses. In addition,
- RTP has been outfitted with the same abilities.
- * Added support for setting the Max-Forwards: header in SIP requests. Setting is
- available in device configurations as well as in the dial plan.
- * Addition of the 'subscribe_network_change' option for turning on and off
- res_stun_monitor module support in chan_sip.
- * Addition of the 'auth_options_requests' option for turning on and off
- authentication for OPTIONS requests in chan_sip.
- IAX2 Changes
- -----------
- * Added rtsavesysname option into iax.conf to allow the systname to be saved
- on realtime updates.
- * Added the ability for chan_iax2 to inform the dialplan whether or not
- encryption is being used. This interoperates with the SIP SRTP implementation
- so that a secure SIP call can be bridged to a secure IAX call when the
- dialplan requires bridged channels to be "secure".
- * Addition of the 'subscribe_network_change' option for turning on and off
- res_stun_monitor module support in chan_iax.
- MGCP Changes
- ------------
- * Added ability to preset channel variables on indicated lines with the setvar
- configuration option. Also, clearvars=all resets the list of variables back
- to none.
- * PacketCable NCS 1.0 support has been added for Docsis/Eurodocsis Networks.
- See configs/res_pktccops.conf for more information.
- XMPP Google Talk/Jingle changes
- -------------------------------
- * Added the externip option to gtalk.conf.
- * Added the stunaddr option to gtalk.conf which allows for the automatic
- retrieval of the external ip from a stun server.
- Applications
- ------------
- * Added 'p' option to PickupChan() to allow for picking up channel by the first
- match to a partial channel name.
- * Added .m3u support for Mp3Player application.
- * Added progress option to the app_dial D() option. When progress DTMF is
- present, those values are sent immediately upon receiving a PROGRESS message
- regardless if the call has been answered or not.
- * Added functionality to the app_dial F() option to continue with execution
- at the current location when no parameters are provided.
- * Added the 'a' option to app_dial to answer the calling channel before any
- announcements or macros are executed.
- * Modified app_dial to set answertime when the called channel answers even if
- the called channel hangs up during playback of an announcement.
- * Modified app_dial 'r' option to support an additional parameter to play an
- indication tone from indications.conf
- * Added c() option to app_chanspy. This option allows custom DTMF to be set
- to cycle through the next available channel. By default this is still '*'.
- * Added x() option to app_chanspy. This option allows DTMF to be set to
- exit the application.
- * The Voicemail application has been improved to automatically ignore messages
- that only contain silence.
- * If you set maxmsg to 0 in voicemail.conf, Voicemail will consider the
- associated mailbox(es) to be greetings-only.
- * The ChanSpy application now has the 'S' option, which makes the application
- automatically exit once it hits a point where no more channels are available
- to spy on.
- * The ChanSpy application also now has the 'E' option, which spies on a single
- channel and exits when that channel hangs up.
- * The MeetMe application now turns on the DENOISE() function by default, for
- each participant. In our tests, this has significantly decreased background
- noise (especially noisy data centers).
- * Voicemail now permits storage of secrets in a separate file, located in the
- spool directory of each individual user. The control for this is located in
- the "passwordlocation" option in voicemail.conf. Please see the sample
- configuration for more information.
- * The ChanIsAvail application now exposes the returned cause code using a separate
- variable, AVAILCAUSECODE, instead of overwriting the device state in AVAILSTATUS.
- * Added 'd' option to app_followme. This option disables the "Please hold"
- announcement.
- * Added 'y' option to app_record. This option enables a mode where any DTMF digit
- received will terminate recording.
- * Voicemail now supports per mailbox settings for folders when using IMAP storage.
- Previously the folder could only be set per context, but has now been extended
- using the imapfolder option.
- * Voicemail now supports per mailbox settings for nextaftercmd and minsecs.
- * Voicemail now allows the pager date format to be specified separately from the
- email date format.
- * New applications JabberJoin, JabberLeave, and JabberSendGroup have been added
- to allow joining, leaving, and sending text to group chats.
- * MeetMe has a new option 'G' to play an announcement before joining a conference.
- * Page has a new option 'A(x)' which will playback an announcement simultaneously
- to all paged phones (and optionally excluding the caller's one using the new
- option 'n') before the call is bridged.
- * The 'f' option to Dial has been augmented to take an optional argument. If no
- argument is provided, the 'f' option works as it always has. If an argument is
- provided, then the connected party information of all outgoing channels created
- during the Dial will be set to the argument passed to the 'f' option.
- * Dial now inherits the GOSUB_RETVAL from the peer, when the U() option runs a
- Gosub on the peer.
- * The OSP lookup application adds in/outbound network ID, optional security,
- number portability, QoS reporting, destination IP port, custom info and service
- type features.
- * Added new application VMSayName that will play the recorded name of the voicemail
- user if it exists, otherwise will play the mailbox number.
- * Added custom device states to ConfBridge bridges. Use 'confbridge:<name>' to
- retrieve state for a particular bridge, where <name> is the conference name
- * app_directory now allows exiting at any time using the operator or pound key.
- * Voicemail now supports setting a locale per-mailbox.
- * Two new applications are provided for declining counting phrases in multiple
- languages. See the application notes for SayCountedNoun and SayCountedAdj for
- more information.
- * Voicemail now runs the externnotify script when pollmailboxes is activated and
- notices a change.
- * Voicemail now includes rdnis within msgXXXX.txt file.
- * Added 'D' command to ExternalIVR full details in doc/externalivr.txt
- * ParkedCall and Park can now specify the parking lot to use.
- Dialplan Functions
- ------------------
- * SRVQUERY and SRVRESULT functions added. This can be used to query and iterate
- over SRV records associated with a specific service. From the CLI, type
- 'core show function SRVQUERY' and 'core show function SRVRESULT' for more
- details on how these may be used.
- * PITCH_SHIFT dialplan function added. This function can be used to modify the
- pitch of a channel's tx and rx audio streams.
- * Added new dialplan functions CONNECTEDLINE and REDIRECTING which permits
- setting various connected line and redirecting party information.
- * CALLERID and CONNECTEDLINE dialplan functions have been extended to
- support ISDN subaddressing.
- * The CHANNEL() function now supports the "name" and "checkhangup" options.
- * For DAHDI channels, the CHANNEL() dialplan function now allows
- the dialplan to request changes in the configuration of the active
- echo canceller on the channel (if any), for the current call only.
- The syntax is:
- exten => s,n,Set(CHANNEL(echocan_mode)=off)
- The possible values are:
- on - normal mode (the echo canceller is actually reinitialized)
- off - disabled
- fax - FAX/data mode (NLP disabled if possible, otherwise completely
- disabled)
- voice - voice mode (returns from FAX mode, reverting the changes that
- were made when FAX mode was requested)
- * Added new dialplan function MASTER_CHANNEL(), which permits retrieving
- and setting variables on the channel which created the current channel.
- Administrators should take care to avoid naming conflicts, when multiple
- channels are dialled at once, especially when used with the Local channel
- construct (which all could set variables on the master channel). Usage
- of the HASH() dialplan function, with the key set to the name of the slave
- channel, is one approach that will avoid conflicts.
- * Added new dialplan function MUTEAUDIO() for muting inbound and/or outbound
- audio in a channel.
- * func_odbc now allows multiple row results to be retrieved without using
- mode=multirow. If rowlimit is set, then additional rows may be retrieved
- from the same query by using the name of the function which retrieved the
- first row as an argument to ODBC_FETCH().
- * Added JABBER_RECEIVE, which permits receiving XMPP messages from the
- dialplan. This function returns the content of the received message.
- * Added REPLACE, which searches a given variable name for a set of characters,
- then either replaces them with a single character or deletes them.
- * Added PASSTHRU, which literally passes the same argument back as its return
- value. The intent is to be able to use a literal string argument to
- functions that currently require a variable name as an argument.
- * HASH-associated variables now can be inherited across channel creation, by
- prefixing the name of the hash at assignment with the appropriate number of
- underscores, just like variables.
- * GROUP_MATCH_COUNT has been improved to allow regex matching on category
- * CHANNEL(secure_bridge_signaling) and CHANNEL(secure_bridge_media) to set/get
- whether or not channels that are bridged to the current channel will be
- required to have secure signaling and/or media.
- * CHANNEL(secure_signaling) and CHANNEL(secure_media) to get whether or not
- the current channel has secure signaling and/or media.
- * For DAHDI/ISDN channels, the CHANNEL() dialplan function now supports the
- "no_media_path" option.
- Returns "0" if there is a B channel associated with the call.
- Returns "1" if no B channel is associated with the call. The call is either
- on hold or is a call waiting call.
- * Added option to dialplan function CDR(), the 'f' option
- allows for high resolution times for billsec and duration fields.
- * FILE() now supports line-mode and writing.
- * Added FIELDNUM(), which returns the 1-based offset of a field in a list.
- * FRAME_TRACE(), for tracking internal ast_frames on a channel.
- Dialplan Variables
- ------------------
- * Added DYNAMIC_FEATURENAME which holds the last triggered dynamic feature.
- * Added DYNAMIC_PEERNAME which holds the unique channel name on the other side
- and is set when a dynamic feature is triggered.
- * Added PARKINGLOT which can be used with parkeddynamic feature.conf option
- to dynamically create a new parking lot matching the value this varible is
- set to.
- * Added PARKINGDYNAMIC which represents the template parkinglot defined in
- features.conf that should be the base for dynamic parkinglots.
- * Added PARKINGDYNCONTEXT which tells what context a newly created dynamic
- parkinglot should have.
- * Added PARKINGDYNEXTEN which tells what parking exten a newly created dynamic
- parkinglot should have.
- * Added PARKINGDYNPOS which holds what parking positions a dynamic parkinglot
- should have.
- Queue changes
- -------------
- * Added "ready" option to QUEUE_MEMBER counting to count free agents whose wrap-up
- timeout has expired.
- * Added 'R' option to app_queue. This option stops moh and indicates ringing
- to the caller when an Agent's phone is ringing. This can be used to indicate
- to the caller that their call is about to be picked up, which is nice when
- one has been on hold for an extened period of time.
- * A new config option, penaltymemberslimit, has been added to queues.conf.
- When set this option will disregard penalty settings when a queue has too
- few members.
- * A new option, 'I' has been added to both app_queue and app_dial.
- By setting this option, Asterisk will not update the caller with
- connected line changes or redirecting party changes when they occur.
- * A 'relative-periodic-announce' option has been added to queues.conf. When
- enabled, this option will cause periodic announce times to be calculated
- from the end of announcements rather than from the beginning.
- * The autopause option in queues.conf can be passed a new value, "all." The
- result is that if a member becomes auto-paused, he will be paused in all
- queues for which he is a member, not just the queue that failed to reach
- the member.
- * Added dialplan function QUEUE_EXISTS to check if a queue exists
- * The queue logger now allows events to optionally propagate to a file,
- even when realtime logging is turned on. Additionally, realtime logging
- supports sending the event arguments to 5 individual fields, although it
- will fallback to the previous data definition, if the new table layout is
- not found.
- mISDN channel driver (chan_misdn) changes
- ----------------------------------------
- * Added display_connected parameter to misdn.conf to put a display string
- in the CONNECT message containing the connected name and/or number if
- the presentation setting permits it.
- * Added display_setup parameter to misdn.conf to put a display string
- in the SETUP message containing the caller name and/or number if the
- presentation setting permits it.
- * Made misdn.conf parameters localdialplan and cpndialplan take a -1 to
- indicate the dialplan settings are to be obtained from the asterisk
- channel.
- * Made misdn.conf parameter callerid accept the "name" <number> format
- used by the rest of the system.
- * Made use the nationalprefix and internationalprefix misdn.conf
- parameters to prefix any received number from the ISDN link if that
- number has the corresponding Type-Of-Number. NOTE: This includes
- comparing the incoming call's dialed number against the MSN list.
- * Added the following new parameters: unknownprefix, netspecificprefix,
- subscriberprefix, and abbreviatedprefix in misdn.conf to prefix any
- received number from the ISDN link if that number has the corresponding
- Type-Of-Number.
- * Added new dialplan application misdn_command which permits controlling
- the CCBS/CCNR functionality.
- * Added new dialplan function mISDN_CC which permits retrieval of various
- values from an active call completion record.
- * For PTP, you should manually send the COLR of the redirected-to party
- for an incomming redirected call if the incoming call could experience
- further redirects. Just set the REDIRECTING(to-num,i) = ${EXTEN} and
- set the REDIRECTING(to-pres) to the COLR. A call has been redirected
- if the REDIRECTING(from-num) is not empty.
- * For outgoing PTP redirected calls, you now need to use the inhibit(i)
- option on all of the REDIRECTING statements before dialing the
- redirected-to party. You still have to set the REDIRECTING(to-xxx,i)
- and the REDIRECTING(from-xxx,i) values. The PTP call will update the
- redirecting-to presentation (COLR) when it becomes available.
- * Added outgoing_colp parameter to misdn.conf to filter outgoing COLP
- information.
- thirdparty mISDN enhancements
- -----------------------------
- mISDN has been modified by Digium, Inc. to greatly expand facility message
- support to allow:
- * Enhanced COLP support for call diversion and transfer.
- * CCBS/CCNR support.
- The latest modified mISDN v1.1.x based version is available at:
- http://svn.digium.com/svn/thirdparty/mISDN/trunk
- http://svn.digium.com/svn/thirdparty/mISDNuser/trunk
- Tagged versions of the modified mISDN code are available under:
- http://svn.digium.com/svn/thirdparty/mISDN/tags
- http://svn.digium.com/svn/thirdparty/mISDNuser/tags
- libpri channel driver (chan_dahdi) DAHDI changes
- -------------------------------------------
- * The channel variable PRIREDIRECTREASON is now just a status variable
- and it is also deprecated. Use the REDIRECTING(reason) dialplan function
- to read and alter the reason.
- * For Q.SIG and ETSI PRI/BRI-PTP, you should manually send the COLR of the
- redirected-to party for an incomming redirected call if the incoming call
- could experience further redirects. Just set the
- REDIRECTING(to-num,i) = CALLERID(dnid) and set the REDIRECTING(to-pres)
- to the COLR. A call has been redirected if the REDIRECTING(count) is not
- zero.
- * For outgoing Q.SIG and ETSI PRI/BRI-PTP redirected calls, you need to
- use the inhibit(i) option on all of the REDIRECTING statements before
- dialing the redirected-to party. You still have to set the
- REDIRECTING(to-xxx,i) and the REDIRECTING(from-xxx,i) values. The call
- will update the redirecting-to presentation (COLR) when it becomes available.
- * Added the ability to ignore calls that are not in a Multiple Subscriber
- Number (MSN) list for PTMP CPE interfaces.
- * Added dynamic range compression support for dahdi channels. It is
- configured via the rxdrc and txdrc parameters in chan_dahdi.conf.
- * Added support for ISDN calling and called subaddress with partial support
- for connected line subaddress.
- * Added support for BRI PTMP NT mode. (Requires latest LibPRI.)
- * Added handling of received HOLD/RETRIEVE messages and the optional ability
- to transfer a held call on disconnect similar to an analog phone.
- * Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
- Will reroute/deflect an outgoing call when receive the message.
- Can use the DAHDISendCallreroutingFacility to send the message for the
- supported switches.
- * Added standard location to add options to chan_dahdi dialing:
- Dial(DAHDI/g1[/extension[/options]])
- Current options:
- K(<keypad_digits>)
- R Reverse charging indication
- * Added Reverse Charging Indication (Collect calls) send/receive option.
- Send reverse charging in SETUP message with the chan_dahdi R dialing option.
- Dial(DAHDI/g1/extension/R)
- Access received reverse charge in SETUP message by: ${CHANNEL(reversecharge)}
- (requires latest LibPRI)
- * Added ability to send/receive keypad digits in the SETUP message.
- Send keypad digits in SETUP message with the chan_dahdi K(<keypad_digits>)
- dialing option. Dial(DAHDI/g1/[extension]/K(<keypad_digits>))
- Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
- (requires latest LibPRI)
- * Added ability to send and receive ETSI Explicit Call Transfer (ECT) messages
- to eliminate tromboned calls. A tromboned call goes out an interface and comes
- back into the same interface. Tromboned calls happen because of call routing,
- call deflection, call forwarding, and call transfer.
- * Added the ability to send and receive ETSI Advice-Of-Charge messages.
- * Added the ability to support call waiting calls. (The SETUP has no B channel
- assigned.)
- * Added Malicious Call ID (MCID) event to the AMI call event class.
- * Added Message Waiting Indication (MWI) support for ISDN PTMP endpoints (phones).
- Asterisk Manager Interface
- --------------------------
- * The Hangup action now accepts a Cause header which may be used to
- set the channel's hangup cause.
- * sslprivatekey option added to manager.conf and http.conf. Adds the ability
- to specify a separate .pem file to hold a private key. By default sslcert
- is used to hold both the public and private key.
- * Options in manager.conf and http.conf with the 'ssl' prefix have been replaced
- for options containing the 'tls' prefix. For example, 'sslenable' is now
- 'tlsenable'. This has been done in effort to keep ssl and tls options consistent
- across all .conf files. All affected sample.conf files have been modified to
- reflect this change. Previous options such as 'sslenable' still work,
- but options with the 'tls' prefix are preferred.
- * Added a MuteAudio AMI action for muting inbound and/or outbound audio
- in a channel. (res_mutestream.so)
- * The configuration file manager.conf now supports a channelvars option, which
- specifies a list of channel variables to include in each channel-oriented
- event.
- * The redirect command now has new parameters ExtraContext, ExtraExtension,
- and ExtraPriority to allow redirecting the second channel to a different
- location than the first.
- * Added new event "JabberStatus" in the Jabber module to monitor buddies
- status.
- * Added a "MixMonitorMute" AMI action for muting inbound and/or outbound audio
- in a MixMonitor recording.
- * The 'iax2 show peers' output is now similar to the expected output of
- 'sip show peers'.
- * Added Advice-Of-Charge events (AOC-S, AOC-D, and AOC-E) in the new
- aoc event class.
- * Added Advice-Of-Charge manager action, AOCMessage, for generating AOC-D and
- AOC-E messages on a channel.
- * A DBGetComplete event now follows a DBGetResponse, to make the DBGet action
- conform more closely to similar events.
- * Added a new eventfilter option per user to allow whitelisting and blacklisting
- of events.
- * Added optional parkinglot variable for park command.
- * Added ConnectedLineNum and ConnectedLineName headers to AMI events/responses
- if CallerIDNum and CallerIDName headers are also present.
- Channel Event Logging
- ---------------------
- * A new interface, CEL, is introduced here. CEL logs single events, much like
- the AMI, but it differs from the AMI in that it logs to db backends much
- like CDR does; is based on the event subsystem introduced by Russell, and
- can share in all its benefits; allows multiple backends to operate like CDR;
- is specialized to event data that would be of concern to billing sytems,
- like CDR. Backends for logging and accounting calls have been produced,
- but a new CDR backend is still in development.
- CDR
- ---
- * 'linkedid' and 'peeraccount' are new CDR fields available to CDR aficionados.
- linkedid is based on uniqueID, but spreads to other channels as transfers, dials,
- etc are performed. Thus the pieces of CDR can be grouped into multilegged sets.
- * Multiple files and formats can now be specified in cdr_custom.conf.
- * cdr_syslog has been added which allows CDRs to be written directly to syslog.
- See configs/cdr_syslog.conf.sample for more information.
- * A 'sequence' field has been added to CDRs which can be combined with
- linkedid or uniqueid to uniquely identify a CDR.
- * Handling of billsec and duration field has changed. If your table definition
- specifies those fields as float,double or similar they will now be logged with
- microsecond accuracy instead of a whole integer.
- Calendaring for Asterisk
- ------------------------
- * A new set of modules were added supporing calendar integration with Asterisk.
- Dialplan functions for reading from and writing to calendars are included,
- as well as the ability to execute dialplan logic upon calendar event notifications.
- iCalendar, CalDAV, and Exchange Server calendars (via res_calendar_exchange for
- Exchange Server 2003 with no write or attendee support, and res_calendar_ews for
- Exchange Server 2007+ with full write and attendee support) are supported (Exchange
- 2003 support does not support forms-based authentication).
- Call Completion Supplementary Services for Asterisk
- ---------------------------------------------------
- * Call completion support has been added for SIP, DAHDI/ISDN, and DAHDI/analog.
- DAHDI/ISDN supports call completion for the following switch types:
- EuroIsdn(ETSI) for PTP and PTMP modes, and Qsig.
- See doc/CCSS_architecture.pdf and doc/tex/ccss.tex(asterisk.pdf) for details.
- Multicast RTP Support
- ---------------------
- * A new RTP engine and channel driver have been added which supports Multicast RTP.
- The channel driver can be used with the Page application to perform multicast RTP
- paging. The dial string format is: MulticastRTP/<type>/<destination>/<control address>
- Type can be either basic or linksys.
- Destination is the IP address and port for the RTP packets.
- Control address is specific to the linksys type and is used for sending the control
- packets unique to them.
- Security Events Framework
- -------------------------
- * Asterisk has a new C API for reporting security events. The module res_security_log
- sends these events to the "security" logger level. Currently, AMI is the only
- Asterisk component that reports security events. However, SIP support will be
- coming soon. For more information on the security events framework, see the
- "Security Events" chapter of the included documentation - doc/tex/asterisk.pdf.
- Fax
- ---
- * A technology independent fax frontend (res_fax) has been added to Asterisk.
- * A spandsp based fax backend (res_fax_spandsp) has been added.
- * The app_fax module has been deprecated in favor of the res_fax module and
- the new res_fax_spandsp backend.
- * The SendFAX and ReceiveFAX applications now send their log messages to a
- 'fax' logger level, instead of to the generic logger levels. To see these
- messages, the system's logger.conf file will need to direct the 'fax' logger
- level to one or more destinations; the logger.conf.sample file includes an
- example of how to do this. Note that if the 'fax' logger level is *not*
- directed to at least one destination, log messages generated by these
- applications will be lost, and that if the 'fax' logger level is directed to
- the console, the 'core set verbose' and 'core set debug' CLI commands will
- have no effect on whether the messages appear on the console or not.
- Miscellaneous
- -------------
- * The transmit_silence_during_record option in asterisk.conf.sample has been removed.
- Now, in order to enable transmitting silence during record the transmit_silence
- option should be used. transmit_silence_during_record remains a valid option, but
- defaults to the behavior of the transmit_silence option.
- * Addition of the Unit Test Framework API for managing registration and execution
- of unit tests with the purpose of verifying the operation of C functions.
- * SendText is now implemented in chan_gtalk and chan_jingle. It will simply send
- XMPP text messages to the remote JID.
- * Modules.conf has a new option - "require" - that marks a module as critical for
- the execution of Asterisk.
- If one of the required modules fail to load, Asterisk will exit with a return
- code set to 2.
- * An 'X' option has been added to the asterisk application which enables #exec support.
- This allows #exec to be used in asterisk.conf.
- * jabber.conf supports a new option auth_policy that toggles auto user registration.
- * A new lockconfdir option has been added to asterisk.conf to protect the
- configuration directory (/etc/asterisk by default) during reloads.
- * The parkeddynamic option has been added to features.conf to enable the creation
- of dynamic parkinglots.
- * chan_dahdi now supports reporting alarms over AMI either by channel or span via
- the reportalarms config option.
- * chan_dahdi supports dialing configuring and dialing by device file name.
- DAHDI/span-name!local!1 will use /dev/dahdi/span-name/local/1 . Likewise
- it may appear in chan_dahdi.conf as 'channel => span-name!local!1'.
- * A new options for chan_dahdi.conf: 'ignore_failed_channels'. Boolean.
- False by default. If set, chan_dahdi will ignore failed 'channel' entries.
- Handy for the above name-based syntax as it does not depend on
- initialization order.
- * The Realtime dialplan switch now caches entries for 1 second. This provides a
- significant increase in performance (about 3X) for installations using this switchtype.
- * Distributed devicestate now supports the use of the XMPP protocol, in addition to
- AIS. For more information, please see doc/distributed_devstate-XMPP.txt
- * The addition of G.719 pass-through support.
- * Added support for 16khz Speex audio. This can be enabled by using 'allow=speex16'
- during device configuration.
- * The UNISTIM channel driver (chan_unistim) has been updated to support devices that
- have less than 3 lines on the LCD.
- * Realtime now supports database failover. See the sample extconfig.conf for details.
- * The addition of improved translation path building for wideband codecs. Sample
- rate changes during translation are now avoided unless absolutely necessary.
- * The addition of the res_stun_monitor module for monitoring and reacting to network
- changes while behind a NAT.
- * DTMF: Normal and Reverse Twist acceptance values can be set in dsp.conf.
- DTMF Valid/Invalid number of hits/misses can be set in dsp.conf.
- These allow support for any Administration. Default is AT&T values.
- CLI Changes
- -----------
- * The 'core set debug' and 'core set verbose' commands, in previous versions, could
- optionally accept a filename, to apply the setting only to the code generated from
- that source file when Asterisk was built. However, there are some modules in Asterisk
- that are composed of multiple source files, so this did not result in the behavior
- that users expected. In this version, 'core set debug' and 'core set verbose'
- can optionally accept *module* names instead (with or without the .so extension),
- which applies the setting to the entire module specified, regardless of which source
- files it was built from.
- * New 'manager show settings' command showing the current settings loaded from
- manager.conf.
- * Added 'all' keyword to the CLI command "channel request hangup" so that you can send
- the channel hangup request to all channels.
- * Added a "core reload" CLI command that executes a global reload of Asterisk.
- ------------------------------------------------------------------------------
- --- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2 -------------
- ------------------------------------------------------------------------------
- SIP Changes
- -----------
- * Added support for SUBSCRIBE/NOTIFY with dialog-info based call pickups.
- Snom phones use this for call pickup of extensions that the phone is
- subscribed to.
- * Added support for setting the domain in the URI for caller of an
- outbound call by using the SIPFROMDOMAIN channel variable.
- * Added a new configuration option "remotesecret" for authentication to
- remote services. For backwards compatibility, "secret" still has the
- same function as before, but now you can configure both a remote secret and a
- local secret for mutual authentication.
- * If the channel variable ATTENDED_TRANSFER_COMPLETE_SOUND is set,
- the sound will be played to the target of an attended transfer
- * Added two new configuration options, "qualifygap" and "qualifypeers", which allow
- finer control over how many peers Asterisk will qualify and the gap between them
- when all peers need to be qualified at the same time.
- * Added a new 'ignoresdpversion' option to sip.conf. When this is enabled
- (either globally or for a specific peer), chan_sip will treat any SDP data
- it receives as new data and update the media stream accordingly. By
- default, Asterisk will only modify the media stream if the SDP session
- version received is different from the current SDP session version. This
- option is required to interoperate with devices that have non-standard SDP
- session version implementations (observed with Microsoft OCS). This option
- is disabled by default.
- * The parsing of register => lines in sip.conf has been modified to allow a port
- to be present in the "user" portion. Please see the sip.conf.sample file for more
- information
- * Added support for subscribing to MWI on a remote server and making the status available
- as a mailbox. Please see the sip.conf.sample file for more information.
- * Added a function to remove SIP headers added in the dialplan before the
- first INVITE is generated - SIPRemoveHeader()
- * Channel variables set with setvar= in a device configuration is now
- set both for inbound and outbound calls.
- * Added support for ITU G.722.1 and G.722.1C (Siren7 and Siren14) media streams.
- IAX2 changes
- ------------
- * Added immediate option to iax.conf
- * Added forceencryption option to iax.conf
- * Added Encryption and Trunk status to manager command "iaxpeers"
- Skinny Changes
- --------------
- * The configuration file now holds separate sections for devices and lines.
- Please have a look at configs/skinny.conf.sample and change your skinny.conf
- accordingly.
- DAHDI Changes
- -------------
- * chan_dahdi now supports MFC/R2 signaling when Asterisk is compiled with
- support for LibOpenR2. http://www.libopenr2.org/
- * The UK option waitfordialtone has been added for use with BT analog
- lines.
- * Added a 'faxbuffers' configuration option to chan_dahdi.conf. This option
- is used in conjunction with the 'faxdetect' configuration option. When
- 'faxbuffers' is used and fax tones are detected, the channel will dynamically
- switch to the configured faxbuffers policy. For example, to use 6 buffers
- and a 'full' buffer policy for a fax transmission, add:
- faxbuffers=>6,full
- The faxbuffers configuration will be in affect until the call is torn down.
- * Added service message support for 4ESS/5ESS switches.
- Dialplan Functions
- ------------------
- * For DAHDI channels, the CHANNEL() dialplan function now
- supports changing the channel's buffer policy (for the current
- call only), using this syntax:
- exten => s,n,Set(CHANNEL(buffers)=6,full)
- This would change the channel to the 'full' buffer policy and
- 6 (six) buffers. Possible options for this setting are the same
- as those in chan_dahdi.conf.
- * Added a new dialplan function, CURLOPT, which permits setting various
- options that may be useful with the CURL dialplan function, such as
- cookies, proxies, connection timeouts, passwords, etc.
- * Permit the syntax and synopsis fields of the corresponding dialplan
- functions to be individually set from func_odbc.conf.
- * Added debugging CLI functions to func_odbc, 'odbc read' and 'odbc write'.
- * func_odbc now may specify an insert query to execute, when the write query
- affects 0 rows (usually indicating that no such row exists).
- * Added a new dialplan function, LISTFILTER, which permits removing elements
- from a set list, by name. Uses the same general syntax as the existing CUT
- and FIELDQTY dialplan functions, which also manage lists.
- * Added REALTIME_FIELD and REALTIME_HASH, which should aid users in better
- obtaining realtime data from the dialplan.
- * Added LOCAL_PEEK, which allows access to variables in any stack frame within
- a subroutine when using the GoSub() and Return() applications.
- * Added AUDIOHOOK_INHERIT. For information on its use, please see the output
- of "core show function AUDIOHOOK_INHERIT" from the CLI
- * Added AES_ENCRYPT. For information on its use, please see the output
- of "core show function AES_ENCRYPT" from the CLI
- * Added AES_DECRYPT. For information on its use, please see the output
- of "core show function AES_DECRYPT" from the CLI
- * func_odbc now supports database transactions across multiple queries.
- Applications
- ------------
- * Scheduled meetme conferences may now have their end times extended by
- using MeetMeAdmin.
- * app_authenticate now gives the ability to select a prompt other than
- the default.
- * app_directory now pays attention to the searchcontexts setting in
- voicemail.conf and will look through all contexts, if no context is
- specified in the initial argument.
- * A new application, Originate, has been introduced, that allows asynchronous
- call origination from the dialplan.
- * Voicemail now permits setting the emailsubject and emailbody per mailbox,
- in addition to the setting in the "general" context.
- * Added ConfBridge dialplan application which does conference bridges without
- DAHDI. For information on its use, please see the output of
- "core show application ConfBridge" from the CLI.
- Miscellaneous
- -------------
- * The Asterisk CLI has a new command, "channel redirect", which is similar in
- operation to the AMI Redirect action.
- * extensions.conf now allows you to use keyword "same" to define an extension
- without actually specifying an extension. It uses exactly the same pattern
- as previously used on the last "exten" line. For example:
- exten => 123,1,NoOp(something)
- same => n,SomethingElse()
- * musiconhold.conf classes of type 'files' can now use relative directory paths,
- which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
- * All deprecated CLI commands are removed from the sourcecode. They are now handled
- by the new clialiases module. See cli_aliases.conf.sample file.
- * Times within timespecs are now accurate down to the minute. This is a change
- from historical Asterisk, which only provided timespecs rounded to the nearest
- even (read: evenly divisible by 2) minute mark.
- * The realtime switch now supports an option flag, 'p', which disables searches for
- pattern matches.
- * In addition to a time range and date range, timespecs now accept a 5th optional
- argument, timezone. This allows you to perform time checks on alternate
- timezones, especially if those daylight savings time ranges vary from your
- machine's native timezone. See GotoIfTime, ExecIfTime, IFTIME(), and timed
- includes.
- * The contrib/scripts/ directory now has a script called sip_nat_settings that will
- give you the correct output for an asterisk box behind nat. It will give you the
- externhost and localnet settings.
- * The Asterisk core now supports ITU G.722.1 and G.722.1C media streams, and
- can connect calls in passthrough mode, as well as record and play back files.
- * Successful and unsuccessful call pickup can now be alerted through sounds, by
- using pickupsound and pickupfailsound in features.conf.
- * ASTVARRUNDIR is now set to $(localstatedir)/run/asterisk by default.
- This means the asterisk pid file will now be in /var/run/asterisk/asterisk.pid on LINUX
- instead of the /var/run/asterisk.pid where it used to be. This will make
- installs as non-root easier to manage.
- CDR
- ---
- * The cdr.conf file must exist and be correctly programmed in order for CDR records to
- be written; they will no longer be explicitly written.
- Asterisk Manager Interface
- --------------------------
- * When using the AMI over HTTP, you can now include a 'SuppressEvents' header (with
- a non-empty value) in your request. If you do this, any pending AMI events will
- *not* be included in the response to your request as they would normally, but
- will be left in the event queue for the next request you make to retrieve. For
- some applications, this will allow you to guarantee that you will only see
- events in responses to 'WaitEvent' actions, and can better know when to expect them.
- To know whether the Asterisk server supports this header or not, your client can
- inspect the first response back from the server to see if it includes this header:
- Pragma: SuppressEvents
- If this is included, the server supports event suppression.
- * Added 4 new Actions to list skinny device(s) and line(s)
- SKINNYdevices
- SKINNYshowdevice
- SKINNYlines
- SKINNYshowline
- LDAP Schema File Additions
- --------------------------
- * Added AsteriskDialplan, AsteriskAccount and AsteriskMailbox objectClasses
- to allow standalone dialplan, account and mailbox entries (STRUCTURAL)
- * Added new Fields:
- - AstAccountLanguage, AstAccountTransport, AstAccountPromiscRedir,
- - AstAccountAccountCode, AstAccountSetVar, AstAccountAllowOverlap,
- - AstAccountVideoSupport, AstAccountIgnoreSDPVersion
- * Removed redundant IPaddr (there's already IPAddress)
- - Gives more configuration Flags for SIP-Users available (tested)
- - Allows to create Asterisk Attributes in defined Asterisk ObjectClasses
- without extensibleObject (which really should be the last resort); gives
- also additional possibilities for LDAP-filter
- ------------------------------------------------------------------------------
- --- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1 -------------
- ------------------------------------------------------------------------------
- Device State Handling
- ---------------------
- * The event infrastructure in Asterisk got another big update to help support
- distributed events. It currently supports distributed device state and
- distributed Voicemail MWI (Message Waiting Indication). A new module has
- been merged, res_ais, which facilitates communicating events between servers.
- It uses the SAForum AIS (Service Availability Forum Application Interface
- Specification) CLM (Cluster Management) and EVT (Event) services to maintain
- a cluster of Asterisk servers, and to share events between them. For more
- information on setting this up, see doc/distributed_devstate.txt.
- Dialplan Functions
- ------------------
- * Added a new dialplan function, AST_CONFIG(), which allows you to access
- variables from an Asterisk configuration file.
- * The JACK_HOOK function now has a c() option to supply a custom client name.
- * Added two new dialplan functions from libspeex for audio gain control and
- denoise, AGC() and DENOISE(). Both functions can be applied to the tx and
- rx directions of a channel from the dialplan.
- * The SMDI_MSG_RETRIEVE function now has the ability to search for SMDI messages
- based on other parameters. The default is still to search based on the
- forwarding station ID. However, there are new options that allow you to search
- based on the message desk terminal ID, or the message desk number.
- * TIMEOUT() has been modified to be accurate down to the millisecond.
- * ENUM*() functions now include the following new options:
- - 'u' returns the full URI and does not strip off the URI-scheme.
- - 's' triggers ISN specific rewriting
- - 'i' looks for branches into an Infrastructure ENUM tree
- - 'd' for a direct DNS lookup without any flipping of digits.
- * TXCIDNAME() has a new zone-suffix parameter (which defaults to 'e164.arpa')
- * CHANNEL() now has options for the maximum, minimum, and standard or normal
- deviation of jitter, rtt, and loss for a call using chan_sip.
- DAHDI channel driver (chan_dahdi) Changes
- ----------------------------------------
- * Channels can now be configured using named sections in chan_dahdi.conf, just
- like other channel drivers, including the use of templates.
- * The default for pridialplan has changed from 'national' to 'unknown'.
- PBX Changes
- -----------
- * It is now possible to specify a pattern match as a hint. Once a phone subscribes
- to something that matches the pattern a hint will be created using the contents
- and variables evaluated.
- * Dialplan matching has been extended to allow an extension to return to the
- PBX core to wait for more digits. This is done by using the new dialplan
- application called "Incomplete". This will permit a whole new level of
- extension control, by giving the administrator more control over early
- matches employing one of the short-circuit pattern match operators. Note
- that custom applications can trigger this same behavior by returning the
- special value AST_PBX_INCOMPLETE.
- Application Changes
- -------------------
- * Directory now permits both first and last names to be matched at the same
- time. In addition, the number of digits to enter of the name can be set in
- the arguments to Directory; previously, you could enter only 3, regardless
- of how many names are in your company. For large companies, this should be
- quite helpful.
- * Voicemail now permits a mailbox setting to wrap around from first to last
- messages, if the "messagewrap" option is set to a true value.
- * Voicemail now permits an external script to be run, for password validation.
- The script should output "VALID" or "INVALID" on stdout, depending upon the
- wish to validate or invalidate the password given. Arguments are:
- "mailbox" "context" "oldpass" "newpass". See the sample voicemail.conf for
- more details
- * Dial has a new option: F(context^extension^pri), which permits a callee to
- continue in the dialplan, at the specified label, if the caller hangs up.
- * ChanSpy and ExtenSpy have a new option, 's' which suppresses speaking the
- technology name (e.g. SIP, IAX, etc) of the channel being spied on.
- * The Jack application now has a c() option to supply a custom client name.
- * Chanspy has a new option, 'B', which can be used to "barge" on a call. This is
- like the pre-existing whisper mode, except that the spy can also talk to the
- participant on the bridged channel as well.
- * Chanspy has a new option, 'n', which will allow for the spied-on party's name
- to be spoken instead of the channel name or number. For more information on the
- use of this option, issue the command "core show application ChanSpy" from the
- Asterisk CLI.
- * Chanspy has a new option, 'd', which allows the spy to use DTMF to swap between
- spy modes. Use of this feature overrides the typical use of numeric DTMF. In other
- words, if using the 'd' option, it is not possible to enter a number to append to
- the first argument to Chanspy(). Pressing 4 will change to spy mode, pressing 5 will
- change to whisper mode, and pressing 6 will change to barge mode.
- * ExternalIVR now takes several options that affect the way it performs, as
- well as having several new commands. Please see doc/externalivr.txt for the
- complete documentation.
- * Added ability to communicate over a TCP socket instead of forking a child process for the
- ExternalIVR application.
- * ChanIsAvail has a new option, 'a', which will return all available channels instead
- of just the first one if you give the function more then one channel to check.
- * PrivacyManager now takes an option where you can specify a context where the
- given number will be matched. This way you have more control over who is allowed
- and it stops the people who blindly enter 10 digits.
- * ForkCDR has new options: 'a' updates the answer time on the new CDR; 'A' locks
- answer times, disposition, on orig CDR against updates; 'D' Copies the disposition
- from the orig CDR to the new CDR after reset; 'e' sets the 'end' time on the
- original CDR; 'R' prevents the new CDR from being reset; 's(var=val)' adds/changes
- the 'var' variable on the original CDR; 'T' forces ast_cdr_end(), ast_cdr_answer(),
- obey the LOCKED flag on cdr's in the chain, and also the ast_cdr_setvar() func.
- * The Dial() application no longer copies the language used by the caller to the callee's
- channel. If you desire for the caller's channel's language to be used for file playback
- to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" .
- * SendImage() no longer hangs up the channel on error; instead, it sets the
- status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or
- 'UNSUPPORTED'. This change makes SendImage() more consistent with other
- applications.
- * Park has a new option, 's', which silences the announcement of the parking space number.
- * A non-numeric, zero, or negative timeout specified to Dial() will now be interpreted as
- invalid input and will be assumed to mean that no timeout is desired.
- SIP Changes
- -----------
- * Added DNS manager support to registrations for peers referencing peer entries.
- DNS manager runs in the background which allows DNS lookups to be run asynchronously
- as well as periodically updating the IP address. These properties allow for
- better performance as well as recovery in the event of an IP change.
- * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve
- load/reload of large numbers of peers/users by ~40x (for large lists of peers).
- These changes also provide performance improvements for call setup and tear down.
- * Added ability to specify registration expiry time on a per registration basis in
- the register line.
- * Added support for T140 RED - redundancy in T.140 to prevent text loss due to
- lost packets.
- * Added t38pt_usertpsource option. See sip.conf.sample for details.
- * Added SIPnotify AMI command, for sending arbitrary SIP notify commands.
- * 'sip show peers' and 'sip show users' display their entries sorted in
- alphabetical order, as opposed to the order they were in, in the config
- file or database.
- * Videosupport now supports an additional option, "always", which always sets
- up video RTP ports, even on clients that don't support it. This helps with
- callfiles and certain transfers to ensure that if two video phones are
- connected, they will always share video feeds.
- IAX Changes
- -----------
- * Existing DNS manager lookups extended to check for SRV records.
- * IAX2 encryption support has been improved to support periodic key rotation
- within a call for enhanced security. The option "keyrotate" has been
- provided to disable this functionality to preserve backwards compatibility
- with older versions of IAX2 that do not support key rotation.
- CLI Changes
- -----------
- * New CLI command, "data get <path> [<search> [<filter>]]" which retrieves the
- data tree based on the given <path>.
- * New CLI command "data show providers" that will display all the registered
- callbacks.
- * New CLI command, "config reload <file.conf>" which reloads any module that
- references that particular configuration file. Also added "config list"
- which shows which configuration files are in use.
- * New CLI commands, "pri show version" and "ss7 show version" that will
- display which version of libpri and libss7 are being used, respectively.
- A new API call was added so trunk will now have to be compiled against
- a versions of libpri and libss7 that have them or it will not know that
- these libraries exist.
- * The commands "core show globals", "core set global" and "core set chanvar" has
- been deprecated in favor of the more semanticly correct "dialplan show globals",
- "dialplan set chanvar" and "dialplan set global".
- * New CLI command "dialplan show chanvar" to list all variables associated
- with a given channel.
- DNS manager changes
- -------------------
- * Addresses managed by DNS manager now can check to see if there is a DNS
- SRV record for a given domain and will use that hostname/port if present.
- AMI - The manager (TCP/TLS/HTTP)
- --------------------------------
- * The Status command now takes an optional list of variables to display
- along with channel status.
- * The QueueEntry event now also includes the channel's uniqueid
- ODBC Changes
- ------------
- * res_odbc no longer has a limit of 1023 total possible unshared connections,
- as some people were running into this limit. This limit has been increased
- to 4.2 billion.
- Queue changes
- -------------
- * The TRANSFER queue log entry now includes the the caller's original
- position in the transferred-from queue.
- * A new configuration option, "timeoutpriority" has been added. Please see the section labeled
- "QUEUE TIMING OPTIONS" in configs/queues.conf.sample for a detailed explanation of the option
- as well as an explanation about timeout options in general
- * Added a new option - C - for forcing the "answered elsewhere" flag on
- cancellation of calls in to members of the queue. This is to avoid the
- call to a member of a queue having the call listed as a "missed call".
- Realtime changes
- ----------------
- * Several (ODBC, Postgres, MySQL, SQLite) realtime drivers have been given
- adaptive capabilities. What this means in practical terms is that if your
- realtime table lacks critical fields, Asterisk will now emit warnings to
- that effect. Also, some of the realtime drivers have the ability (if
- configured) to automatically add those columns to the table with the
- correct type and length.
- Miscellaneous
- -------------
- * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND can now be set using
- the 'setvar' option to cause a given audio file to be played upon completion
- of an attended transfer. Currently it works for DAHDI, IAX2, SIP, and
- Skinny channels only.
- * You can now compile Asterisk against the Hoard Memory Allocator, see doc/hoard.txt
- for more information.
- * Config file variables may now be appended to, by using the '+=' append
- operator. This is most helpful when working with long SQL queries in
- func_odbc.conf, as the queries no longer need to be specified on a single
- line.
- * CDR config file, cdr.conf, has an added option, "initiatedseconds",
- which will add a second to the billsec when the ending
- time is set, if the number in the microseconds field of the end time is
- greater than the number of microseconds in the answer time. This allows
- users to count the 'initiated' seconds in their billing records.
- ------------------------------------------------------------------------------
- --- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0 -------------
- ------------------------------------------------------------------------------
- AMI - The manager (TCP/TLS/HTTP)
- --------------------------------
- * Manager has undergone a lot of changes, all of them documented
- in doc/manager_1_1.txt
- * Manager version has changed to 1.1
- * Added a new action 'CoreShowChannels' to list currently defined channels
- and some information about them.
- * Added a new action 'SIPshowregistry' to list SIP registrations.
- * Added TLS support for the manager interface and HTTP server
- * Added the URI redirect option for the built-in HTTP server
- * The output of CallerID in Manager events is now more consistent.
- CallerIDNum is used for number and CallerIDName for name.
- * Enable https support for builtin web server.
- See configs/http.conf.sample for details.
- * Added a new action, GetConfigJSON, which can return the contents of an
- Asterisk configuration file in JSON format. This is intended to help
- improve the performance of AJAX applications using the manager interface
- over HTTP.
- * SIP and IAX manager events now use "ChannelType" in all cases where we
- indicate channel driver. Previously, we used a mixture of "Channel"
- and "ChannelDriver" headers.
- * Added a "Bridge" action which allows you to bridge any two channels that
- are currently active on the system.
- * Added a "ListAllVoicemailUsers" action that allows you to get a list of all
- the voicemail users setup.
- * Added 'DBDel' and 'DBDelTree' manager commands.
- * cdr_manager now reports events via the "cdr" level, separating it from
- the very verbose "call" level.
- * Manager users are now stored in memory. If you change the manager account
- list (delete or add accounts) you need to reload manager.
- * Added Masquerade manager event for when a masquerade happens between
- two channels.
- * Added "manager reload" command for the CLI
- * Lots of commands that only provided information are now allowed under the
- Reporting privilege, instead of only under Call or System.
- * The IAX* commands now require either System or Reporting privilege, to
- mirror the privileges of the SIP* commands.
- * Added ability to retrieve list of categories in a config file.
- * Added ability to retrieve the content of a particular category.
- * Added ability to empty a context.
- * Created new action to create a new file.
- * Updated delete action to allow deletion by line number with respect to category.
- * Added new action insert to add new variable to category at specified line.
- * Updated action newcat to allow new category to be inserted in file above another
- existing category.
- * Added new event "JitterBufStats" in the IAX2 channel
- * Originate now requires the Originate privilege and, if you want to call out
- to a subshell, it requires the System privilege, as well. This was done to
- enhance manager security.
- * Originate now accepts codec settings with "Codecs: alaw, ulaw, h264"
- * New command: Atxfer. See doc/manager_1_1.txt for more details or
- manager show command Atxfer from the CLI
- * New command: IAXregistry. See doc/manager_1_1.txt for more details or
- manager show command IAXregistry from the CLI
- Dialplan functions
- ------------------
- * Added the DEVICE_STATE() dialplan function which allows retrieving any device
- state in the dialplan, as well as creating custom device states that are
- controllable from the dialplan.
- * Extend CALLERID() function with "pres" and "ton" parameters to
- fetch string representation of calling number presentation indicator
- and numeric representation of type of calling number value.
- * MailboxExists converted to dialplan function
- * A new option to Dial() for telling IP phones not to count the call
- as "missed" when dial times out and cancels.
- * Added LOCK(), TRYLOCK(), and UNLOCK(), which provide a single level dialplan
- mutex. No deadlocks are possible, as LOCK() only allows a single lock to be
- held for any given channel. Also, locks are automatically freed when a
- channel is hung up.
- * Added HINT() dialplan function that allows retrieving hint information.
- Hints are mappings between extensions and devices for the sake of
- determining the state of an extension. This function can retrieve the list
- of devices or the name associated with a hint.
- * Added EXTENSION_STATE() dialplan function which allows retrieving the state
- of any extension.
- * Added SYSINFO() dialplan function which allows retrieval of system information
- * Added a new dialplan function, DIALPLAN_EXISTS(), which allows you to check for
- the existence of a dialplan target.
- * Added two new dialplan functions, TOUPPER and TOLOWER, which convert a string to
- upper and lower case, respectively.
- * When bridging, Asterisk sets the BRIDGEPVTCALLID to the channel drivers unique
- ID for the call (not the Asterisk call ID or unique ID), provided that the
- channel driver supports this. For SIP, you get the SIP call-ID for the
- bridged channel which you can store in the CDR with a custom field.
- CLI Changes
- -----------
- * Added CLI permissions, config file: cli_permissions.conf
- default is to allow all commands for every local user/group.
- Also this new feature added three new CLI commands:
- - cli check permissions {<username>|@<groupname>|<username>@<groupname>} [<command>]
- - cli reload permissions
- - cli show permissions
- * New CLI command "core show hint" (usage: core show hint <exten>)
- * New CLI command "core show settings"
- * Added 'core show channels count' CLI command.
- * Added the ability to set the core debug and verbose values on a per-file basis.
- * Added 'queue pause member' and 'queue unpause member' CLI commands
- * Ability to set process limits ("ulimit") without restarting Asterisk
- * Enhanced "agi debug" to print the channel name as a prefix to the debug
- output to make debugging on busy systems much easier.
- * New CLI commands "dialplan set extenpatternmatching true/false"
- * New CLI command: "core set chanvar" to set a channel variable from the CLI.
- * Added an easy way to execute Asterisk CLI commands at startup. Any commands
- listed in the startup_commands section of cli.conf will get executed.
- * Added a CLI command, "devstate change", which allows you to set custom device
- states from the func_devstate module that provides the DEVICE_STATE() function
- and handling of the "Custom:" devices.
- * New CLI command: "sip show sched" which shows all ast_sched entries for sip,
- sorted into the different possible callbacks, with the number of entries
- currently scheduled for each. Gives you a feel for how busy the sip channel
- driver is.
- * Added 'skinny show lines verbose' CLI command. This will show the subs for every channel.
- * Cleanup another bunch of CLI commands. Now all modules follow the same schema.
- (Done by lmadsen, junky and mvanbaak during the devcon 2008)
- SIP changes
- -----------
- * Added a new 'faxdetect=yes|no' configuration option to sip.conf. When this
- option is enabled, Asterisk will watch for a CNG tone in the incoming audio
- for a received call. If it is detected, the channel will jump to the
- 'fax' extension in the dialplan.
- * The default SIP useragent= identifier now includes the Asterisk version
- * A new option, match_auth_username in sip.conf changes the matching of incoming requests.
- If set, and the incoming request carries authentication info,
- the username to match in the users list is taken from the Digest header
- rather than from the From: field. This feature is considered experimental.
- * The "musiconhold" and "musicclass" settings in sip.conf are now removed,
- since they where replaced by "mohsuggest" and "mohinterpret" in version 1.4
- * The "localmask" setting was removed in version 1.2 and the reminder about it
- being removed is now also removed.
- * A new option "busylevel" for setting a level of calls where asterisk reports
- a device as busy, to separate it from call-limit. This value is also added
- to the SIP_PEER dialplan function.
- * A new realtime family called "sipregs" is now supported to store SIP registration
- data. If this family is defined, "sippeers" will be used for configuration and
- "sipregs" for registrations. If it's not defined, "sippeers" will be used for
- registration data, as before.
- * The SIPPEER function have new options for port address, call and pickup groups
- * Added support for T.140 realtime text in SIP/RTP
- * The "checkmwi" option has been removed from sip.conf, as it is no longer
- required due to the restructuring of how MWI is handled. See the descriptions
- in this file of the "pollmailboxes" and "pollfreq" options to voicemail.conf
- for more information.
- * Added rtpdest option to CHANNEL() dialplan function.
- * Added SIPREFERRINGCONTEXT and SIPREFERREDBYHDR variables which are set when a transfer takes place.
- * SIP now adds a header to the CANCEL if the call was answered by another phone
- in the same dial command, or if the new c option in dial() is used.
- * The new default is that 100 Trying is not sent on REGISTER attempts as the RFC specifically
- states it is not needed. For phones, however, that do require it the "registertrying" option
- has been added so it can be enabled.
- * A new option called "callcounter" (global/peer/user level) enables call counters needed
- for better status reports needed for queues and SIP subscriptions. (Call-Limit was previously
- used to enable this functionality).
- * New settings for timer T1 and timer B on a global level or per device. This makes it
- possible to force timeout faster on non-responsive SIP servers. These settings are
- considered advanced, so don't use them unless you have a problem.
- * Added a dial string option to be able to set the To: header in an INVITE to any
- SIP uri.
- * Added a new global and per-peer option, qualifyfreq, which allows you to configure
- the qualify frequency.
- * Added SIP Session Timers support (RFC 4028). This prevents stuck SIP sessions that
- were not properly torn down due to network or endpoint failures during an established
- SIP session.
- * Added experimental TCP and TLS support for SIP. See doc/siptls.txt and
- configs/sip.conf.sample for more information on how it is used.
- * Added a new configuration option "authfailureevents" that enables manager events when
- a peer can't authenticate properly.
- * Added DNS manager support to registrations for peers not referencing a peer entry.
- IAX2 changes
- ------------
- * Added the trunkmaxsize configuration option to chan_iax2.
- * Added the srvlookup option to iax.conf
- * Added support for OSP. The token is set and retrieved through the CHANNEL()
- dialplan function.
- XMPP Google Talk/Jingle changes
- -------------------------------
- * Added the bindaddr option to gtalk.conf.
- Skinny changes
- -------------
- * Added skinny show device, skinny show line, and skinny show settings CLI commands.
- * Proper codec support in chan_skinny.
- * Added settings for IP and Ethernet QoS requests
- MGCP changes
- ------------
- * Added separate settings for media QoS in mgcp.conf
- Console Channel Driver changes
- ------------------------------
- * Added experimental support for video send & receive to chan_oss.
- This requires SDL and ffmpeg/avcodec, plus Video4Linux or X11 to act as
- a video source.
- Phone channel changes (chan_phone)
- ----------------------------------
- * Added G729 passthrough support to chan_phone for Sigma Designs boards.
- H.323 channel Changes
- ---------------------
- * H323 remote hold notification support added (by NOTIFY message
- and/or H.450 supplementary service)
- Local channel changes
- ---------------------
- * The device state functionality in the Local channel driver has been updated
- to indicate INUSE or NOT_INUSE when a Local channel is being used as opposed
- to just UNKNOWN if the extension exists.
- * Added jitterbuffer support for chan_local. This allows you to use the
- generic jitterbuffer on incoming calls going to Asterisk applications.
- For example, this would allow you to use a jitterbuffer for an incoming
- SIP call to Voicemail by putting a Local channel in the middle. This
- feature is enabled by using the 'j' option in the Dial string to the Local
- channel in conjunction with the existing 'n' option for local channels.
- * A 'b' option has been added which causes chan_local to return the actual channel
- that is behind it when queried. This is useful for transfer scenarios as the
- actual channel will be transferred, not the Local channel.
- Agent channel changes
- ----------------------
- * The ackcall and endcall options are now supplemented with options acceptdtmf
- and enddtmf. These allow for the DTMF keypress to be configurable. The options
- default to their old hard-coded values ('#' and '*' respectively) so this should
- not break any existing agent installations.
- DAHDI channel driver (chan_dahdi) Changes
- ----------------------------------------
- * SS7 support (via libss7 library)
- * In India, some carriers transmit CID via dtmf. Some code has been added
- that will handle some situations. The cidstart=polarity_IN choice has been added for
- those carriers that transmit CID via dtmf after a polarity change.
- * CID matching information is now shown when doing 'dialplan show'.
- * Added dahdi show version CLI command.
- * Added setvar support to chan_dahdi.conf channel entries.
- * Added two new options: mwimonitor and mwimonitornotify. These options allow
- you to enable MWI monitoring on FXO lines. When the MWI state changes,
- the script specified in the mwimonitornotify option is executed. An internal
- event indicating the new state of the mailbox is also generated, so that
- the normal MWI facilities in Asterisk work as usual.
- * Added signalling type 'auto', which attempts to use the same signalling type
- for a channel as configured in DAHDI. This is primarily designed for analog
- ports, but will also work for digital ports that are configured for FXS or FXO
- signalling types. This mode is also the default now, so if your chan_dahdi.conf
- does not specify signalling for a channel (which is unlikely as the sample
- configuration file has always recommended specifying it for every channel) then
- the 'auto' mode will be used for that channel if possible.
- * Added a 'dahdi set dnd' command to allow CLI control of the Do-Not-Disturb
- state for a channel; also ensured that the DNDState Manager event is
- emitted no matter how the DND state is set or cleared.
- New Channel Drivers
- -------------------
- * Added a new channel driver, chan_unistim. See doc/unistim.txt and
- configs/unistim.conf.sample for details. This new channel driver allows
- you to use Nortel i2002, i2004, and i2050 phones with Asterisk.
- * Added a new channel driver, chan_console, which uses portaudio as a cross
- platform audio interface. It was written as a channel driver that would
- work with Mac CoreAudio, but portaudio supports a number of other audio
- interfaces, as well. Note that this channel driver requires v19 or higher
- of portaudio; older versions have a different API.
-
- DUNDi changes
- -------------
- * Added the ability to specify arguments to the Dial application when using
- the DUNDi switch in the dialplan.
- * Added the ability to set weights for responses dynamically. This can be
- done using a global variable or a dialplan function. Using the SHELL()
- function would allow you to have an external script set the weight for
- each response.
- * Added two new dialplan functions, DUNDIQUERY and DUNDIRESULT. These
- functions will allow you to initiate a DUNDi query from the dialplan,
- find out how many results there are, and access each one.
- * Added the ability to specifiy a port for a dundi peer.
- ENUM changes
- ------------
- * Added two new dialplan functions, ENUMQUERY and ENUMRESULT. These
- functions will allow you to initiate an ENUM lookup from the dialplan,
- and Asterisk will cache the results. ENUMRESULT can be used to access
- the results without doing multiple DNS queries.
- Voicemail Changes
- -----------------
- * Added the ability to customize which sound files are used for some of the
- prompts within the Voicemail application by changing them in voicemail.conf
- * Added the ability for the "voicemail show users" CLI command to show users
- configured by the dynamic realtime configuration method.
- * MWI (Message Waiting Indication) handling has been significantly
- restructured internally to Asterisk. It is now totally event based
- instead of polling based. The voicemail application will notify other
- modules that have subscribed to MWI events when something in the mailbox
- changes.
- This also means that if any other entity outside of Asterisk is changing
- the contents of mailboxes, then the voicemail application still needs to
- poll for changes. Examples of situations that would require this option
- are web interfaces to voicemail or an email client in the case of using
- IMAP storage. So, two new options have been added to voicemail.conf
- to account for this: "pollmailboxes" and "pollfreq". See the sample
- configuration file for details.
- * Added "tw" language support
- * Added support for storage of greetings using an IMAP server
- * Added ability to customize forward, reverse, stop, and pause keys for message playback
- * SMDI is now enabled in voicemail using the smdienable option.
- * A "lockmode" option has been added to asterisk.conf to configure the file
- locking method used for voicemail, and potentially other things in the
- future. The default is the old behavior, lockfile. However, there is a
- new method, "flock", that uses a different method for situations where the
- lockfile will not work, such as on SMB/CIFS mounts.
- * Added the ability to backup deleted messages, to ease recovery in the case
- that a user accidentally deletes a message, and discovers that they need it.
- * Reworked the SMDI interface in Asterisk. The new way to access SMDI information
- is through the new functions, SMDI_MSG_RETRIEVE() and SMDI_MSG(). The file
- smdi.conf can now be configured with options to map SMDI station IDs to Asterisk
- voicemail boxes. The SMDI interface can also poll for MWI changes when some
- outside entity is modifying the state of the mailbox (such as IMAP storage or
- a web interface of some kind).
- * Added the support for marking messages as "urgent." There are two methods to accomplish
- this. One is to pass the 'U' option to VoiceMail(). Another way to mark a message as urgent
- is to specify "review=yes" in voicemail.conf. Doing this will cause allow the user to mark
- the message as urgent after he has recorded a voicemail by following the voice instructions.
- When listening to voicemails using VoiceMailMain urgent messages will be presented before other
- messages
- Queue changes
- -------------
- * Added the general option 'shared_lastcall' so that member's wrapuptime may be
- used across multiple queues.
- * Added QUEUE_VARIABLES function to set queue variables added setqueuevar and
- setqueueentryvar options for each queue, see queues.conf.sample for details.
- * Added keepstats option to queues.conf which will keep queue
- statistics during a reload.
- * setinterfacevar option in queues.conf also now sets a variable
- called MEMBERNAME which contains the member's name.
- * Added 'Strategy' field to manager event QueueParams which represents
- the queue strategy in use.
- * Added option to run macro when a queue member is connected to a caller,
- see queues.conf.sample for details.
- * app_queue now has a 'loose' option which is almost exactly like 'strict' except it
- does not count paused queue members as unavailable.
- * Added min-announce-frequency option to queues.conf which allows you to control the
- minimum amount of time between queue announcements for use when the caller's queue
- position changes frequently.
- * Added additional information to EXITWITHTIMEOUT and EXITWITHKEY events in the
- queue log.
- * Added ability for non-realtime queues to have realtime members
- * Added the "linear" strategy to queues.
- * Added the "wrandom" strategy to queues.
- * Added new channel variable QUEUE_MIN_PENALTY
- * QUEUE_MAX_PENALTY and QUEUE_MIN_PENALTY may be adjusted in mid-call by defining
- rules in queuerules.conf. See configs/queuerules.conf.sample for details
- * Added a new parameter for member definition, called state_interface. This may be
- used so that a member may be called via one interface but have a different interface's
- device state reported.
- * Added new CLI and Manager commands relating to reloading queues. From the CLI, see
- "queue reload", "queue reset stats". Also see "manager show command QueueReload" and
- "manager show command QueueReset."
- * New configuration option: randomperiodicannounce. If a list of periodic announcements is
- specified by the periodic-announce option, then one will be chosen randomly when it is time
- to play a periodic announcment
- * New configuration options: announce-position now takes two more values in addition to "yes" and
- "no." Two new options, "limit" and "more," are allowed. These are tied to another option,
- announce-position-limit. By setting announce-position to "limit" callers will only have their
- position announced if their position is less than what is specified by announce-position-limit.
- If announce-position is set to "more" then callers beyond the position specified by announce-position-limit
- will be told that their are more than announce-position-limit callers waiting.
- * Two new queue log events have been added. An ADDMEMBER event will be logged
- when a realtime queue member is added and a REMOVEMEMBER event will be logged
- when a realtime queue member is removed. Since there is no calling channel associated
- with these events, the string "REALTIME" is placed where the channel's unique id
- is typically placed.
- * The configuration method for the "joinempty" and "leavewhenempty" options has
- changed to a comma-separated list of methods of determining member availability
- instead of vague terms such as "yes," "loose," "no," and "strict." These old four
- values are still accepted for backwards-compatibility, though.
- * The average talktime is now calculated on queues. This information is reported via the
- CLI commands "queue show" and "queues show"; through the AMI events AgentComplete, QueueSummary,
- and QueueParams; and through the channelvariable QUEUETALKTIME if setinterfacevar=yes is set for
- the queue.
- MeetMe Changes
- --------------
- * The 'o' option to provide an optimization has been removed and its functionality
- has been enabled by default.
- * When a conference is created, the UNIQUEID of the channel that caused it to be
- created is stored. Then, every channel that joins the conference will have the
- MEETMEUNIQUEID channel variable set with this ID. This can be used to relate
- callers that come and go from long standing conferences.
- * Added a new application, MeetMeChannelAdmin, which is similar to MeetMeAdmin,
- except it does operations on a channel by name, instead of number in a conference.
- This is a very useful feature in combination with the 'X' option to ChanSpy.
- * Added 'C' option to Meetme which causes a caller to continue in the dialplan
- when kicked out.
- * Added new RealTime functionality to provide support for scheduled conferencing.
- This includes optional messages to the caller if they attempt to join before
- the schedule start time, or to allow the caller to join the conference early.
- Also included is optional support for limiting the number of callers per
- RealTime conference.
- * Added the S() and L() options to the MeetMe application. These are pretty
- much identical to the S() and L() options to Dial(). They let you set
- timeouts for the conference, as well as have warning sounds played to
- let the caller know how much time is left, and when it is running out.
- * Added the ability to do "meetme concise" with the "meetme" CLI command.
- This extends the concise capabilities of this CLI command to include
- listing all conferences, instead of an addition to the other sub commands
- for the "meetme" command.
- * Added the ability to specify the music on hold class used to play into the
- conference when there is only one member and the M option is used.
- * Added MEETME_INFO dialplan function which provides a way to query
- various properties of a Meetme conference.
- * Added new admin features: *81: Roll call, *82: eject all, *83: mute all,
- and *84: record in-conf
- Other Dialplan Application Changes
- ----------------------------------
- * Argument support for Gosub application
- * From the to-do lists: straighten out the app timeout args:
- Wait() app now really does 0.3 seconds- was truncating arg to an int.
- WaitExten() same as Wait().
- Congestion() - Now takes floating pt. argument.
- Busy() - now takes floating pt. argument.
- Read() - timeout now can be floating pt.
- WaitForRing() now takes floating pt timeout arg.
- SpeechBackground() -- clarified in the docstrings that the timeout is an integer seconds.
- * Added 's' option to Page application.
- * Added an optional timeout argument to the Page application.
- * Added 'E', 'V', and 'P' commands to ExternalIVR.
- * Added 'o' and 'X' options to Chanspy.
- * Added a new dialplan application, Bridge, which allows you to bridge the
- calling channel to any other active channel on the system.
- * Added the ability to specify a music on hold class to play instead of ringing
- for the SLATrunk application.
- * The Read application no longer exits the dialplan on error. Instead, it sets
- READSTATUS to ERROR, which you can catch and handle separately.
- * Added 'm' option to Directory, which lists out names, 8 at a time, instead
- of asking for verification of each name, one at a time.
- * Privacy() no longer uses privacy.conf, as all options are specifyable as
- direct options to the app.
- * AMD() has a new "maximum word length" option. "show application AMD" from the CLI
- for more details
- * GotoIfTime() now may branch based on a "false" condition, like other Goto-related applications
- * The ChannelRedirect application no longer exits the dialplan if the given channel
- does not exist. It will now set the CHANNELREDIRECT_STATUS variable to SUCCESS upon success
- or NOCHANNEL if the given channel was not found.
- * The silencethreshold setting that was previously configurable in multiple
- applications is now settable globally via dsp.conf.
- Music On Hold Changes
- ---------------------
- * A new option, "digit", has been added for music on hold classes in
- musiconhold.conf. If this is set for a music on hold class, a caller
- listening to music on hold can press this digit to switch to listening
- to this music on hold class.
- * Support for realtime music on hold has been added.
- * In conjunction with the realtime music on hold, a general section has
- been added to musiconhold.conf, its sole variable is cachertclasses. If this
- is set, then music on hold classes found in realtime will be cached in memory.
- AEL Changes
- -----------
- * AEL upgraded to use the Gosub with Arguments instead
- of Macro application, to hopefully reduce the problems
- seen with the artificially low stack ceiling that
- Macro bumps into. Macros can only call other Macros
- to a depth of 7. Tests run using gosub, show depths
- limited only by virtual memory. A small test demonstrated
- recursive call depths of 100,000 without problems.
- -- in addition to this, all apps that allowed a macro
- to be called, as in Dial, queues, etc, are now allowing
- a gosub call in similar fashion.
- * AEL now generates LOCAL(argname) declarations when it
- Set()'s the each arg name to the value of ${ARG1}, ${ARG2),
- etc. That makes the arguments local in scope. The user
- can define their own local variables in macros, now,
- by saying "local myvar=someval;" or using Set() in this
- fashion: Set(LOCAL(myvar)=someval); ("local" is now
- an AEL keyword).
- * utils/conf2ael introduced. Will convert an extensions.conf
- file into extensions.ael. Very crude and unfinished, but
- will be improved as time goes by. Should be useful for a
- first pass at conversion.
- * aelparse will now read extensions.conf to see if a referenced
- macro or context is there before issueing a warning.
- * AEL parser sets a local channel variable ~~EXTEN~~, to
- preserve the value of ${EXTEN} thru switch statements.
- * New operator in $[...] expressions: the ~~ operator serves
- as a concatenation operator. AT THE MOMENT, it is really only
- necessary and useful in AEL, especially in if() expressions.
- Operation: ${a} ~~ ${b| with force both a and b to strings, strip
- any enclosing double-quotes, and evaluate to the value of a
- concatenated with the value of b. For example if a is set to
- "xyz" and b has the value "abc", then ${a} ~~ ${b| would
- evaluate to xyzabc .
- Call Features (res_features) Changes
- ------------------------------------
- * Added the parkedcalltransfers option to features.conf
- * Added parkedcallparking option to control one touch parking w/ parking
- pickup
- * Added parkedcallhangup option to control disconnect feature w/ parking
- pickup
- * Added parkedcallrecording option to control one-touch record w/ parking
- pickup
- * Added parkedcallparking, parkedcallhangup, parkedcallrecording, and
- parkedcalltransfers option support for multiple parking lots.
- * Added BRIDGE_FEATURES variable to set available features for a channel
- * The built-in method for doing attended transfers has been updated to
- include some new options that allow you to have the transferee sent
- back to the person that did the transfer if the transfer is not successful.
- See the options "atxferdropcall", "atxferloopdelay", and "atxfercallbackretries"
- in features.conf.sample.
- * Added support for configuring named groups of custom call features in
- features.conf. This means that features can be written a single time, and
- then mapped into groups of features for different key mappings or easier
- access control.
- * Updated the ParkedCall application to allow you to not specify a parking
- extension. If you don't specify a parking space to pick up, it will grab
- the first one available.
- * Added cli command 'features reload' to reload call features from features.conf
- * Moved into core asterisk binary.
- * Changed the default setting for featuredigittimeout to 2000 ms from 500 ms.
- * Added the ability for custom parking lots to be configured with their own
- parking extension with the parkext option.
- Language Support Changes
- ------------------------
- * Brazilian Portuguese (pt-BR) in VM, and say.c was added
- * Added support for the Hungarian language for saying numbers, dates, and times.
- AGI Changes
- -----------
- * Added SPEECH commands for speech recognition. A complete listing can be found
- using agi show.
- * If app_stack is loaded, GOSUB is a native AGI command that may be used to
- invoke subroutines in the dialplan. Note that calling EXEC with Gosub
- does not behave as expected; the native command needs to be used, instead.
- * Added the ability to perform SRV lookups on fast AGI calls. To use this
- feature, simply use hagi: instead of agi: as the protocol portion
- of the URI parameter to the AGI function call in your dial plan. Also note
- that specifying a port number in the AGI URI will disable SRV lookups,
- even if you use the hagi: protocol.
- * No longer support MSG_OOB flag on HANGUP.
- Logger changes
- --------------
- * Added rotatestrategy option to logger.conf, along with two new options:
- "timestamp" which will use the time to name the logger files instead of
- sequence number; and "rotate", which rotates the names of the log files,
- similar to the way syslog rotates files.
- * Added exec_after_rotate option to logger.conf, which allows a system
- command to be run after rotation. This is primarily useful with
- rotatestrategy=rotate, to allow a limit on the number of log files kept
- and to ensure that the oldest log file gets deleted.
- * Added realtime support for the queue log
- Call Detail Records
- -------------------
- * The cdr_manager module has a [mappings] feature, like cdr_custom,
- to add fields to the manager event from the CDR variables.
- * Added cdr_adaptive_odbc, a new module that adapts to the structure of your
- backend database CDR table. Specifically, additional, non-standard
- columns are supported, merely by setting the corresponding CDR variable in
- your dialplan. In addition, you may alias any column to another name (for
- example, if you want the 'src' CDR variable to be column 'ANI' in the DB,
- simply "alias src => ANI" in the configuration file). Records may be
- posted to more than one backend, simply by specifying multiple categories
- in the configuration file. And finally, you may filter which CDRs get
- posted to each backend, by specifying a filter (which the record must
- match) for the particular category. Filters are additive (meaning all
- rules must match to post that CDR).
- * The Postgres CDR module now supports some features of the cdr_adaptive_odbc
- module. Specifically, you may add additional columns into the table and
- they will be set, if you set the corresponding CDR variable name. Also,
- if you omit columns in your database table, they will be silently skipped
- (but a record will still be inserted, based on what columns remain). Note
- that the other two features from cdr_adaptive_odbc (alias and filter) are
- not currently supported.
- * The ResetCDR application now has an 'e' option that re-enables a CDR if it
- has been disabled using the NoCDR application.
- Miscellaneous New Modules
- -------------------------
- * Added a new CDR module, cdr_sqlite3_custom.
- * Added a new realtime configuration module, res_config_sqlite
- * Added a new codec translation module, codec_resample, which re-samples
- signed linear audio between 8 kHz and 16 kHz to help support wideband
- codecs.
- * Added a new module, res_phoneprov, which allows auto-provisioning of phones
- based on configuration templates that use Asterisk dialplan function and
- variable substitution. It should be possible to create phone profiles and
- templates that work for the majority of phones provisioned over http. It
- is currently only intended to provision a single user account per phone.
- An example profile and set of templates for Polycom phones is provided.
- NOTE: Polycom firmware is not included, but should be placed in
- AST_DATA_DIR/phoneprov/configs to match up with the included templates.
- * Added a new module, app_jack, which provides interfaces to JACK, the Jack
- Audio Connection Kit (http://www.jackaudio.org/). Two interfaces are
- provided; there is a JACK() application, and a JACK_HOOK() function. Both
- interfaces create an input and output JACK port. The application makes
- these ports the endpoint of the call. The audio coming from the channel
- goes out the output port and whatever comes back in on the input port is
- what gets sent to the channel. The JACK_HOOK() function turns on a JACK
- audiohook on the channel. This lets you run the audio coming from a
- channel through JACK, and whatever comes back in is what gets forwarded
- on as the channel's audio. This is very useful for building custom
- vocoders or doing recording or analysis of the channel's audio in another
- application.
- * Added a new module, res_config_curl, which permits using a HTTP POST url
- to retrieve, create, update, and delete realtime information from a remote
- web server. Note that this module requires func_curl.so to be loaded for
- backend functionality.
- * Added a new module, res_config_ldap, which permits the use of an LDAP
- server for realtime data access.
- * Added support for writing and running your dialplan in lua using the pbx_lua
- module. See configs/extensions.lua.sample for examples of how to do this.
- Miscellaneous
- -------------
- * Ability to use libcap to set high ToS bits when non-root
- on Linux. If configure is unable to find libcap then you
- can use --with-cap to specify the path.
- * Added maxfiles option to options section of asterisk.conf which allows you to specify
- what Asterisk should set as the maximum number of open files when it loads.
- * Added the jittertargetextra configuration option.
- * Added support for setting the CoS for VLAN traffic (802.1p). See the sample
- configuration files for the IP channel drivers. The new option is "cos".
- This information is also documented in doc/qos.tex, or the IP Quality of Service
- section of asterisk.pdf.
- * When originating a call using AMI or pbx_spool that fails the reason for failure
- will now be available in the failed extension using the REASON dialplan variable.
- * Added support for reading the TOUCH_MONITOR_PREFIX channel variable.
- It allows you to configure a prefix for auto-monitor recordings.
- * A new extension pattern matching algorithm, based on a trie, is introduced
- here, that could noticeably speed up mid-sized to large dialplans.
- It is NOT used by default, as duplicating the behaviour of the old pattern
- matcher is still under development. A config file option, in extensions.conf,
- in the [general] section, called "extenpatternmatchingnew", is by default
- set to false; setting that to true will force the use of the new algorithm.
- Also, the cli commands "dialplan set extenpatternmatchingnew true/false" can
- be used to switch the algorithms at run time.
- * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
- specifying which socket to use to connect to the running Asterisk daemon
- (-s)
- * Performance enhancements to the sched facility, which is used in
- the channel drivers, etc. Added hashtabs and doubly-linked lists
- to speed up deletion; start at the beginning or end of list to
- speed up insertion.
- * Added Doubly-linked lists after the fashion of linkedlists.h. They are in
- dlinkedlists.h. Doubly-linked lists feature fast deletion times.
- Added regression tests to the tests/ dir, also.
- * Added a refcount trace feature to astobj2 for those trying to balance
- object creation, deletion; work, play; space and time. See the
- notes in astobj2.h. Also, see utils/refcounter as well, as a
- quick way to find unbalanced refcounts in what could be a sea
- of objects that were balanced.
- * Added logging to 'make update' command. See update.log
- * Added strictrtp option to rtp.conf. If enabled this will drop RTP packets that
- do not come from the remote party.
- * Added the 'n' option to the SpeechBackground application to tell it to not
- answer the channel if it has not already been answered.
- * Added a compiler flag, CHANNEL_TRACE, which permits channel tracing to be
- turned on, via the CHANNEL(trace) dialplan function. Could be useful for
- dialplan debugging.
- * iLBC source code no longer included (see UPGRADE.txt for details)
- * If compiled with DETECT_DEADLOCKS enabled and if you have glibc, then if
- deadlock is detected, a backtrace of the stack which led to the lock calls
- will be output to the CLI.
- * If compiled with DEBUG_THREADS enabled and if you have glibc, then issuing
- the "core show locks" CLI command will give lock information output as well
- as a backtrace of the stack which led to the lock calls.
- * users.conf now sports an optional alternateexts property, which permits
- allocation of additional extensions which will reach the specified user.
- * A new option for the configure script, --enable-internal-poll, has been added
- for use with systems which may have a buggy implementation of the poll system
- call. If you notice odd behavior such as the CLI being unresponsive on remote
- consoles, you may want to try using this option. This option is enabled by default
- on Darwin systems since it is known that the Darwin poll() implementation has
- odd issues.
- Timer Changes
- --------------------
- * In addition to timing from DAHDI, there is a new timing module called
- res_timing_timerfd. In order to use this, you must be running Linux with
- a kernel version 2.6.25 or newer as well as glibc 2.8 or newer. The configure
- script will be able to tell if you have the requirements. From menuselect, select
- res_timing_timerfd from the Resource Modules menu.
|