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.
AST_CONFIG Function:
Asterisk 1.6.0 -> Asterisk 1.6.1
Added a new dialplan function, AST_CONFIG(), which allows you to access
variables from an Asterisk configuration file.
COnfBridge:
Asterisk 1.6.2 -> Asterisk 1.8
Added custom device states to ConfBridge bridges. Use 'confbridge:' to
retrieve state for a particular bridge, where is the conference name
CONSOLE (chan_console):
Asterisk 1.4 -> Asterisk 1.6.0
Console: A new console channel driver, chan_console, has been added to Asterisk.
This new module can not be loaded at the same time as chan_alsa or chan_oss. The
default modules.conf only loads one of them (chan_oss by default). So, unless you
have modified your modules.conf to not use the autoload option, then you will need
to modify modules.conf to add another "noload" line to ensure that only one of
these three modules gets loaded.
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.
DAHDI/Zaptel:
Asterisk 1.4 -> Asterisk 1.6.0
DAHDI: The chan_zap module that supported PSTN interfaces using
Zaptel has been renamed to chan_dahdi, and only supports the DAHDI
telephony driver package for PSTN interfaces. See the
Zaptel-to-DAHDI.txt file for more details on this transition.
DAHDI: The "msdstrip" option has been deprecated, as it provides no value over
the method of stripping digits in the dialplan using variable substring syntax.
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.
Asterisk 1.6.0 -> Asterisk 1.6.1
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'.
Asterisk 1.6.1 -> Asterisk 1.6.2
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.
Asterisk 1.6.2 -> Asterisk 1.8
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()
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()
dialing option. Dial(DAHDI/g1/[extension]/K())
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).
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.
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)
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.
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.
H323:
Asterisk 1.4 -> Asterisk 1.6.0
H323: The "tos" setting has changed name to "tos_audio" and "cos" to "cos_audio"
to be compatible with settings in sip.conf. The "tos" and "cos" configuration
is deprecated and will stop working in the next release of Asterisk.
H323 remote hold notification support added (by NOTIFY message
and/or H.450 supplementary service)
IAX2:
Asterisk 1.4 -> Asterisk 1.6.0
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.
Asterisk 1.6.0 -> Asterisk 1.6.1
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.
Asterisk 1.6.1.2 -> Asterisk 1.6.1.6
There have been some changes to the IAX2 protocol to address the security
concerns documented in the security advisory AST-2009-006. Please see the
IAX2 security document, doc/IAX2-security.pdf, for information regarding
backwards compatibility with versions of Asterisk that do not contain these
changes to IAX2.
Asterisk 1.6.1.2 -> Asterisk 1.6.2
Added immediate option to iax.conf
Added forceencryption option to iax.conf
Added Encryption and Trunk status to manager command "iaxpeers"
There have been some changes to the IAX2 protocol to address the security
concerns documented in the security advisory AST-2009-006. Please see the
IAX2 security document, doc/IAX2-security.pdf, for information regarding
backwards compatibility with versions of Asterisk that do not contain these
changes to IAX2.
Asterisk 1.6.2 -> Asterisk 1.8
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.
The 'iax2 show peers' output is now similar to the expected output of
'sip show peers'.
LOCAL:
Asterisk 1.4 -> Asterisk 1.6.0
chan_local.c: the comma delimiter inside the channel name has been changed to a
semicolon, in order to make the Local channel driver compatible with the comma
delimiter change in applications.
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.
MGCP:
Asterisk 1.4 -> Asterisk 1.6.0
Added separate settings for media QoS in mgcp.conf
Asterisk 1.6.1 -> Asterisk 1.6.2
The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers
has been renamed to 'directmedia', to better reflect what it actually does.
In the case of SIP, there are still re-INVITEs issued for T.38 negotiation,
starting and stopping music-on-hold, and other reasons, and the 'canreinvite'
option never had any effect on these cases, it only affected the re-INVITEs
used for direct media path setup. For MGCP and Skinny, the option was poorly
named because those protocols don't even use INVITE messages at all. For
backwards compatibility, the old option is still supported in both normal
and Realtime configuration files, but all of the sample configuration files,
Realtime/LDAP schemas, and other documentation refer to it using the new name.
Asterisk 1.6.2 -> Asterisk 1.8
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.
mISDN:
Asterisk 1.6.2 -> Asterisk 1.8
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" 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.
Enhanced COLP support for call diversion and transfer.
CCBS/CCNR support.
Multicast RTP:
Asterisk 1.6.2 -> Asterisk 1.8
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 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.
OSS (chan_oss):
Asterisk 1.4 -> Asterisk 1.6.0
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 (chan_phone):
Asterisk 1.4 -> Asterisk 1.6.0
Added G729 passthrough support to chan_phone for Sigma Designs boards.
SIP:
Asterisk 1.4 -> Asterisk 1.6.0
SIP: a small upgrade to support the "Record" button on the SNOM360,
which sends a sip INFO message with a "Record: on" or "Record: off"
header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor"
requests (by default, via '*1'), then the user-configured dialpad sequence
is generated, and recording can be started and stopped via this button. The
file names and formats are all controlled via the normal mechanisms. If the
user has not configured the automon feature, the normal "415 Unsupported media type"
is returned, and nothing is done.
SIP: The "call-limit" option is marked as deprecated. It still works in this version of
Asterisk, but will be removed in the following version. Please use the groupcount functions
in the dialplan to enforce call limits. The "limitonpeer" configuration option is
now renamed to "counteronpeer".
SIP: The "username" option is now renamed to "defaultuser" to match "defaultip".
These are used only before registration to call a peer with the uri
sip:defaultuser@defaultip
The "username" setting still work, but is deprecated and will not work in
the next version of Asterisk.
Improved NAT and STUN support.
chan_sip now can use port numbers in bindaddr, externip and externhost
options, as well as contact a STUN server to detect its external address
for the SIP socket. See sip.conf.sample, 'NAT' section.
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.
Asterisk 1.6.0 -> Asterisk 1.6.1
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.
Initially, we saw 4x improvement in call setup/destruction, but at the time
of merging, this gain has disappeared; further research will be done to try
and restore this performance improvement. Astobj2 refcounting is now used
for users, peers, and dialogs. Users are encouraged to assist in regression
testing and problem reporting!
Added ability to specify registration expiry time on a per registration basis in
the register line.
Added support for Realtime Text redundancy - T140 RED - 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.
SIP: All of the functionality in SIPCHANINFO() has been implemented in CHANNEL(),
and you should start using that function instead for retrieving information about
the channel in a technology-agnostic way.
In previous versions of Asterisk, due to the way objects were arranged in
memory by chan_sip, the order of entries in sip.conf could be adjusted to
control the behavior of matching against peers and users. The way objects
are managed has been significantly changed for reasons involving performance
and stability. A side effect of these changes is that the order of entries
in sip.conf can no longer be relied upon to control behavior.
Asterisk 1.6.1.1 -> Asterisk 1.6.1.2
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. In addition, this behavior is 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.
Asterisk 1.6.1 -> Asterisk 1.6.2
The prematuremedia option is disabled by default. Applications requiring
SIP early audio must use the Progress() dialplan application to generate
the 183 progress message.
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 subscribing to a voice mailbox on a remote server and
making the new/old message count available to local devices.
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.
Added a new 'faxdetect=yes|no' configuration option to sip.conf. When this
option is enabled, a SIP channel will go to the fax extension (if it exists)
after T38 is negotiated. This option is disabled by default.
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. In addition, this behavior is 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 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.
Added a new option "prematuremedia" that defaults to "yes". If you turn this
option on, chan_sip will not automatically initiate early media if it receives
audio from the incoming channel before there's been a progress indication.
SIP no longer sends the 183 progress message for early media by
default. Applications requiring early media should use the
progress() dialplan app to generate the progress message.
The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers
has been renamed to 'directmedia', to better reflect what it actually does.
In the case of SIP, there are still re-INVITEs issued for T.38 negotiation,
starting and stopping music-on-hold, and other reasons, and the 'canreinvite'
option never had any effect on these cases, it only affected the re-INVITEs
used for direct media path setup. For MGCP and Skinny, the option was poorly
named because those protocols don't even use INVITE messages at all. For
backwards compatibility, the old option is still supported in both normal
and Realtime configuration files, but all of the sample configuration files,
Realtime/LDAP schemas, and other documentation refer to it using the new name.
The prematuremedia option in sip.conf is from this released enabled by
default. See sip.conf.sample
Asterisk 1.6.2 -> Asterisk 1.8
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,) on each
response. This permits the master channel to know how each channel dialled
in a multi-channel setup resolved in an individual way.
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= 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.
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.
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.
SKINNY:
Asterisk 1.4 -> Asterisk 1.6.0
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
Asterisk 1.6.1 -> Asterisk 1.6.2
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.
Added 4 new Actions to AMI that lists skinny device(s) and line(s):
SKINNYdevices
SKINNYshowdevice
SKINNYlines
SKINNYshowline
The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers
has been renamed to 'directmedia', to better reflect what it actually does.
In the case of SIP, there are still re-INVITEs issued for T.38 negotiation,
starting and stopping music-on-hold, and other reasons, and the 'canreinvite'
option never had any effect on these cases, it only affected the re-INVITEs
used for direct media path setup. For MGCP and Skinny, the option was poorly
named because those protocols don't even use INVITE messages at all. For
backwards compatibility, the old option is still supported in both normal
and Realtime configuration files, but all of the sample configuration files,
Realtime/LDAP schemas, and other documentation refer to it using the new name.
skinny.conf now has separate sections for lines and devices.
Please have a look at configs/skinny.conf.sample and update
your skinny.conf.
UNISTIM:
Asterisk 1.4 -> Asterisk 1.6.0
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.
Asterisk 1.6.2 -> Asterisk 1.8
The UNISTIM channel driver (chan_unistim) has been updated to support devices that
have less than 3 lines on the LCD.
XMPP Google Talk/Jingle:
Asterisk 1.4 -> Asterisk 1.6.0
Added the bindaddr option to gtalk.conf.
Asterisk 1.6.2 -> Asterisk 1.8
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.
Distributed devicestate now supports the use of the XMPP protocol, in addition to
AIS. For more information, please see doc/distributed_devstate-XMPP.txt
SendText is now implemented in chan_gtalk and chan_jingle. It will simply send
XMPP text messages to the remote JID.