The upgrade is fairly smooth, and there's lots of new features. It's the deprecated stuff that bites you during the migration process.
Start the migration with reading UPGRADE.txt, and then look at the CHANGES file for details that were introduced with 1.4.0.
Make sure to read the new xxx.conf.sample files. That way you may detect new features/options that not seldomly also fix potential security issues.
Call pickup has changed, in particular you really must take a look at PICKUPMARK.
A line starting with ;-- (semicolon immediately followed by two dashes) is now treated as opening a multi-line comment, so be aware! You might disable the entirety of what is remaining in your dialplan from this point on.
Changes to watch out for:
Many similar changes for variables are described in ugprade.txt:
Later in 1.4.26.2 also this changed due to a security issue:
add this to iax.conf: calltokenoptional = 0.0.0.0/0.0.0.0
add this to the [guest] user in iax.conf: requirecalltoken=no (many guests will be using old Asterisk boxes)
In future: Upgrade the IAX peers and provide call tokens!
Start the migration with reading UPGRADE.txt, and then look at the CHANGES file for details that were introduced with 1.4.0.
Make sure to read the new xxx.conf.sample files. That way you may detect new features/options that not seldomly also fix potential security issues.
asterisk.conf
For sure you will want to have "internal_timing=yes"!extensions.conf
Hurray, you may now monitor the call park and Meet conference with hint, use "Meetme:1234" or "park:701@parkedcalls"!Call pickup has changed, in particular you really must take a look at PICKUPMARK.
A line starting with ;-- (semicolon immediately followed by two dashes) is now treated as opening a multi-line comment, so be aware! You might disable the entirety of what is remaining in your dialplan from this point on.
Changes to watch out for:
- Calling a voicemail box with flags for busy or unavailable (options b and u) must now be performed with a pipe as opposed to prepending that option to the mailbox number: "b1234" or "u4567" turns into "1234|b" and "4567|u"
- SIP_HEADER() with (Via) now needs to be written as (Via,1) in Asterisk 1.4
- LookupCIDName is deprecated. Please use the much more beautiful and easy-to-read Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})}) instead. Note that this must now typically be combined with a conditional statement like ExecIf() if you want to keep the current CallerID name in case the AstDb does not have (better) information on this caller.
Many similar changes for variables are described in ugprade.txt:
- change ${TIMESTAMP} variable to ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)} function
- change ${CALLERIDNUM} variable to ${CALLERID(num)} function
sip.conf
- In the [general] section "port=" has been renamed to "bindport=" to prevent misunderstandings
- The default for QoS settings has changed from the old TOS to the new DiffServ method. This also applies to iax.conf, by the way.
- with the new subscribemwi=yes we can finally instruct Asterisk to not send what some SIP devices consider as unsolicited NOTIFY messages (AVM Fritz!Box, Siemens Gigaset and others). This prevents SIP ERROR 481 or "Remote host cannot match NOTIFY"
BLF and hints
- you will need to set "call-limit=" to make hints (SIP SUBSCRIPTIONS) work in Asterisk 1.4
- also look at the general setting "limitonpeers=yes" and "notifyringing=yes" etc.
iax.conf
The new threading model is great, but the default of 10 threads is way too low. Symptoms include total loss of audio until the channel is hung up.- in general section, add: iaxthreadcount = 200
- in general section, add: iaxmaxthreadcount = 1000
Later in 1.4.26.2 also this changed due to a security issue:
add this to iax.conf: calltokenoptional = 0.0.0.0/0.0.0.0
add this to the [guest] user in iax.conf: requirecalltoken=no (many guests will be using old Asterisk boxes)
In future: Upgrade the IAX peers and provide call tokens!