Verba uses Cisco External Call Control (ECC) to trigger prompts for the calls controlled by CUCM.
For more information on ECC, click here.
The Cisco ECC feature relies on an external application (hosted on Verba servers in this case) that responds to external call control requests configured on various trigger points, such as translation patterns, route patterns, lines, etc. Cisco UCM provides an XML/HTTP API for ECC request, called Cisco Unified Routing Rules XML Interface (CURRI).
Inbound call flow
External person calls an internal number.
ECC is triggered on the called directory number.
CUCM sends a routing request to the Verba Announcement service (XML/HTTP API)
The Verba Announcement service decides based on the announcement configuration what to do with the call, or if the call can be established without an announcement. It returns an appropriate routing decision to the CUCM.
- CUCM based on CURRI response redirects the call to the Verba Announcement server/SIP trunk.
- The Verba Announcement service accepts caller's call and plays the announcement prompt
- The Verba Announcement service blind transfers the call back to the original callee
A new SIP Trunk pointing to the Verba Announcement server has to be created.
The SIP Trunk used for the recording cannot be used; this has to be a separate SIP Trunk. Note that it requires a custom SIPTrunkSecurityProfile,since it needs a separate incoming port at the UCM side. The same SIP Trunk can be used for inbound and outbound announcement.
The SIP trunk should deliver Diversion header and use the appropriate redirection CSS to be able to handle the redirected calls properly.
Configuring Cisco for Recording Announcement
Creating routing to the Announcement Service:
In case of proxy-based recording, the number of the announcement service has to be proxied.
Creating the External Call Control Profile:
If the outbound announcement is configured already, then the existing External Call Control Profile can be used, so Step 1-5 can be skipped.
Step 1 - Open the Cisco Unified Call Manager web interface and go to the Call Routing \ External Call Control Profile menu.
Step 2 - Click on the Add New button.
Step 3 - Provide a Name, and set the Primary Web Service setting the following way: http://verba_server_hostname:10205/ciscoannouncement
Optionally, the announcement service can redirect the call to multiple trunks and announcement service can terminate multiple trunks.
In large deployments it might be neccessary to use different CSSs for outbound announcement's outbound leg or for resolving original callee at redirection CSS.
This would also require to setup different ECCs routing the call to the desired trunk (route pattern) and assign it to the desired triggering point(s) (lines/translation patterns/route patterns).
In this case the trunk's phone number where the calls to be announced should be redirected should be set in the web service URL with ?redirectto=trunks_number.
For example, redirecting calls to 989898 can be specified by setting the url to: http://verba_server_hostname:10205/ciscoannouncement?redirectto=989898.
If not specified, then the redirection will happen to the number set in the Announcement server's config handling the CURRI request
Step 4 - Set the Call Treatment on Failures setting to Block Calls.
Step 5 - Click on the Save button.
Assigning the External Call Control Profile to the Directory Number(s):
Step 1 - Go to the Device \ Phone menu, and search for the phone device.
Step 2 - Select the phone device, then on the left side click on the directory number.
Step 3 - Set the External Call Control Profile setting to the one created earlier.
Step 4 - Click on Save button then on the Apply Config.
Step 5 - Repeat Step 1-4 at all phone devices where the inbound announcement si required.
In case of proxy-based recording, the External Call Control Profile has to be set on the patterns (which are matching to the outside numbers) pointing to the Verba Proxy server.
Configuring Verba for Cisco Recording Announcement
Step 1 - On the Verba web interface, navigate to System > Servers > Select the server which is hosting the Announcement service > Click on the Service Activation tab.
Step 2 - Activate the Verba Cisco Announcement Service by clicking on the icon.
Step 3 - Click on the Change Configuration Settings tab. Expand the Cisco Recording Announcement section.
Step 4 - Add a new SIP port by clicking on theicon at the SIP Ports setting.
Step 5 - At the right panel, provide the SIP Port number. This has to be port the SIP Trunk connecting to the Verba server on.
If secure SIP Trunk connection is required, the following settings have to be set:
SSL/TLS Certificate: The thumbprint of the Verba server certificate being used for the connection. This has to be the same certificate which was uploaded to the CUCM.
SSL/TLS Trust List: The thumbprint of the CUCM server certificate, or the thumbprint of the CA certificate which issued the CUCM server certificate. Alternatively, "*" can be used. In this case, every certificate going to be trusted, whose CA certificate can be foundin under the Trusted Root Certificate Authorities folder. If left empty, every certificate going to be trusted.
Alternatively, .crt/.cer and .key files can be used. In this case, UNC paths can be provided in the SSL/TLS Certificate and the SSL/TLS Key settings, and the SSL/TLS Key Password has to be provided.
Step 6 - Provide the announcement service SIP trunk number at the Service's Phone Number setting. (see more at ECC profile setup Step 3)
Step 7 - Set the Internal Number Pattern setting. This has to be a regex which matches to all internal line numbers.
Step 8 - If multiple announcement services are configured for redundancy, enumerate the CURRI listener address/URL of all announcement servers in Announcement Servers (URL) setting. Make sure firewall will allow this communication.
The services shares with eachother what calls they are dealing with to ensure CURRI will not redirect already redirected calls again if related call legs were handled on different servers
Step 9 - Save the changes by clicking on theicon.
Step 10 - A notification banner will appear on the top. Click on the click here link, so you will be redirected to the Configuration Tasks tab. Click on the Execute button in order to execute the changes.
Step 11 - Click on the Service Control tab.
Step 12 - Start the Verba Cisco Announcement Service by clicking on the icon.
Setting up Extensions for Inbound Announcement
Step 1 - In the Verba web interface, go to Users > Users menu.
Step 2 - Select the user from the list.
Step 3 - Under the Cisco Recording Announcement section set the Play Notification for Inbound Calls setting.
Step 4 - Click the Save.
Step 5 - A notification banner will appear on the top. Click on the click here link, and you will be redirected to the Configuration Tasks tab. Click on the Execute button in order to execute the changes.
Configuring custom prompts for users (optional)
Step 1 - Login to the Announcement server, and go to the C:\Program Files\Verba\resources\announcement folder.It is possible to configure custom notification sounds on a per user basis. To achieve this follow these steps:
Step 2 - Copy the .wma files to the conference, inbound and outbound folders.
Step 3 - Open the Verba web interface, click on the System / Servers and select the Media Repository server, or select the appropriate Configuration Profile at System / Configuration Profiles.
Step 4 - Click on the Change Configuration Settings tab. Expand the Web Application section.
Step 5 - Expand the Lync recording Announcement node, and add the names of the .wma files to the PSTN Inbound Announcement Prompt Files and the Conference Announcement Prompt Files, one in a line.
Step 6 - Click theicon to save your settings.
Step 7 - The system will notify you that the changes need to be applied to the server by restarting the involved services. Execute the required tasks.
Step 8 - Repeat the steps on each Media Repository server.
To configure the custom prompt for the users please see the User Configuration configuration.