Avaya TSAPI with SIPREC
This topic provides guidelines for configuring Avaya TSAPI interface with SIPREC for CXone Multi-ACD (CXone Open).
The supported Avaya AES TSAPI versions are 8.1.3 and 10.1.
Avaya site engineer is responsible for all procedures in the Avaya environment. The procedures described in this section are by recommendation only!
Follow these steps to set up the Avaya TSAPI interface with SIPREC.
Step 1: Prepare Avaya AES TSAPI Environment
Step 2: Prepare Session Border Controllers (SBCs) to integrate with CXone Multi-ACD (CXone Open):
Step 4: Download and save the Essential Data for 3rd Party Connectivity Config in CXone Excel file. You will be required to fill in essential information as you proceed. Once you have finished entering all the necessary details and prepared your environment for CXone Multi-ACD, you must submit the Excel file to your NICE Professional Services representative.
Prepare Avaya AES TSAPI Environment
You must configure the Avaya AES TSAPI Server before you configure CXone Multi-ACD.
The supported Avaya AES TSAPI versions are 8.1.3 and 10.1.
Perform these steps to prepare the Avaya AES TSAPI environment:
Step 1: Verify the TSAPI License and Status
Step 2: Prepare the AES Environment
Step 5: Create a Secure Connection Using VPN
Step 1: Verify the TSAPI License and Status
Before configuring the Avaya TSAPI interface, you must verify that the Avaya TSAPI Service is running, and that the license is valid.
To verify the TSAPI Service and status:
-
Log in to the AES Server. The Application Enablement Services page appears.
-
From the menu, select AE Services.
-
Verify:
-
The TSAPI Service Status column is Online and that the State is Running.
-
The Licensed Mode column shows Normal Mode.
-
Step 2: Prepare the AES Environment
An Avaya site engineer is responsible for all procedures in the Avaya environment. These procedures are recommendations and guidelines only!
In an AES environment, the AES administrator must prepare the AES-CTI link connections.
To configure the switch on the AES (general guidelines):
-
Navigate to the AES webpage and login.
-
Enter your Username and Password. Click Login. The Home page appears.
-
From the menu, click Communication Manager Interface.
-
Select Switch Connections.
-
In the Switch Connections window, in the field add the switch name and click Add Connection. The Connection Details window for the new switch appears.
-
In the Switch Password field, enter the switch password. The switch password must be between 12 - 16 alphanumeric characters and identical to the password assigned to the AES service in the Communication Manager.
-
In the Confirm Switch Password field, enter the switch password again.
-
If your Communication Manager supports Processor Ethernet, select Processor Ethernet.
-
Click Apply. The Switch Connections window reappears.
-
-
Click Edit PE/CLAN IPs. The Edit Processor Ethernet IP window appears.
-
In the field provided, add the IP address of the Processor Ethernet/CLAN board, then click Add/Edit Name or IP.
-
In the AES menu, click Switch Connections to return to the Switch Connections window.
-
Click Edit H.323 Gatekeeper. The Edit H.323 Gatekeeper window appears.
-
In the field provided, enter the IP address of one of the Processor Ethernet/CLAN boards, and click Add Name or IP. Repeat this step for all Processor Ethernet/CLAN boards.
After the CTI link is configured, the administrator should verify that the AES-CTI link connection is active and in a Talking state.
To verify the CTI link:
-
From the AES webpage, select Status > Status and Control > TSAPI Service Summary.
-
Check the Status is set for Talking for the relevant AES-CTI link connection.
Step 3: Add a User
The user must be added to the system via the webpage.
This procedure must be performed together with an Avaya administrator. The AES administrator must first prepare the AES-CTI link connection.
At the end of this step, you are required to provide to NICE Professional Services:
-
User credentials.
To add a user:
-
On the AE Services menu, navigate to User Management > User Admin and click Add User.
-
In the Add User window, configure the mandatory fields:
-
User Id
-
Common Name
-
Surname
-
User Password
-
Confirm Password
-
Change the CT User setting to Yes.
-
-
Click Apply to save the information.
-
Save these user credentials in the Excel file. Once you have finished entering all the necessary details and prepared your environment, submit the Excel file to NICE Professional Services.
-
Verify that the User created successfully message appears in the Add User Results window.
-
Provide unrestricted monitoring for all devices to user:
-
On the AE Services menu, expand Security > Security Database > CTI Users and click Search Users.
-
In the Search Users window, search for the user created previously.
-
Click Search. The new user appears.
-
Click Edit.
-
In the Edit CTI User window, in the User Profile area, select Unrestricted Access.
-
Click Apply Changes.
-
In the Apply Changes to CTI User Properties, click Apply.
-
Step 4: Verify the Tlink
In the CTI Connection TSAPI configuration, the Server Name parameter uses the Tlink value.
At the end of this step, you are required to provide to NICE Professional Services:
-
Tlink name
To verify the Tlink:
-
In the AES webpage, select Security > Security Database > Tlinks.
The list of Tlinks appears in the Tlink Name column. If your site uses more than one Tlink, make sure you choose the correct Tlink, according to the switch name.
The Tlink consists of these segments:
-
AVAYA - Vendor
-
# - Separator
-
AVAYA10 - Switch / Connection Name (as defined in Communication Manager Interface> Switch Connections)
-
CSTA/CSTA-S - Non-Secure / Secure Portal
-
AES10 - AES Server Name
-
-
Save the correct Tlink name in the Excel file. Once you have finished entering all the necessary details and prepared your environment, submit the Excel file to NICE Professional Services.
-
If using the secured Tlink, verify that the TLS version is configured in the AES. Navigate to Networking > TCP/TLS Settings.
-
By default, only Support TLSv1.2 Protocol is enabled. TLSv1.2 Protocol is supported as a sole security protocol.
-
Since default certificates are no longer provided, the Avaya site engineer must generate the relevant certificate and upload it to the Avaya telephony system in CXone. Navigate to Security > Certificate Management > Server Certificates.
-
In the Server Certificates window, in the Alias column, select the certificate and click Export.
-
In the Server Certificate Export window, verify that No, do not export the private key is selected and click Export.
-
Upload this exported certificate to the Avaya telephony system in Cxone.
Step 5: Create a Secure Connection Using VPN
This step must be performed only in coordination with NICE Professional Services.
At the end this step, by completing the form in the Essential Data for 3rd Party Connectivity Config in CXone Excel file, you will provide the necessary details to NICE Professional Services, who will aid you in establishing a secure VPN connection with CXone.
SIPREC environments only are required to complete additional information in the form, so that SBC can establish a connection between SIPREC and CXone.
-
NICE Professional Services will provide you with the VPN connect form.
-
Fill out the provided form with details of your side and the necessary information for CXone Multi-ACD.
-
NICE Professional Services will coordinate with CXone teams to ensure all fields are appropriately filled out.
-
Both parties must agree on the form and details.
-
-
NICE Professional Services will schedule a collaborative call:
- To agree on the form and provided details with CXone Multi-ACD.
-
With CXone teams for VPN provisioning.
-
You will set up two VPNs: one for resiliency and one for failover.
-
Configure routing by setting up BGP over VPN with CXone Multi-ACD firewalls or create static routes to the provided IP addresses.
-
Configure NAT. NAT your endpoint behind a public IP, either advertised via BGP or using static routing.
-
Configure firewall settings:
-
Allow inbound traffic from the provided IP addresses (2) into the CTI Endpoint.
-
Open the required ports. See Ports and Protocols by Application for more information.
-
For High Availability environments, the ports mentioned above in step b must be open for all servers, active and standby.
-
-
NICE Professional Services will coordinate with CXone teams to:
-
Ensure the VPN form is correctly filled out.
-
Schedule a time with CXone teams for VPN provisioning and routing setup.
-
Test VPN tunnel, routing, and connectivity.
-
Prepare Oracle (Acme Packet) SBC
This section describes how to prepare the Oracle (Acme Packet) Session Border Controller (SBC) to integrate with CXone Multi-ACD (CXone Open).
The procedures described in this section are recommendations only. The Oracle site engineer should perform all procedures.
Workflow
Use this workflow to prepare your Oracle (Acme Packet) SBC for CXone Multi-ACD. Before beginning this workflow, you must ensure that site components are configured.
phase |
Description |
reference |
---|---|---|
Phase 1: Site Preparation | ||
Step 1: Review the prerequisites. | ||
Phase 2: Set up Oracle SBC | ||
Step 1: Verify that the license is valid and includes the Session Recording feature. SRTP requires Software TLS. | Verify the License | |
Step 2: Configure the recording realm to which the SBC connects. | Configure the Recording Realm | |
Step 3: Configure the Session Recording Server (SRS) connection. | Configure the Session Recording Server (SRS) Connection | |
Step 4: (Optional) For more than one recorder, configure the connection to the session recording group (SRG). | (Optional) Configure the Session Recording Group (SRG) | |
Step 5: Configure a SIP Interface. | Configure SIP Interfaces, Realms, and Session Agents for the SRS and SRG | |
Step 6: Configure an ingress or egress realm: | ||
Step 7: Configure a session agent. | Configure SIP Interfaces, Realms, and Session Agents for the SRS and SRG | |
Step 8: Generate UCIDs for inbound calls. | Configure the Generation of Universal Call Identifiers for Inbound Calls |
Configure the Generation of Universal Call Identifiers for Inbound Calls
The Universal Call Identifier Session Plug-in Language (SPL) plug-in for an Oracle SBC can be configured to generate or preserve a universal call identifier based on the configuration. Once a universal call identifier is generated or preserved, the system adds the value to all subsequent egress SIP requests within the session. You can also configure the plug-in to remove unwanted universal call identifier headers to avoid duplicity in egress SIP requests. Avaya UCID can be added as extension data to the session element in the metadata of a recording when SIPREC is used.
After you have performed the steps to configure the SPL plug-in to generate an Avaya UCID for every incoming call, you can verify the configuration.
-
In the Acme Packet CLI, at the opening prompt, type:
configure terminal
-
Press Enter.
The prompt changes to
YourSBC(configure)#
. -
Type:
system
-
Press Enter.
The prompt changes to
YourSBC(system)#
. -
Type the following and press Enter:
spl-config
The prompt changes to
YourSBC(spl-config)#
. -
Type the following and press Enter:
select
-
Type the following and press Enter:
show
The configuration of the SPL plug-in for generating an Avaya UCID for every incoming call displays.
-
Type the following and press Enter:
exit
The prompt changes to
YourSBC(system)#
. -
Type the following and press Enter:
exit
The prompt changes to
YourSBC(configure)#
. -
Type the following and press Enter:
exit
The prompt changes to
YourSBC#
.
(Optional) Encryption Prerequisites
-
Verifying one call leg is encrypted:
For encryption of the recorder call leg, verify that one of the other SBC call legs either going in/coming out of the SBC is encrypted.
-
Follow the Oracle documentation for configuring certificates.
Verify the License
Verify that the license is valid and includes the Session Recording feature.
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser password and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
system
-
Type the following and press Enter:
license
-
Type the following and press Enter:
show
-
Verify that the license is valid (not expired).
-
Verify that the license includes Session Recording.
-
For SRTP, verify that the license includes Software TLS.
Configure the Recording Realm
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
media-manager
-
Type the following and press Enter:
realm-config
-
Configure the realm name, type:
identifier <Name of the realm>
This must be the same as the recording realm name you define in Configuring the Session Recording Server (SRS) Connection or (Optional) Configuring the Session Recording Group (SRG).
-
Configure the interface, type the following and press Enter:
network-interfaces <interface>
For example:
network-interfaces M01:0
-
Configure the RTCP Mux feature, type the following and press Enter:
rtcp-mux enable
-
Type the following and press Enter:
done
The graphic above is for example purposes only. In a non secure environment, the media-sec- policy is blank.
Configure the Session Recording Server (SRS) Connection
The SRS is the VRSP.
-
Make sure you completed Configuring the Recording Realm.
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser password and press Enter.
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
session-router
-
Type the following and press Enter:
session-recording-server
-
Configure the SRS name, type the following and press Enter:
name <name of the SRS>
For example:
name NiceVRSP
-
(Optional) Configure the SRS description, type the following and press Enter:
description <description of the SRS>
For example:
description SignalingToVRSP
-
Configure the SRS realm, type the following and press Enter:
realm <Name of the realm>
For example:
realm recording-realm
-
Configure the SRS mode, type the following and press Enter:
mode selective
-
Configure the destination IP address, type the following and press Enter:
destination <IP address of the VRSP>
For example:
destination 192.168.10.10
-
Configure the destination port:
-
In a non-secure environment, type
port 5060
and press Enter -
In a secure environment, type
port 5061
and press Enter
-
-
Configure the transport layer protocol:
-
In a non-secure environment, for TCP as the transport layer protocol, type
transport-method TCP
and press Enter -
In a secure environment, type
DynamicTLS
and press Enter
-
-
Type the following and press Enter:
done
-
Add the SRS to a SIP Interface, Realm, or Agent Session. See Configuring SIP Interfaces, Realms, and Session Agents for the SRS and SRG.
While you can add the SRS to all three recording options, the system automatically prioritizes your selection in this order: first Agent Session, then Realm, and then SIP Interface.
-
To enable recording with recorders that expect RTP on consecutive ports (VoIP loggers), you must disable force-parity. By default, force-parity is already disabled using the force-parity parameter. To verify that force-parity is disabled, type:
configure terminal
session-router
session-recording-server
select [choose the recording server name by number]
show
The configuration of the Session Recording Server appears.
-
Check that force-parity is disabled.
-
If force-parity is enabled, type the following and press Enter:
force-parity disabled
done
-
Save and activate the configuration.
(Optional) Configure the Session Recording Group (SRG)
Configure this if you have more than one recorder.
-
Verify you completed Configuring the Recording Realm.
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser password and press Enter.
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
session-router
-
Type the following and press Enter:
session-recording-group
-
Configure the SRG name, type the following and press Enter:
name SRG:<name of the session recording group>
For example:
name SRG:NiceRecordingServer
-
(Optional) Add the SRG description, type the following and press Enter:
description <description of the SRG>
For example:
description SignalingToRecGroup
-
Configure the strategy of the SRG, for example, RoundRobin (see below). Type the strategy name and press Enter:
strategy RoundRobin
Note that a NICE VRSP pair does not support load balancing.
-
To view additional strategy options (such as Hunt, LeastBusy, PropDist, and LowSusRate), type the following and press Enter:
strategy?
-
Configure the number of session recording servers that will be allocated to the SRG, type the following and press Enter:
simultaneous-recording-servers
followed by the number of servers.
For a NICE VRSP pair, the number is 2.
-
Type
exit
and repeat this action until you reach the first superuser prompt (#), for example:NiceSBC4500(configure)# session-router
NiceSBC4500(session-router)# session-recording-group
NiceSBC4500(session-recording-group)# exit
NiceSBC4500(session-router)# exit
NiceSBC4500(configure)# exit
NiceSBC4500#
-
Specify the session recording servers to be included in the group. Type the session recording server names in quotation marks, with a space between each session recording server name, and press Enter:
"<servername1> <servername2>"
This must be the same as the recording realm name you define in Configuring the Session Recording Server (SRS) Connection.
-
Type the following and press Enter:
done
-
Type the following and press Enter:
verify-config
-
When you receive the notice Verification successful, type the following and press Enter:
save-config
-
Type the following and press Enter:
activate-config
Configure SIP Interfaces, Realms, and Session Agents for the SRS and SRG
While you can select all of these interfaces for the components above, the system will automatically prioritize the selection in this order: first session agent, then realm, and then SIP interface.
-
Verify you completed Configure the Recording Realm.
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser password and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
session-router
-
Type the following and press Enter:
sip-interface
-
Type the following and press Enter:
select
-
Select the SIP interface and type the number for that interface.
For example, if you want to record the Core-ASM SIP interface, as in the example above, type 1.
-
Define the SRS that will record the selected SIP interface, type the following and press Enter:
session-recording-server <name of the SRS>
This must be the same SRS name you defined in Configuring the Session Recording Server (SRS) Connection.
For example:
name NiceVRSP
-
Type the following and press Enter:
done
Non-secure example:
Secure example:
-
Scroll down to view the session recording server field.
-
Type
exit
several times until you reach the superuser prompt (#) level. -
Type the following and press Enter:
verify-config
-
When you receive the notice Verification successful, type the following and press Enter:
save-config
-
Type the following and press Enter:
activate-config
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser password and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
session-router
-
Go to the SIP interface, type the following and press Enter:
sip-interface
-
Type the following and press Enter:
select
In this example, the recording is not encrypted.
-
Select the SIP interface and type the number for that interface.
For example, if you want to record the Core-ASM SIP interface, as in the example above, type 1.
-
Define the SRG that will record the selected SIP interface, type the following and press Enter:
session-recording-group SRG:<name of the session recording group>
This must be the same SRG name you defined in (Optional) Configuring the Session Recording Group (SRG).
For example:
name SRG:NiceRecordingServer
. Remember to includeSRG:
before the name of the session recording group. -
Type the following and press Enter:
done
-
Type
exit
several times until you reach the superuser prompt (#) level. -
Type the following and press Enter:
verify-config
-
When you receive the notice Verification successful, type the following and press Enter:
save-config
-
Type the following and press Enter:
activate-config
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the superuser password and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
media-manager
-
Go to the SIP interface, type the following and press Enter:
realm-config
-
Type the following and press Enter:
select
The list of available realms displays with a number next to each realm.
-
In the row marked
selection
, type the number of the ingress or egress realm that you want to configure.For example, if you want to display the Core-ASM realm, type 1.
-
In the
(realm-config)#
row, type the following and press Enter:show
This displays the details of the selected realm.
-
If you are configuring the SRS, in the
(realm-config)# session-recording-server
row, enter the name of the session recording server. -
If you are configuring the SRG, in the
(realm-config)# session-recording-group
row, enter the name of the session recording group.For example:
name SRG:NiceRecordingServer
. Remember to includeSRG:
before the name of the session recording group. -
Type the following and press Enter:
done
-
Type
exit
several times until you reach the superuser prompt (#) level. -
Type the following and press Enter:
verify-config
-
When you receive the notice Verification successful, type the following and press Enter:
save-config
-
Type the following and press Enter:
activate-config
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the enable password and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
session-router
-
Type the following and press Enter:
session-agent
-
Type the following and press Enter:
select
A list of configured session agents appears.
-
Type the number of the agent that you want to record.
For example, if you want to record the Session Agent, type 1.
-
Define the session recording server that will record the selected session agent. Type the following and press Enter:
session-recording-server <name of the session recording server>
This must be the same SRS name you defined in Configure the Session Recording Server (SRS) Connection.
For example:
name NiceVRSP
. -
Type the following and press Enter:
done
The configured information for the session agent to be recorded appears.
-
Scroll down to view the session-recording-server field.
-
Type
exit
several times until you reach the enable prompt (#) level. -
Type the following and press Enter:
verify-config
-
When you receive the notice Verification successful, type the following and press Enter:
save-config
-
Type the following and press Enter:
activate-config
-
Connect to the Acme Packet CLI and type the user password.
-
Type the following and press Enter:
enable
-
Type the enable password and press Enter:
-
Type the following and press Enter:
configure terminal
-
Type the following and press Enter:
session-router
-
Type the following and press Enter:
session-agent
-
Type the following and press Enter:
select
A list of configured session agents appears.
-
Type the number of the agent that you want to record.
For example, if you want to record the Core-ASM session agent, type 1.
-
Define the session recording group (SRG) that will record the selected session agent. Type the following and press Enter:
session-recording-group SRG:<name of the session recording group>
This must be the same SRG name you defined in (Optional) Configure the Session Recording Group (SRG).
For example:
name NiceVRSP
. -
Type the following and press Enter:
done
The configured information for the session agent to be recorded appears.
-
Scroll down to view the session-recording-server field.
-
Type
exit
several times until you reach the enable prompt (#) level. -
Type the following and press Enter:
verify-config
-
When you receive the notice Verification successful, type the following and press Enter:
save-config
-
Type the following and press Enter:
activate-config
Prepare Ribbon (Sonus) SBC
This section describes how to prepare the Ribbon (Sonus) Session Border Controller (SBC) to integrate with CXone Multi-ACD (CXone Open). The information in this guide is relevant for the Ribbon 5000 and 7000 Series Core SBC and the Virtual Core SBC.
The procedures described in this guide are recommendations only and should be performed by a certified Ribbon engineer.
Verify the License
The first step in configuring the Ribbon SBC to integrate with the CXone Multi-ACD environment is to verify that the license is valid and includes the SBC-SIPREC feature.
-
Connect to the Ribbon SBC with the user name admin.
-
In the Command Line Interface (CLI) type:
show table system licenseInfo
.The license information appears.
-
Verify that the license is valid (not expired).
-
Verify that the line for the SBC-SIPREC feature includes the license ID, an expiration date that has not yet passed, and a usage limit greater than 0.
Configure an Additional Zone
An additional zone, which can be named, for example, NICE_ZONE, must be added for the recorder. The name of the zone is arbitrary, but the same name that is used to configure it must also be used to reference it in subsequent steps.
This zone must have properties similar to those shown in the example.
To create a new zone named NICE_ZONE (an example):
-
At the command line prompt in the Command Line Interface (CLI), enter:
configure
The CLI responds with this message:
Entering configuration mode private
-
At the CLI command line prompt, enter:
set addressContext default zone NICE_ZONE id 0
-
At the CLI command line prompt, enter:
set addressContext default zone NICE_ZONE sipTrunkGroup NICE_TG state enabled mode inService policy carrier 0000 country 1 localizationVariant northAmerica tgIPVersionPreference both-ipv4-and-ipv6 digitParameterHandling numberingPlan NANP_ACCESS Value for 'media mediaIpInterfaceGroupName' [LIF1,LIF2]: LIF2
-
At the CLI command line prompt, enter:
set addressContext default zone NICE_ZONE sipTrunkGroup NICE_TG ingressIpPrefix 172.0.0.0 8
-
At the CLI command line prompt, enter:
set addressContext default zone NICE_ZONE sipTrunkGroup NICE_TG signaling messageManipulation outputAdapterProfile UUID-MessageBody
-
At the CLI command line prompt, enter:
set addressContext default zone NICE_ZONE sipSigPort 1001 ipInterfaceGroupName LIF1 ipAddressV4 172.21.13.62 portNumber 5060 mode inService state enabled recorder disabled siprec enabled transportProtocolsAllowed sip-udp,sip-tcp
-
At the CLI command line prompt, enter:
commit
Configure Call Recording
There are five steps to configuring call recording.
In the PSX Manager, the information that must be configured for the trunk group named NICE_TG in Trunk Group view. See below.
The information that must be configured for the recorder profile in SRS Group Profile view is shown below. The SRS Group Profile includes information that must be passed to the other servers.
-
In the SRS Server Properties area:
-
In the Sequence Number, enter 0.
-
In the Trunkgroup ID, enter NICE_TG.
-
From the Crypto Suite Profile drop-down list, select <None>.
-
In the IPv4 Address, enter the VRSP IP address. Ask NICE Professional Services for this information.
-
In the Port V4 Number, enter 5060.
-
For SRS Server Transport, select UDP.
-
Verify that Enable SRTP is not selected.
-
Click Add/Update.
-
Click Save.
-
The information that must be configured for the routing label named RL_NICE in Routing Label view is shown below.
Call recording criteria must be configured. Note that all possibilities on the service provider side are supported.
-
Avaya Ingress Calls
The call recording criteria that must be configured for Avaya ingress calls in the PSX Manager is shown below. In this case, ingress calls are directed from the service provider (Cisco) side to the agent (Avaya) side.
-
Avaya Egress Calls
The call recording criteria that must be configured for Avaya egress calls in the PSX Manager is shown below. In this case egress calls are directed from the agent (Avaya) side to the service provider (Cisco) side.
Send a UCID to the Recorder
In an Avaya environment the Universal Call Identifier (UCID) of every call must be sent to the recorder.
For egress calls, Avaya CM generates the UCID and then converts it to the User to User Information (UUI), which is sent from the Avaya Session Manager to the Ribbon SBC in the User-to-User field of the SIP INVITE header, as shown below. In a trace, the UUI appears as a hexadecimal value, and in an Avaya CTI event it is displayed as a decimal number (the UCID). The UUI (which contains the UCID) is sent to the Ribbon SBC, which subsequently uses SIP manipulations (SMMs) to send data, including the UCID, to the recorder.
On the Avaya CM, the UUI treatment must be configured as Shared on the trunk to the Avaya Session Manager as displayed in the following image.
The UCID may or may not be included in an ingress call, that is, a call directed from the service provider to an agent, when it arrives at the Ribbon SBC. If the UCID is not included, the SBC must generate it.
If the UCID is already included in an ingress call, the SBC should not generate a different UCID.
The UCID includes an identifier of the node that created it (the ucidNodeId). The following lines provide an example of the required configuration for setting the value of the node ID that will be used in each UCID generated by the Ribbon SBC:
% set global signaling sipSigControls ucidNodeId 20
% Commit
In this example, the UCID generated by the Ribbon SBC will include the node ID 20.
If the SBC needs to generate the UCID, the node ID in the UCID generated must be a unique ID that is not used by any Avaya CM in the local network.
In order to add support for ensuring that every call has a UCID, configure a command according to the following example on the Avaya trunk group:
% set addressContext default zone ZONE3 sipTrunkGroup AVAYA_INT_TG ucidSupport passthruOrGenerate
% Commit
This command instructs the Ribbon SBC to generate the UCID when necessary or to pass through the UCID supplied in the call.
Once a call is established through the Ribbon SBC, the SBC sends a SIP INVITE message to the VRSP. After confirmation by the VRSP, the SBC forks the audio and sends it to the recorder.
The VRSP is expected to receive the UCID in the SIP INVITE message sent from the SBC during an ingress call or an egress call. In the example below of the metadata part of a SIP INVITE message sent from the SBC to the VRSP, the callid element contains the UCID.
SIP manipulations (SMMs) must be configured for the Ribbon SBC to prepare the UCID and insert it into the SIP INVITE message sent to the VRSP for both egress and ingress calls. The relevant SMMs should be allocated to the relevant trunks.
Use the following CLI commands to create the User ID, create its UCID tag, and move it to the XML Metadata v1 CallID tag.
Use the commit
command after every section. You must verify that each commit is successful before you move on to the next set of commands.
The commands below are provided as examples only. Please check that you are using the correct Zone number that corresponds to the region of the internal or external provider, and the sipTrunkGroup that corresponds to the zone and internal or external provider.
-
Configure the following two SIP manipulations for input and output using the following CLI commands.
At the end of each set of commands, enter
%commit
and verify that the commit was successful.-
For input:
var(--codeSnippetCopyLabel)set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN state enabled
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN advancedSMM enabled
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN profileType messageManipulation
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 1 message messageTypes all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header name User-to-User
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header hdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header numberOfInstances number 0
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 criterion 2 header numberOfInstances qualifier undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 operation regstore
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 headerInfo headerValue
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 from type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 from value User-to-User
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 to type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 to variableValue var5
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 to variableScopeValue dialog
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 to offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 regexp string [a-zA-Z0-9]*
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 1 regexp matchInstance one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 operation regdel
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 to type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 to variableValue var5
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 to offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 regexp string 00FA08
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 2 regexp matchInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 operation regprepend
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 from type value
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 from value UUID-
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 to type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 to variableValue var5
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 to offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 regexp string .*
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 1 action 3 regexp matchInstance one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 1 message messageTypes all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header name TO
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header hdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header numberOfInstances number 0
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 criterion 2 header numberOfInstances qualifier undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 type token
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 operation add
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 from type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 from variableValue var5
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 from offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 from length all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 to type token
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 2 action 1 to tokenValue uridisplayname
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 1 message messageTypes responseAll
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 2 variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 2 variable condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 2 variable variableID var7
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 2 variable value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 2 variable otherVariableID undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header name TO
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header hdrInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header hdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header numberOfInstances number 0
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 criterion 3 header numberOfInstances qualifier undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 operation regappend
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 from type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 from variableValue var7
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 from offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 from length all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 to type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 to value TO
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 regexp string "<.*>;tag=.*"
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 3 action 1 regexp matchInstance one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 1 message messageTypes requestAll
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 1 message methodTypes [ undefined ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 2 variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 2 variable condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 2 variable variableID var7
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 2 variable value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 2 variable otherVariableID undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header name From
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header hdrInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header hdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header numberOfInstances number 0
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 criterion 3 header numberOfInstances qualifier undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 operation regappend
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 from type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 from variableValue var7
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 from offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 from length all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 to type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 to value From
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 regexp string "<.*>;tag=.*"
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 4 action 1 regexp matchInstance one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 1 message methodTypes [ bye ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 2 variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 2 variable condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 2 variable variableID var7
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 2 variable value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 2 variable otherVariableID undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header name FROM
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header hdrInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header hdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header numberOfInstances number 0
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 criterion 3 header numberOfInstances qualifier undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 operation regappend
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 from type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 from variableValue var7
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 from offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 from length all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 to type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 to value FROM
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 regexp string "<.*>;tag=.*"
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 5 action 1 regexp matchInstance one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 1 message messageTypes response
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 1 message methodTypes [ invite ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 1 message statusCode [ 200 ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 2 variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 2 variable condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 2 variable variableID var23
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 2 variable value ""
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 criterion 2 variable otherVariableID undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 operation add
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 headerPosition last
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 from type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 from variableValue var23
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 from offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 from length all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 to type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_IN rule 6 action 1 to value X-EGRESS-UUID
% Commit -
For output:
var(--codeSnippetCopyLabel)set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT state enabled
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT advancedSMM enabled
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT profileType messageManipulation
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 1 message methodTypes [ invite ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 2 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 2 header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 2 header name User-To-User
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 operation store
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 headerInfo headerValue
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 from type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 from value User-To-User
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 to type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 to variableValue var23
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 1 to variableScopeValue dialog
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 operation regdel
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 to type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 to variableValue var23
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 to offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 regexp string 00FA08
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 2 regexp matchInstance all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 operation regprepend
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 headerPosition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 from type value
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 from value UUID-
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 to type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 to variableValue var23
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 to offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 regexp
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 regexp string .*
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 1 action 3 regexp matchInstance one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 applyMatchHeader one
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 applyMatchHdrRange undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 1 type message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 1 message
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 1 message messageTypes response
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 1 message methodTypes [ invite ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 1 message statusCode [ 200 ]
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 1 message condition undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 2 type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 2 variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 2 variable condition exist
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 2 variable variableID var5
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 criterion 2 variable otherVariableID undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 operation add
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 headerInfo undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 headerPosition last
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 paramType undefined
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 from
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 from type variable
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 from variableValue var5
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 from offset whole
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 from length all
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 to
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 to type header
set profiles signaling sipAdaptorProfile U2U_TO_SIPREC_OUT rule 2 action 1 to value X-EGRESS-UUID
% Commit
-
-
Allow transparency of the header X-EGRESS-UCID using the following CLI commands:
var(--codeSnippetCopyLabel)set profiles services transparencyProfile TP_UCID_SIPREC state enabled
set profiles services transparencyProfile TP_UCID_SIPREC sipHeader X-EGRESS-UCID
% Commit -
Configure the SIPREC metadata profile to map the X-EGRESS-UCID value from 200 OK to the SIPREC XML parameter callid using the following CLI commands:
var(--codeSnippetCopyLabel)set profiles services sipRecMetadataProfile SIPREC_MDP_MAR state enabled
set profiles services sipRecMetadataProfile SIPREC_MDP_MAR version 1
set profiles services sipRecMetadataProfile SIPREC_MDP_MAR metaDataSource fromLatest
set profiles services sipRecMetadataProfile SIPREC_MDP_MAR sipHeader X-EGRESS-UCID sipToXmlTagName callid
% Commit -
Assign the metadata profile to the In-Out Trunk Groups (including where the recording is going) using the following CLI commands.
For the first CLI command, choose the zone that corresponds to the external provider you are using (the example below uses
ZONE2
) and choose the sipTrunkGroup that corresponds to the zone and external provider (the example below usesCISCOUCM_EXT_TG
).var(--codeSnippetCopyLabel)set addressContext default zone ZONE2 sipTrunkGroup CISCOUCM_EXT_TG services transparencyProfile TP_UCID_SIPREC
set addressContext default zone NICE_ZONE sipTrunkGroup NICE_TG services sipRecMetadataProfile SIPREC_MDP_MAR
% Commit -
Assign the SIP manipulations to the Avaya trunk group.
var(--codeSnippetCopyLabel)set addressContext default zone ZONE3 sipTrunkGroup AVAYA_INT_TG signaling messageManipulation inputAdapterProfile U2U_TO_SIPREC_IN
set addressContext default zone ZONE3 sipTrunkGroup AVAYA_INT_TG signaling messageManipulation outputAdapterProfile U2U_TO_SIPREC_OUT
% Commit -
If you have successfully configured the SIP manipulations, the Signaling>Message Manipulation screen should look similar to the example below.
Configure TLS and SRTP
Follow these procedures for TLS and SRTP configuration.
-
Log into the Ribbon EMA.
The Dashboard displays.
- In the title bar, click the Administration button.
-
Click System Administration.
-
Expand License Management > Legacy License Settings.
-
In the License Info List, verify the ENCRYPT and SRTP licenses.
-
From the EMA, in the titlebar, click Configuration > Security Configuration.
-
Expand PKI and select Certificate.
-
Copy the 2 self-signed certificates to the SBC path: /obt/sonus/external.
-
For the self-signed SBC certificate, verify:
-
It has a .p12 extension
-
You know the Pass Phrase
-
-
For the NICE self-signed certificate, verify that it has a .der extension.
-
To use and apply the self-signed certificate, click + New Certificate.
-
You need to configure 2 certificates: one for the SBC, and one for CXone.
For each certificate, configure:
Parameter Name
Description
Name Enter a name. This name will be required later.
State Click Enabled.
File Name Enter the name of the certificate that was copied to the path. The value is case sensitive.
Pass Phrase For the SBC certificate only, enter the Pass Phrase. Type -
For the SBC certificate, select Local.
-
For the NICE certificate, select Remote.
-
-
Click Save.
-
Click System Provisioning.
-
Verify that the SIP Carrier Peering is selected in the drop-down list.
-
From the menu, select SIP Sig Port.
-
From the Address Context list, select the relevant Address Context.
-
From the Zone list, select the NICE_ZONE.
-
Select the SIP port row.
-
Scroll down and under Transport Protocols Allowed enable sip-tls-tcp.
-
Click Save.
-
Connect to the PSX Manager.
-
Under Entity, select Crypto Suite Profile.
-
Select the default profile.
-
The supported crypto types for NICE are:
-
AES-CM-128-HMAC- SHA1-32
-
AES-CM-128-HMAC- SHA1-80
-
-
In the Session Parameter Flag area, verify that all checkboxes are unselected.
-
From the menu, select the SRS Group Profile.
-
In the SRS Server Properties area, do this:
-
From the Crypto Suite Profile drop-down list, select Default.
-
Under SRS Server Transport, click TLS.
-
Select Enable SRTP.
-
Click Add Update.
-
Click Save.
-
Prepare AudioCodes SBC
This section describes how to prepare and configure the AudioCodes Session Border Controller (SBC) to integrate with CXone Multi-ACD (CXone Open).
The supported AudioCodes SBC version is 7.4.
The procedures described in this section are recommendations only. The AudioCodes site engineer must perform the AudioCodes preparation and configuration.
Workflow
Use this workflow to prepare your AudioCodes SBC system for CXone Multi-ACD (CXone Open).
Step 1: Verify the License
Step 2: Configure the Proxy Set for CXone Environment
Step 3: Configure the IP Group for the CXone AudioCodes SBC
Step 4: (Secure/Non-secure Environments) Configure SIP Recording
Step 5: Send a UCID to the CXone AudioCodes SBC
Workflow for Secure SIPREC
Use this workflow to prepare your AudioCodes SBC system for secure SIPREC configuration with CXone Multi-ACD (CXone Open).
Step 1: Verify the License
Step 2: (Secure Environments only) Configure the Proxy Set
Step 3: Configure Secure IP Profile
Step 4: (Secure Environments only) Configure the IP Group
Step 5: (Secure Environments only) Import and Export Certificates for SIP Recording
Step 6: (Secure/Non-secure Environments) Configure SIP Recording
Step 7: Send a UCID to the CXone AudioCodes SBC
Verify the License
Verify that the license is valid and that the SBC-SIPREC feature is supported.
-
Connect to the AudioCodes SBC via web.
-
Click the ADMINISTRATION menu.
-
Under TIME & DATE, expand MAINTENANCE and select License Key.
-
Under VOIP FEATURES, verify that the license supports SIPRec Sessions.
Configure the Proxy Set for CXone Environment
This procedure provides guidelines for configuring the SBC for the CXone AudioCodes SBC, including the IP address of the CXone AudioCodes SBC.
-
In the menu, click SIGNALING & MEDIA.
-
Under TOPOLOGY VIEW, expand CORE ENTITIES and select Proxy Sets.
-
In the list of Proxy Sets, click New.
-
In the Proxy Set window, under GENERAL:
-
In the Name field, enter a name.
-
From the SBC IPv4 SIP Interface drop-down list, select the SIP interface.
-
Click APPLY.
-
-
Scroll down and click the Proxy Address link.
-
In the Proxy Sets > Proxy Address window, click New and add IP address for CXone AudioCodes SBC.
-
In the Proxy Address window, under GENERAL, in the Proxy Address field, enter the CXone AudioCodes SBC IP address.
-
Click APPLY.
(Secure Environments only) Configure the Proxy Set
This procedure provides guidelines for configuring the SBC Proxy Set and the Proxy IP address for the CXone AudioCodes SBC for secure connection.
-
In the menu, click SIGNALING & MEDIA.
-
Under TOPOLOGY VIEW, expand CORE ENTITIES and select Proxy Sets.
-
In the list of Proxy Sets, click New.
-
In the Proxy Set window, under GENERAL:
-
In the Name field, enter a name.
-
From the SBC IPv4 SIP Interface drop-down list, select the SIP interface.
-
From the TLS Context Name drop-down list, select the TLS Context with the SBC certificate.
-
-
Scroll down and click the Proxy Address link.
-
In the Proxy Sets > Proxy Address window, click New and add the IP address for CXone AudioCodes SBC.
-
In the Proxy Address window, under GENERAL, in the Proxy Address field, enter the CXone AudioCodes SBC IP address and set the Transport Type to TLS.
-
Click APPLY.
Configure Secure IP Profile
-
From the Setup menu, go to SIGNALING & MEDIA. Under TOPOLOGY VIEW, expand CODERS & PROFILES and select IP Profiles.
-
In the list of IP Profiles, click New.
-
In the list IP Profiles window, under MEDIA SECURITY, make sure the SBC Media Security Mode is set to Secured.
-
Click APPLY.
Configure the IP Group for the CXone AudioCodes SBC
-
In the menu, click SIGNALING & MEDIA.
-
Under TOPOLOGY VIEW, expand CORE ENTITIES and select IP Groups.
-
In the list of IP Groups, click New.
-
In the IP Groups window, under GENERAL:
-
In the Index field, configure the next sequential number.
-
In the Name field, enter a name.
-
From the Topology Location drop-down list, select the location.
-
From the Type drop-down list, select Server.
-
From the Proxy Set field, select the Proxy Set for this IP Group.
-
In the IP Profile field, enter an existing IP Profile ID.
-
In the Media Realm Name field, select the existing Media Realm name.
-
-
Click APPLY.
(Secure Environments only) Configure the IP Group
Verify that the secure IP Profile was configured. See Configure Secure IP Profile.
-
In the menu, click SIGNALING & MEDIA.
-
Under TOPOLOGY VIEW, expand CORE ENTITIES and select IP Groups.
-
In the list of IP Groups, click New.
-
In the IP Groups window, under GENERAL:
-
In the Index field, configure the next sequential number.
-
In the Name field, enter a name.
-
From the Topology Location drop-down list, select the location.
-
From the Type drop-down list, select Server.
-
From the Proxy Set field, select the CXone Proxy Set for this IP Group.
-
In the IP Profile field, select the secure IP Profile previously created in Configure Secure IP Profile.
-
In the Media Realm Name field, select the existing Media Realm name.
-
-
Click APPLY.
-
Then click Save.
(Secure Environments only) Import and Export Certificates for SIP Recording
At the end of this step, you are required to provide to NICE Professional Services:
-
The certificate in PEM format
Before import, the CXone AudioCodes SBC certificate must be saved in PEM format.
-
To import the CXone AudioCodes SBC certificate to the SBC, go to SETUP > IP NETWORK. Under NETWORK VIEW, expand SECURITY and select TLS Contexts.
-
In the TLS Context window, click Trusted Root Certificates.
-
Click Import.
-
In the Import New Certificate window, click Choose File and browse to the CXone AudioCodes SBC certificate. Verify the CXone AudioCodes SBC certificate is in PEM format.
-
Click OK.
-
In the TLS Contexts window, click Certificate Information.
-
On the Certificate Information page, under CERTIFICATE, copy the text of the certificate. Create a certificate from this text.
-
Send the certificate in PEM format to the NICE Professional Services together with the CA, if exists.
(Secure/Non-secure Environments) Configure SIP Recording
This section describes the procedure for SIP Recording enablement and the SIP Recording routing configuration.
-
In the menu, click SIGNALING & MEDIA.
-
Expand SIP RECORDING and select SIP Recording Settings.
-
Under General, from the SIP Recording Metadata Format drop-down list, select either Legacy or RFC 7865 Metadata option. CXone Multi-ACD (CXone Open) supports both options. Configure according to your preferences.
-
Click APPLY.
-
Form SIP RECORDING, select SIP Recording Rules.
-
In the SIP Recording Rules area, click New.
-
In the SIP Recording Rules window, under GENERAL:
-
From the Recorded IP Group list, select the existing agent's side group ID.
-
In the Recorded Source Pattern field, enter the source prefix to be recorded.
-
In the Recorded Destination Pattern field, enter the destination prefix to be recorded.
-
From the Peer IP Group list, select the Service Provider side's group ID.
-
From the Caller list, select Both.
-
-
Under RECORDING SERVER:
-
From the Recording Server (SRS) IP Group list, select the previously created IP Group for the Recorder.
See Configure the IP Group for the CXone AudioCodes SBC or (Secure Environments only) Configure the IP Group.
-
-
Click APPLY.
-
A new row is added in the SIP Recording Routing section.
-
To save all new information, click Save.
Send a UCID to the CXone AudioCodes SBC
In an Avaya environment, the Universal Call Identifier (UCID) of every call must be sent to the CXone AudioCodes SBC.
For egress calls, Avaya CM generates the UCID and then converts it to the User to User Information (UUI), which is sent from the Avaya Session Manager to the AudioCodes SBC in the User-to-User field of the SIP INVITE header, see image below.
In a trace the UUI appears as a hexadecimal value, and in an Avaya CTI event it is displayed as a decimal number (the UCID). The UUI (which contains the UCID) is sent to the AudioCodes SBC, which subsequently sends the UCID to the CXone AudioCodes SBC.
On the Avaya CM, the UUI treatment must be configured as Shared on the trunk to the Avaya Session Manager.
The UCID may or may not be included in an ingress call, that is, a call directed from the service provider to an agent, when it arrives at the AudioCodes SBC. If the UCID is not included, the SBC must generate it.
If the UCID is already included in an ingress call, the SBC should not generate a different UCID.
Follow these steps to enable the SBC generation of the Avaya UCID in the SBC.
-
In the menu, click SIGNALING & MEDIA.
-
Under TOPOLOGY VIEW, expand CORE ENTITIES and select IP Groups.
-
In the IP Groups table, select the IP Group for Avaya and click Edit.
-
In the IP Groups window, scroll down to ADVANCED.
-
From the UUI Format drop-down list, select Enable.
-
Click Apply.
-
Click Save and then click Yes.
The UCID includes an identifier of the node that created it. Configure the value of the node ID that will be used in each UCID generated by the AudioCodes SBC.
-
Use the browser to access the AudioCodes SBC Admin Page. Input this URL:
Http://AudioCodes IP Address/AdminPage
-
Log in using your username and password.
-
Click ini Parameters.
-
In the Parameter Name field, type NetworkNodeId.
-
In the Enter Value field, enter a unique node ID. This node ID must be a unique ID that is not used by any Avaya CM in the local network.
-
Click Apply New Value.
Once a call is established through the AudioCodes SBC, the SBC sends a SIP INVITE message to the CXone AudioCodes SBC. After confirmation by the CXone AudioCodes SBC, the SBC forks the audio and sends it to the CXone AudioCodes SBC.
The CXone AudioCodes SBC is expected to receive the UCID in the SIP INVITE message sent from the SBC during an ingress call or an egress call. The following is an example of the metadata part of a SIP INVITE message sent from the SBC to the CXone AudioCodes SBC, the <ac:AvayaUCID xmlns="urn:ietfarams:xml:ns:Avaya">0015EE805586C304</ac:AvayaUCID> element contains the UCID.
For example, the UCID value here is highlighted:
<ac:AvayaUCID xmlns="urn:ietfarams:xml:ns:Avaya">0015EE805586C304</ac:AvayaUCID>
Prepare Avaya SBC for Enterprise (SBCE) Environment
This section describes how to prepare the Avaya environment for integrating the Avaya Session Border Controller for Enterprise (SBCE) with CXone Multi-ACD (CXone Open) environment for SIPREC communication.
The supported Avaya SBCE versions are 8.1.3 and 10.1.
The procedures described in this guide are recommendations only and should be performed by a certified Avaya site engineer.
For comprehensive information about configuring the Avaya switch, see the Avaya documentation.
When you perform these procedures, do not select the Avaya default value (*) in steps where a specific value (for example, a specific transport protocol) is indicated.
Workflow
Use this workflow to set up Avaya SBCE active recording with CXone Multi-ACD.
Before beginning this workflow, you must ensure that site components are configured.
-
Step 1: Configure the TLS
-
Step 2: Configure a Recording Server
-
Step 3: Create a Routing Profile
-
Step 5: Create a Recording Profile
-
Step 6: Create a Session Policy
-
Step 7: Create an Application Rule
-
Step 8: Create a Media Rule
-
Step 9: Create an Endpoint Policy Group
-
Step 10: Add a Session Flow
-
Step 11: Create a Server Flow
Configure the TLS
Before you begin, make sure the TLS Port and TLS Client profile is configured correctly for internal signaling leg under Network & Flows > Signaling Interface.
-
Select TLS Management from the menu.
-
Click Certificates, under Installed Certificates view the certificate, for example ASBC8.pem.
This is not a self signed certificate.
-
To obtain the certificate, send the NICE Professional Services representative the CA certificate that is signed for this SBC.
-
Once you have obtained the NICE Certificate, click Install.
-
Select CA Certificate, provide a name for the certificate.
-
Click Browse, navigate to the certificate on your system.
-
Click Upload.
The ASBC certificate is displayed under Installed Certificates.
-
Click Client Profiles.
-
Click Add.
-
Provide a Profile Name.
-
Allocate the SBC certificate to Certificate and the NICE certificate to Peer Certificate Authorities.
-
Click Next.
-
Obtain the TLS Version from the NICE Professional Services representative.
-
Click Finish. The client profile is displayed under Client Profiles.
Configure a Recording Server
Session recording is a critical requirement for some businesses. Use this procedure to set up session recording for SIPREC.
To configure a Recording Server:
-
Ensure that the configurations for SIP trunking between Session Manager and the carrier were completed.
-
Log in to the EMS Web interface with administrator credentials.
-
From Device: select the SBC application name from the drop-down list.
-
In the left navigation pane, select Services > SIP Servers.
-
On the Server Configuration page, click Add.
-
On the Add Server Configuration Profile page, in the Profile Name field, type a name for the new server profile.
-
Click Next.
-
On the Edit Server Configuration Profile window, in the Server Type field, click Recording Server.
-
For TLS Client Profile, select the client profile you created in Configure the TLS.
-
In the IP Address / FQDN field, type the IP address of the CXone AudioCodes SBC server.
-
In the Port field, enter 5061.
-
In the Transport field, select TLS transport protocol.
-
Click Next.
-
On the Add Server Configuration — Advanced page, to select the interworking profile, perform one of these:
-
In the Interworking Profile field, select the avaya-ru profile.
The avaya-ru profile is the default interworking profile.
-
Clone the default avaya-ru interworking profile and select the cloned interworking profile.
-
-
Verify that the Enable Grooming check box is selected.
For a recording server, the system selects the Enable Grooming field by default. Do not clear the Enable Grooming check box.
-
Click Finish.
Create a Routing Profile
A new routing profile must be created for the Recording Server. Routing profiles define a specific set of packet routing criteria that are used in conjunction with other types of domain policies. Routing profiles identify a particular call flow and thereby ascertain which security features are applied to those packets. The parameters defined by routing profiles include packet transport settings, name server addresses and resolution methods, next hop routing information, and packet transport types.
To create a routing profile:
-
Log in to the EMS Web interface with administrator credentials.
-
In the navigation pane, select Configuration Profiles > Routing. The Application pane displays the existing routing profiles. The Content Area displays the routing rules comprising a selected routing profile.
-
In the Application pane, click Add.
-
Type a distinctive name for the new routing profile, and click Next.
-
Enter the requested information in the appropriate fields, which are described in the table below.
To use alternate routing, ensure that you set the Trans Expire field on the Timers tab from Global Profiles > Server Interworking to an appropriate short duration. Any request sent from the server times out if a response is not received within the time set as the transaction expiration timer. Therefore, alternate routing does not work if the Trans Expire field is set to the default value of 32 seconds.
Field Name
Description
URI Group Indicates the URI Group to which the next hop routing profile applies. The possible values are:
-
*
-
Emergency
Time of Day Indicates the time of day for the trunk server to resolve the routing profile.
For remote users, do not use the Time of Day field to resolve the routing profile.
Load Balancing Indicates the type of load balancing option.
Leave the default value.
Transport Indicates the next hop address that you must configure. Alternatively, select the transport type. The system uses the routing profile transport type to route the message. Next Hop In-Dialog Indicates the Next Hop configuration for the In-Dialog message. If you enable the Next Hop In-Dialog option, the In-Dialog request will try to use the same routing entry to route the message. NAPTR Indicates whether Naming Authority Pointer is activated or deactivated. When you select the Load Balancing algorithm as DNS/SRV, the system enables the NAPTR check box. If you disable NAPTR, you must specify the transport protocol. Next Hop Priority Indicates whether in cases when the SBC fails to route a message using the resolved routing entry from the message, that is, using the request URI or Route Header, the system will send the message to the alternate routing entry from the routing profile. Ignore Router Header Indicates whether Avaya SBCE will ignore the Route Header. ENUM Indicates whether the support for the E.164 Number Mapping (ENUM) protocol is enabled. ENUM Suffix Indicates the ENUM suffix that is added to change the number to a domain name.
This field is available only when you select the ENUM check box.
Add Adds a next hop address. Priority / Weight Indicates the priority and weight assigned for load balancing options.
Leave the default value.
Server Configuration Indicates the server configuration. Next Hop Address Indicates the IP address or domain of the Next Hop server. You can add up to 20 next hop addresses. Transport Indicates the transport type for each next hop address. Select the protocol for transporting outgoing signaling packets.
The supported options are:
-
None
-
TCP
-
UDP
In this case, the Common Transport Type field is unavailable. You can select the transport type according to the next hop address.
-
-
Click Finish. The Application pane displays the new Routing profile.
Enable UCID
UCID must be enabled for the signaling rules used on the Session Manager endpoint policy group content.
To enable UCID:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Domain Policies > Signaling Rules. The left Application pane displays the existing Signaling Rule sets, and the Content pane displays the parameters of the selected Signaling Rule set.
-
Click the Signaling Rule that Avaya SBCE must use for the Session Manager.
-
Click the UCID tab.
-
Click Edit.
-
Select the UCID check box to enable it.
-
In the Node ID field, enter a node ID. Every entity that generates a UCID has a node ID. The node ID must be unique across a solution.
-
In the Protocol Discriminator field, click 0x00. The protocol discriminator configured on Avaya SBCE must match the value configured for Communication Manager. If the Communication Manager CTI application requires the protocol discriminator 0x04 for the legacy Interaction Center application, you can set the protocol discriminator to 0x04.
-
Click Finish.
Create a Recording Profile
To create a recording profile:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Configuration Profiles > Recording Profile.
-
Click Add in the Recording Profiles section to add a new recording profile.
-
Select the required Routing Profile.
-
Select Full Time as the Recording Type.
Create a Session Policy
A recording type and a routing profile must be assigned by creating a new session policy for the Recording Server.
To create a session policy for a Recording Server:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Domain Policies > Session Policies. The left Application pane displays the existing session policies, and the Content pane displays the parameters of the selected session policy.
-
In the Applications pane, click Add.
-
In the Session Policy window, in the Policy Name field, type a name for the new session policy, and click Next. The second Session Policy window is displayed.
-
Select the Media Anchoring check box.
-
Select the Recording Server check box.
-
Select the Recording Profile that has been created in Create a Recording Profile.
The Routing Profile is assigned to the Recording Profile.
-
In the Recording Type field, select the type of recording required. The available options are Full Time and Selective.
-
(Optional) To play a tone to indicate that the call is being recorded, select the Play Recording Tone check box.
The default recording tone is the CALL_CONNECTING wave file. If required, you can replace the default tone with a new, short duration wave file.
-
(Optional) To configure Avaya SBCE to terminate the session when the Recording Servers do not respond, select the Call Termination on Recording Failure check box.
-
In the Routing Profile field, select the routing profile that Avaya SBCE must use for the Recording Server.
-
Click Finish.
Create an Application Rule
A new application rule must be created for the Recording Server. Application rules define the type of SBC-based Unified Communications (UC) applications that Avaya SBCE protects. You can also specify the maximum number of concurrent voice and video sessions that your network can process before resource exhaustion. Application Rules are part of the Endpoint Policy Group configuration. A customized application rule or the default application rule can be selected from a list during the configuration while creating an Endpoint Policy group.
The Application Rules function is available in the Domain Policies menu.
Avaya provides a default application rule set named default. Do not edit this rule, because improper configuration might cause subsequent calls to fail.
To configure an Application Rule for a Recording Server:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Domain Policies > Application Rules. The left application pane displays the existing Application Rule sets, and the content pane displays the parameters comprising the selected Application Rule set.
-
In the left Applications Rules pane, click Add.
-
In the Application Rule window, enter a name for the new Application Rule and click Next. The second Application Rule window is displayed.
-
Enter the requested information in the fields which are described in below.
Field Name
Description
Application Type Indicates the type of SIP application for which this Application Rule is being configured. The possible values are:
-
Audio
-
Video
In Indicates whether the application rule applies to the audio and video traffic entering the enterprise network.
Out Indicates whether the application rule applies to the audio and video traffic originating from within the enterprise network.
Maximum Concurrent Sessions Indicates the maximum number of concurrent application sessions that can be active for the selected application type. Additional application requests are blocked when this threshold is exceeded. Maximum Sessions Per Endpoint Indicates the maximum number of application sessions that can be active for an endpoint. Additional application requests are blocked when this threshold is exceeded. CDR Support Indicates the type of support for call detail records (CDR). The possible values are:
-
None: No call detail records are not provided.
-
With RTP: Call detail records with call quality and call statistics are provided in addition to the changes in call states.
-
Without RTP: Call detail records with only the changes in call states are provided.
RTCP Keep-Alive Indicates whether the RTCP Keep-Alive feature is enabled. -
-
Click Finish to save, then exit, and return to the Application Rules page.
Create a Media Rule
A new media rule must be created for the Recording Server. For SRTP calls, verify that interworking is enabled.
To create a media rule for a Recording Server:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Domain Policies > Media Rules. The Applications pane displays the existing Media Rule sets, and the Content pane displays the parameters for the selected Media Rule set.
-
In the left Applications Rules pane, click Add.
-
In the Media Rule window, enter a name for the new Media Rule.
-
Click Next.
-
On the Audio Encryption tab, under the Audio Encryption area, click the dropdown and select:
-
SRTP_AES_CM_128_HMAC_SHA1_80 cipher for Preferred Format #1.
-
SRTP_AES_CM_128HMAC_SHA1_32 cipher for Preferred Format #2.
-
NONE for Preferred Format #3.
-
-
Click Next.
-
CXone Multi-ACD SIPREC supports only the G711A, G711U, G729 and G729A audio codecs. The CXone AudioCodes SBC will reject the offer if there is no matching codec in the SDP offer. In the Audio Codec section, select the Codec Prioritization check box and select the supported codecs as the preferred codecs.
-
(Optional) Select the Allow Preferred Codecs Only check box.
-
(Optional) If you require media transcoding, select the Transcode check box.
For transcoded calls, you must configure the transcoded codec G711 or set the codec prioritization as G711MU. For SIPREC, one side of the call is transcoded, and the other side must be on G711 or vice versa. Media can be streamed to the Recorder on the G711 codec.
-
(Optional) In the Available column, select the preferred audio and DTMF dynamic codecs that the recorder supports, and click >.
-
(Optional) If the recording tone is enabled, select the telephone-event and G729 preferred codecs.
-
Click Next.
-
(Optional) Enable BFCP, FECC, and ANAT if required.
-
Click Finish.
Create an Endpoint Policy Group
A new endpoint policy group must be created for the Recording Server.
Avaya provides a default Signaling Rule set named default. Do not edit this rule set, because improper configuration might cause subsequent calls to fail.
To create an endpoint policy group for a Recording Server:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Domain Policies > End Point Policy Groups. The Application pane displays the defined policy groups, and the Content pane displays the parameters of the selected policy group.
At least one Security Rule set must be defined before a policy group can be created. If you do not create a security rule, Avaya SBCE displays a prompt to create such a rule.
-
In the left Application pane, click Add. The Policy Group window is displayed.
-
In the Group Name field, type a name for the new endpoint policy group, and click Next. The system displays the second Policy Group window, where you must set the policy group parameters.
-
Enter the relevant parameters, and click Finish. The Application pane displays the newly created endpoint policy group. When you click the endpoint policy group, the system displays the details in the Content pane. The endpoint policy group fields are described below.
Field Name
Description
Group Name Indicates the name of the endpoint policy group.
Application Rule Indicates the application rule that will determine which applications use this policy group.
Border Rule Indicates the border rule that will determine which applications will use this policy group.
Media Rule Indicates the media rule that will be used to match media packets. Security Rule Indicates the security rule that will determine which Avaya SBCE security policies will be applied when this policy group is activated. Signaling Rule Indicates the Signaling Rule that will be used to match SIP signaling packets.
-
Click Finish.
Add a Session Flow
A session flow for the Recording Server must be added.
If you have a hairpin between a remote worker and a trunk, you must create three session flows:
-
Session Flow 1 between the trunk and Session Manager1.
-
Session Flow 2 between Session Manager2 and the remote worker.
-
Session Flow 3 for hairpin flow between the trunk and the remote worker.
To add a session flow:
-
Verify that you have provisioned enough RTC ports for the media interface in the direction of the enterprise network.
For example, if you require 1000 ports for calls, you must provision 2000 ports for RTP-used even ports and RTCP-used odd ports. To add SIPREC, you must provision another 4000 ports inside and outside RTP to the CXone AudioCodes SBC server.
-
Log in to the EMS Web interface with administrator credentials.
-
In the left navigation pane, select Network & Flows > Session Flows.
-
In the Application pane, click the Avaya SBCE device for which you want to create a new session flow. The Content Area displays the session flows currently defined for that Avaya SBCE device.
-
Click Add.
-
In the Edit Flow window, in the Flow Name field, type the name of the session flow.
-
For the URI Group #1 and URI Group # 2 fields, choose one of these options:
-
Select the URI group policy that will be used to identify the source or destination of the call and to restrict the calls recorded by Avaya SBCE.
-
Leave the default value * to record all calls.
-
-
For the Subnet #1 and Subnet #2 fields, choose one of these options:
-
Type the subnet addresses. You can specify the source and destination subnet addresses.
-
Leave the default value * to record all calls.
-
-
In the SBC IP Address field, select the network name (host name) and IP address of the Avaya SBCE.
-
In the Session Policy field, select the session policy that you created for the Recording Server in Create a Session Policy.
-
Click Finish.
Create a Server Flow
A server flow must be created for each Recording Server.
For a remote worker configuration, create a server flow for a remote worker. Verify that the remote worker A1 interface is set as the received interface and that the Avaya SBCE interface towards the recorder is set as the signaling interface for the server flow.
To create a new server flow manually:
-
Log in to the EMS Web interface with administrator credentials.
-
In the left Navigation pane, navigate to Network & Flows >End Point Flows.
-
The Application pane lists the registered Avaya SBCE security devices to which the new flow will be applied. The content area displays a specifically ordered list of Subscriber or Server call flows for the selected Avaya SBCE security devices.
-
From the Application pane, select the Avaya SBCE device for which the new Server End-Point Flow is being created. The system displays the End-Point Flows screen, showing the flows that are currently defined for that Avaya SBCE.
-
Click the Server Flows tab.
-
Click Add.
-
In the Edit Flow window, enter the information in the fields.
-
Click Finish.