Administrator Guide: Communication Server 3

Table of Contents

Goal of the document and intended audience

This document describes the configuration steps for installing the Communication Server module.

Intended audience: installation and service delivery teams

Changes since the Communication Server 2 module

DAHDI Dependency

Communication Server no longer depends on the Dahdi Module if no interface cards are to be used. Conference are supported using ConfBridge instead of MeetMe which doesn't use DAHDI as a timing source. When installing Communication Server 3, chan_dahdi and the dahdi command in the console will only be available if the Dahdi module is installed.

Limited SS7 Support

Dependencies and minimal required versions

ALERT! The installation of the Communication Server module is only supported on Baseline 2.

Dependencies

Software and hardware

The Communication Server module requires at least version 4.8.1 of the SMP software to run correctly. Please contact Escaux Support if you are not sure which version you are running.

The Communication Server module is only supported on Baseline 2.0.0+. This implies that you require hardware that is supported by Baseline 2.0.0+.

Mandatory Modules

  • Database Server Module >= 2.2.2
  • Dahdi Module >= 1.0.0 (only for interface cards)
  • Music On Hold Module >= 1.0.0
  • SOP Base Module >= 1.8.0
  • Sounds Module >= 1.8.2

Mandatory Resources

To correctly use music-on-hold you need both of these resources:
  • MusicOnHold >= 1.6
  • MusicOnHoldSelector >= 1.1

Minimal versions of optional modules

  • SOP API >= 4.4.0
  • Application Management Server >= 3.3.4
  • CallManagement Module >= 1.6.1
  • Cisco Phone Support >= 4.2.0
  • net.Desktop Module >= 2.26.0 but net.Desktop >= 2.27.0 is recommended
  • net.Console Module >= 3.4.1
  • net.Supervisor Module >= 1.4.3
  • PUM >= 3.2.3
  • SNMP Agent Module >= 2.7.5
  • Sangoma Card Support Module >= 2.3.0
  • SNOM Phone Support >= 1.13.0
  • VMXML >= 1.3.1

Minimal versions of resources and resource compatibility

Validated resources

The following resources have been validated to be compatible with the Communication Server module.

Incompatible resources

The following resources have been found NOT compatible and NOT supported on the Communication Server module.

Unvalidated resources

Here we summarize some resources that have not been validated yet on the Communication Server module. They might be compatible, but at the same time, they might not be compatible. We cannot guarantee that they will work correctly.

ALERT! Note that not all available resources are mentionned here. If the resource is not mentionned above, it is implicitly unvalidated.

Minimal versions of actions and action compatibility

Migration task

The task MigrateActionsToCommunicationServer in its version 3.0.0 can be used to upgrade all actions to the minimal version listed below. Note that this is a tool for internal use only.

Important note: here, we only list the minimal version compatible with CS3. It is often NOT the best available version. Please check the version included in the template you use or the latest GD version and if they are above the minimal listed, use them instead.

Validated actions

  • AddToConference >= 2.0.0 (not backward compatible with CS2)
  • Answer >= 1.1
  • AutoRecall >= 2.0.0
  • Busy >= 1.05
  • CallDevices >= 1.25
  • CallDevicesByExtension >= 1.12.1
  • CallExtensions >= 1.6
  • CallInterface >= 1.7
  • CallService >= 1.3
  • CallUsersByGroup >= 1.23
  • CheckAndUpdateKey >= 1.1.0
  • CheckDate >= 1.4
  • CheckDeviceAvailablity >= 1.2
  • CheckHoliday >= 1.1
  • CheckPincode >= 1.2
  • CheckResourceGroupAvailability >= 1.3
  • Congestion >= 1.01
  • DialOnDevices >= 1.11.0
  • DirectedCallPark >= 1.2
  • Directory >= 1.0
  • DISA >= 1.3.0
  • ExtendedCallDevices >= 1.21.0
  • Foreach >= 1.1
  • GetCallInfo >= 1.1
  • GetDigit >= 1.5
  • GetEndpointAbstraction >= 1.1.0
  • GetExtensionInfo >= 1.5.1
  • GetExtensions >= 1.6.1
  • GetLastCdr >= 1.0.1
  • GetResourceInfo >= 1.1.1
  • GetSiteFromIP >= 1.2
  • GetTranslation >= 1.0.1
  • GetXpath >= 1.4
  • Goto.APPLICATION >= 1.4
  • Goto.DefaultOut >= 1.1
  • Goto.INTERFACE >= 1.41.0
  • Hangup >= 1.2
  • If >= 1.6.0
  • Intrude >= 1.2.0
  • IVR >= 1.5
  • MapDDI >= 3.1.0
  • MapNumber >= 1.16
  • Milliwatt >= 1.0
  • PageDevices >= 1.1.0
  • Park >= 1.1.2
  • PauseQueueMember >= 1.1.0
  • Pickup >= 2.2
  • PlayPrompt >= 1.3
  • PlayText >= 1.1.0
  • PlayVariable >= 1.1
  • Queue >= 1.6
  • ReceiveIM >= 1.1
  • RecordCall >= 1.2
  • RecordPrompt >= 1.25.2
  • Redirect >= 1.3
  • RemoveQueueMember >= 1.1
  • Ring >= 1.1.0
  • SendIM >= 1.1
  • SendMail >= 1.1
  • SetAccountCode >= 1.1
  • SetCallerID >= 1.7.2
  • SetChannelGroup >= 1.2.0
  • SetLanguage >= 1.2.1
  • SetMusicOnHold >= 1.1.0
  • SetRingTone >= 1.22.0
  • SetVar >= 1.02
  • STARTAPPLICATION >= 3.00
  • STARTDYNAMICAPPLICATION >= 7.3
  • STARTFAXAPPLICATION >= 3.11
  • STARTRECURRENTAPPLICATION >= 1.05
  • Supervision >= 1.3
  • Switch >= 1.0
  • Transfer >= 1.1.0
  • UnPauseQueueMember >= 1.1.0
  • Voicemail >= 1.12.1
  • VoicemailMenu >= 1.6
  • Wait >= 1.3

Incompatible actions

  • AddToConference < 2.0.0

Upgrading from Communication Server 2 module

Downgrading back to Communication Server 2 module

Configuring support for T.38

Please refer to the T.38 Documentation.

Configuring Call Admission Control

Please refer to the Call Admission Control Administration guide.

Configuring Connected Line Identification Presentation

Please refer to the Connected Line Identification Presentation Administration guide.

Multi codecs and SIP re-invite support

As of Communication Server 3.0.2, only the following setups are supported :

  • If SIP re-invite is enabled everywhere (SIP peers, SIP trunks, Communication Server), multi codecs environments are not supported.

  • If a multi codecs environment is needed, SIP re-invite must be disabled on all MeshSipTrunk interfaces to avoid double re-invite.

Voicemail language support

ALERT! The voicemail language support is available for Communication Server >= 3.6.0 with the STARTDYNAMICAPPLICATION action >= 8.4

Resource template creation

Resource templates are located in the /localization folder of the xxx.doc.tar.gz SOP template archive file. They are organized as follows :

  • /localization/{locale}/voicemail contains resources for the specified locale (nl_BE, fr_BE, ...)
  • /localization/{language}/voicemail contains resources for the specified language (fr, nl, de, ...)
  • /localization/voicemail contains the default language resources (english)

These subdirectories contains the following files :

  • subject : the email subject
  • body : the plain text formatted email body
  • body_attach : the plain text formatted body for email with an audio message attachment
  • body_ctd : the plain text formatted email body with a click-to-dial link message
  • body_html : the html formatted email body
  • body_html_attach : the html formatted body for email with an audio message attachment
  • body_html_ctd : the html formatted email body with a click-to-dial link message

The process-voicemail script which is responsible for sending translated email will first lookup to the user locale subdirectory. If the resource file doesn't exist, process-voicemail will process the user language directory. Lastly, if the language resource file is not present, the lookup will fall back to the /localization/voicemail which contains the english default resources.

Voicemail-to-email configuration

Communication Server use "DynamicApplicationVoicemailOptions" profile parameter to configure voicemail-to-email. The allowed options are :

  • attach : to attach the audio message to the email
  • html : for html formatted email
  • ctd : to add a click-to-dial link to the email

ALERT! Note: Multiple options can be used in a comma separated format except the combination of 'attach' and 'ctd'.

Start/Stop/Restart

The correct and supported method to control Communication Server start, stop and restart is to use /etc/init.d/asterisk <start|stop|restart>. Using the asterisk console to do that is not recommended and might not even work correctly in some cases.

New init replacing safetynet in 3.16.0+

Starting with version 3.16.0, the init system is also responsible to restart asterisk in case of a crash, taking over the role of safetynet. Safetynet is not used anymore.

This means that the stop command of asterisk will also disable the automatic restart, while the start command will re-enable it, without any other operation needed. This should avoid any operational mistake in forgetting to re-activate/de-activate safetynet.

In case the asterisk process exits or is killed, the init system will now immediately detect it and restart it. To avoid entering a restart loop that can be costly in cpu, in case asterisk crashes again less than 30 seconds after being restarted, the init system will wait 30 seconds before trying again.

Upgrade from pre-3.16

The best way is to stop asterisk, install the new module, then start it again.

If asterisk is left running during the upgrade, the stop or status command won't work anymore since the new init system doesn't know about the currently running asterisk instance. However, /etc/init.d/asterisk restart should always work. It was designed with for compatibility with upstart upgrade.

Should you need to recover from a weird case, you can exceptionally use the console to stop the running instance. Alternatively, use kill $(pidof asterisk). Once the old instance is stopped, start the new one normally and check the status (see below).

New commands

The /etc/init.d/asterisk script still exists and works correctly, but the following message is displayed when using it:

# /etc/init.d/asterisk status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service asterisk status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status asterisk
asterisk start/running, process 30432

This is normal since the init.d script is now a symlink to upstart (ubuntu standard on baseline2/lucid). To avoid the message you can use the new commands:
[service ]<start|stop|restart|status> asterisk
# start asterisk
asterisk start/running, process 14340
# status asterisk 
asterisk start/running, process 14340
# stop asterisk
asterisk stop/waiting
# restart asterisk
asterisk start/running, process 14588

Asterisk status

To get an overview of the current status of asterisk, use status asterisk; status asterisk-crash

  • Started, running normally
asterisk start/running, process 30432
asterisk-crash stop/waiting

  • Stopped, administratively down
asterisk stop/waiting
asterisk-crash stop/waiting

  • Stopped, unexpected incident: restarting too fast, will be restarted in 30 seconds by asterisk-crash
asterisk stop/waiting
asterisk-crash start/running, process 31590

Syslog

After a crash of asterisk, it will now be restarted immediately by the init system. The syslog will show:
Mar  5 12:00:00 00000000 init: asterisk main process ended, respawning

In case another crash occured in less than a minute later, the init system will wait 30 seconds before restarting:
Mar  5 12:00:00 00000000 init: asterisk respawning too fast, stopped
Mar  5 12:00:00 00000000 init: asterisk hit respawn limit, waiting 30 seconds to restart

And then after 30 seconds:
Mar  5 12:00:30 00000000 init: asterisk restarted

Other resources

Copyright © Escaux SA