Configuring Verba Cisco Recording Announcement for Outbound PSTN Calls
Overview
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).
Outbound call flow
Internal person calls an external number.
ECC is triggered on the called translation/route pattern 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 ringback tone
- The Verba Announcement service initiates an outbound call to the original callee
- Once original callee:
- refuses the call, or outbound call leg fails: busy tone is played to the caller and inbound call is terminated
- accepts the call: recording prompt is played to callee
- Recording prompt ends, the in and outbound call leg is replaces referred/transferred/joined together and announcement service leaves
Prerequisites
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 inbound and redirection CSS to be able to handle the redirected calls properly.
Diversion header should deliver callee in a routable form (translation issues) and inbound, rerouting CSS should resolve this number to successfully call the callee and join/replaces transfer the in and outbound call legs after announcement played
See more under SIP trunk settings.
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 inbound 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 Route Pattern(s):
Step 1 - Go to the Call Routing \ Route/Hunt \ Route Pattern menu.
Step 2 - Select the Route Pattern pointing to the Gateway or to the Route List / SIP Trunk pointing outside.
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 on all outgoing Route Patterns.
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 the icon 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.
Secure SIP Trunk Connection
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 found in 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 a value for the Internal Number/Domains Pattern parameter. The value is a regular expression that defines the internal phone numbers or number ranges to accurately identify the direction of the recorded calls.
In multi-tenant environments, if an internal pattern regular expression is defined in both the environment and the recording announcements configuration, the pattern specified in the environment configuration is used to determine the internal values, not the pattern defined in the recording announcements configuration.
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 the
icon.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 Announcement Service by clicking on the icon.
Setting up Extensions for Outbound 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 Outbound 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 (x86)\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 the
icon 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.