Table of Contents


Document Overview

These Application Notes describe the configuration steps required for Sonus Session Border Controller (SBC) to interoperate with the SIP recording server (NICE server) using SIP trunks. Sonus SBC is a robust solution that integrates security, call control, Quality of Service, advanced media services and switching, all within a compact platform. The SBC  functionality is compliance tested utilizing a SIP trunk to NICE recorder.

The objective of this document is to describe the procedure to be followed during IOT of SBC with NICE recorder. This includes identifying the test environment, tools required for testing, network topology, test points, risks involved in testing and scope of the testing.

Introduction

The interoperability compliance testing focuses on verifying inbound and outbound call flows between Sonus SBC and the NICE recorder using TCP.  

 Audience

This is a technical document intended for telecommunication engineers with the purpose of configuring both the Sonus SBC and the third-party product. Navigating the third-party as well as the Sonus SBC Command Line Interface (CLI) is required. Understanding the basic concepts of TCP/UDP, IP/Routing and SIP/RTP are also required to complete the configuration and any necessary troubleshooting.

Session recording is a capability which can be utilized for various purposes: to comply with regulation, to monitor quality of service of representatives and to store call information for quality analysis. Sonus SBC currently supports proprietary SIP recording interfaces like NICE and MCT. This feature aims to support IETF standard SIP recording interfaces, namely SIPREC (SIP recording).

As per SIPREC architecture, SBC acts as Session Recording Client (SRC) and acts as RTP translator. The NICE recorder acts as a Session Recording Server (SRS). As a SRC, SBC initiates SIP recording session (RS) towards Session Recording server (SRS).

 Requirements

The following equipment and software are used for SIPREC configuration.

Software Information


Equipment

Software Version

Sonus Networks

Sonus SBC
BMC
BIOS
ConnexIP OS
SonusDB
EMA
SBX

V05.01.01-R000
V02.16.0
V02.6.0
V03.01.01-R000
V05.01.01-R000 
V05.01.01-R000   
V05.01.01-R000 

Third-party Equipment

NICE

NICE recorder 4.1.47


 Reference Configuration

The following reference configuration shows connectivity between the NICE recorder and the Sonus SBC.

Reference Configuration


 Support

For any questions regarding this document or the content herein, please contact your maintenance and support provider.

Phase I - Configure the SIPREC server: NICE Recorder

This section provides a look at the NICE recorder configuration used during compliance testing. The NICE recorder is typically configured for customers by NICE. The screen shots and partial configuration shown below, supplied by NICE, are provided only for reference. 

 1. NICE Components 

     This section describes NICE components.

       CAPIC (CAPI Gate Interaction Correlator): A NICE component that correlates and combines the data of calls from different switches. The CAPIC is located on the same machine as the Interactions Center. 

       NICE Interactions Center: The NICE Interactions Center receives the call status, monitors call events, and stores them in its database for other system functions such as queries, reports, etc. and uses them when interaction-based recordings are implemented to determine whether to record a call.    

       NICE VoIP Logger: A Logger that was set up for Active Recording and is used in an Active VoIP Recording environment. The NICE VoIP recording solution enables customers to effectively capture, evaluate, analyze and improve multimedia interactions taking place on an IP network. It provides VoIP recording  solutions to customers that are deploying IP telephony networks, enabling them to enhance customer experience management over converging networks. Once the VoIP audio is recorded, it can be saved, archived, queried, and played back as easily as analog or digital recorded audio.  

       Voice Recording SIP Proxy (VRSP): The VRSP functions as a SIP Proxy. It is used to set up SIP-based calls between the SBC and the NICE VoIP Logger. It is recommended to deploy VRSP redundancy in order to guarantee recording.

All configuration of VRSP, CAPIC, NICE Interaction center and CAPIC is done by NICE. 


NICE Components



The interaction between the Sonus SBC and the NICE recorder is described below.


       The SBC receives an incoming call and queries PSX for route.  

       The SBC sends an INVITE to the VRSP. 

       The VRSP sends the SBC a 200 OK SIP response with the Logger’s SDP. 

       The SBC routes the RTP streams to the Logger and recording starts.

       The VRSP sends a START message to the CAPIC (via the CTI Driver). The START message contains the UDI and UCID for the call.

       The CTI server (AES/TSAPI) sends an ESTABLISHED event to the CAPIC (via the CTI Driver). The ESTABLISHED event contains the DN, UCID and other call details (e.g., Call ID, participants, etc.).

       The CAPIC correlates the calls received from the VRSP and CTI server. The correlation is performed based on the UCID in both calls.

  •       The CAPIC sends the Interactions Center the correlated interaction, including the relevant UDI and DN received from the VRSP and the CTI server.


Currently, NICE recorder supports three redundancy methods: 


  1. Active/Standby with failback – in this method, SRC should send recording session to the active SRS, when request fails (due to transport failure), it should send the recording session to the standby SRS.  
     
  2. Active/Standby – in this method SRC should send the recording session to both of SRSs. Active SRS will accept the recording session while the standby SRS will reject the session (4xx error code).

  3. Active/Standby with two open recording sessions – in this mode, the SRC will send 2 recording sessions to active/standby SRSs. Both SRSs will accept the recording sessions. Active will respond with the actual SDP (a=recvonly) media descriptors while the standby SRS will   respond with inactive SDP (a=inactive) media descriptors. When the active fails, the standby SRS can update SRC with any media updates. 
         


SBC can use the SIP session timer method to detect that a SRS recording session failed. SRC may use non supported SIP methods to detect failures by accepting “Non implemented” response. 

 

Currently, we support the Active/Standby with fail over model.

 2. Configuration of NICE Recorder

    For enabling NICE recorder for recording: 

        Step 1: STOP CTI services (yellow icon in the system tray with CTI letters > right-click > StopNICE Integrations Dispatch service). 

        Step 2: Remove all log file under D:\Program Files\NICE Systems\CTI\Log (skip the files, which are in use). 

        Step 3: START CTI services (yellow icon in the system tray with CTI letters > right-click > StopNICE Integrations Dispatch service). 

    After 3 minutes initiate a call now call should be recorded

   Ensure 'TCPConnectionClientCAPI.dll, TCPServerAPI.dll' files are present at D:\Program Files\NICE Systems\CTI\ in Nice server (present by default) for recording on TCP.

 3. Configuration of NICE GUI 

    To play back recorded message.  

  •  On a physical machine which resides in the same network as the VM open Internet Explorer with administrator rights.
  • Navigate to the URL  http://TMPL_2K8_R2_ENT/nice.
  • Accept all installation prompts, you will get a login screen of the NICE system administrator.
  • Login with user “nice” password “nicecti”.
  • Navigate to Business Analyzer menu.
  • Open queries tree > Public > Last 24 hours.
  • The recordings list will be shown on the right pane, to play a recording select it and press play button, when doing this for the very first time there may be a prompt to install player and codecs, click accept.


Configuration of NICE GUI



Phase II - Configure Sonus SBC and PSX


This section provides a look into the Sonus SBC configuration used during compliance testing. The Sonus SBC is typically configured for customers by Sonus Networks. The screen shots and partial configuration shown below, supplied by Sonus Networks, is provided only for reference. Other configurations are possible. 

 

SIPREC features normally use PSX/EPSX for routing.  We must make a separate TG with separate zone and sipSigport and attach that to egress IP interface group. This sip trunk is toward NICE recorder. 

 

In PSX, we must configure RECORDER PROFILE and CALL RECORDING CRITERIA along with Basic call configuration. Below are the additional/ special configuration fields required apart from Basic PSX configuration.

PSX/EPX Configuration

Apart from Basic configuration, the following configuration is required. 

 

1.      Recorder Profile: Provide NICE recorder, primary and secondary IPV4 or IPV6 address and port (5060). Also, mention the NICE TG name. The name of NICE TG created in SBC and PSX should be the same, otherwise recording would not be initiated toward NICE.  Transport type must be set to TCP. 


Recorder Profile

 

2.   Call Recording Criteria:  Provide call criteria for recording which you wish to record, like calling number, called number, ingress and egress TG, SBC name, the leg you want to record, either ingress or egress. Recorder type should be “SIPRec”. Enable the criteria. When a call is made, it shall be recorded if it falls under criteria.


     All recorder information is known to SBC via PSX/EPSX.



Call Recording Criteria

 

SBC Basic Configuration

1. Configure Address Context and Logical Interface.
set addressContext default ipInterfaceGroup LIF1 ipInterface pkt_a_v4v6 ceName BF026 portName pkt0 ipAddress 10.7.17.51 prefix 16 altIpAddress fd00:10:6b21:2007::17:51 altPrefix 48
set addressContext default ipInterfaceGroup LIF1 ipInterface pkt_a_v4v6 mode inService state enabled    
set addressContext default ipInterfaceGroup LIF2 ipInterface pkt_b_v4v6 ceName BF026 portName pkt1 ipAddress 10.7.18.60 prefix 16 altIpAddress fd00:10:6b21:2007::18:60 altPrefix 48
set addressContext default ipInterfaceGroup LIF2 ipInterface pkt_b_v4v6 mode inService state enabled
commit


2.  Configure the Zone and SIP Signaling port.
set addressContext default zone ZONE1 sipSigPort 3 ipAddressV4 10.7.17.51 portNumber 5060 transportProtocolsAllowed sip-udp,sip-tcp ipAddressV6 fd00:10:6b21:2007::17:51 ipInterfaceGroupName LIF1
set addressContext default zone ZONE1 sipSigPort 3 mode inService state enabled
set addressContext default zone ZONE2 sipSigPort 5 ipAddressV4 10.7.18.60 portNumber 5060 transportProtocolsAllowed sip-udp,sip-tcp ipAddressV6 fd00:10:6b21:2007::18:60 ipInterfaceGroupName LIF2
set addressContext default zone ZONE2 sipSigPort 5 mode inService state enabled
commit


3. Configure a separate Zone and logical SIP Signalling Port for SIPRec.


set addressContext default zone NICE_ZONE id 10 sipSigPort 12 state enabled ipAddressV4 10.7.18.62 ipAddressV6 fd00:10:6b21:2007::18:62 portNumber 5060 transportProtocolsAllowed sip-udp,sip-tcp ipInterfaceGroupName LIF2 siprec enable
commit
Configure IP Peer on PSX.


Configure IP Peer on PSX.

 
4. Configure SIP Trunk Group.


1. Use the following commands to configure the SIP Trunk Group on SBC. 

set addressContext default zone ZONE1 sipTrunkGroup PER47639s_INT_TG media mediaIpInterfaceGroupName LIF1 
set addressContext default zone ZONE1 sipTrunkGroup PER47639s_INT_TG ingressIpPrefix 10.54.80.200 32 
set addressContext default zone ZONE1 sipTrunkGroup PER47639s_INT_TG state enabled mode inService
set addressContext default zone ZONE1 sipTrunkGroup PER47639s_INT_TG media recordable enable 
set addressContext default zone ZONE2 sipTrunkGroup PER47639s_EXT_TG media mediaIpInterfaceGroupName LIF2 
set addressContext default zone ZONE2 sipTrunkGroup PER47639s_EXT_TG ingressIpPrefix 10.54.80.200 32 
set addressContext default zone ZONE2 sipTrunkGroup PER47639s_EXT_TG state enabled mode inService
set addressContext default zone ZONE2 sipTrunkGroup PER47639s_EXT_TG media recordable enable 
commit
 


            2. Configure Trunk Group on PSX (Same names must be given to TG as above in PSX).

Configure Trunk Group on PSX



            3.Use the following commands to configure the SIP Trunk Group for NICE RECORDER on SBC.

set addressContext default zone NICE_ZONE sipTrunkGroup PER47639s_NICE_TG media mediaIpInterfaceGroupName LIF2  
set addressContext default zone NICE_ZONE sipTrunkGroup PER47639s_NICE_TG ingressIpPrefix 10.54.80.7 32 
set addressContext default zone NICE_ZONE sipTrunkGroup PER47639s_NICE_TG state enabled mode inService 
commit
 


         4. Configure Trunk Group on PSX for NICE RECORDER (Same names must be given to TG as above in PSX).

.Configure Trunk Group on PSX for NICE RECORDER

 


5. Configure IP Signalling Profile on PSX.


Configure IP Signalling Profile on PSX.

Configure IP Signalling Profile on PSX.


6. Configure Packet Service Profile ID Group and PSP on PSX.


Configure Packet Service Profile ID Group on PSX

Configure Packet Service Profile ID Group on PSX

Configure PSP on PSX

Configure PSP on PSX

 


7. Configure static route on SBC.
set addressContext default staticRoute 10.54.80.200 32 10.7.1.1 LIF1 pkt_a_v4v6 preference 100  
set addressContext default staticRoute 10.54.80.200 32 10.7.1.1 LIF2 pkt_b_v4v6 preference 100 
set addressContext default staticRoute 10.54.80.7 32 10.7.1.1 LIF2 pkt_b_v4v6 preference 100 
set addressContext default staticRoute 10.54.80.8 32 10.7.1.1 LIF2 pkt_b_v4v6 preference 100 
commit 

Phase III - Inter op Testing 

This section provides the tests that are performed to verify configuration of the NICE recorder as SIPREC server and the Sonus SBC. 


Test Results


The following table lists a summary of the cases tested.


Test Results

Sl NoIDTest CaseP/FCQ
1894177Start/Stop a call recording via CLI - Call with GCID exists in Communication session and NICE SRS IPV4 Address in TCPP
2894186PSX shall allow the called and calling party numbers in the recording criteria to be configured as a prefixP
3894187Verify recording of session before/after consultative transfer Using REFERP
4894188Verify recording of session for a call transcoded at ingressP
5894189SDP shall include the same Codec as being used original communication SessionP
6894190Re-negotiation of codec in CS - Pass through Initially and transcoded after re-negotiation through ReInviteP
7894191Re-negotiation of codec in CS - Pass through Initially and transcoded after re-negotiation through UPDATEP
8894192In call forwarding unconditional, If C comes under recording criteriaP
9894201If the original call is forwarded No answer. If new call comes under recording criteria .P
10894202REFER is received in the context of a recording sessionP
11894219IP interworking scenariosP
12894220Direct Media scenarioP
13894221SIP-I to SIP-I call scenarioP
14894222Re-negotiation of codec in CS - Pass through Initially and transcoded after re-negotiation through ReInvite with mismatch codecs.P
15894223Session terminate by calling party which is not in recording criteria.Test case descriptionP
16894224UE initiating call with \'Supported: siprec\' headerP
17894225A-party uses codec that are not supported in the SRS TG.P
18894226Call hold scenario for Rx StreamP
19894227Call hold scenario for Tx StreamP
20895062To confirm SBC initiates SIP-REC session in TCP for a call that is established with UDP as transport.P
21895063To Verify  the recording session  established in ipv6 when communication session is established in ipv4P
22895064To verify the recording session for an inband DTMF callP
23895065To verify the recording session for an rfc2833 callP
24895066To verify the recording session for an dtmf relay call.F SBX-49451
25895067To confirm the recording for G711 Fax Passthrough call.P
26895069Recording for a call involving fall back from transcode to passthru with re-inviteP
27895070To verify the recording for early media case with PRACK at ingress and egress including 200 ok with different sdpP
28895071Fall back from direct media to passthru in a call transfer scenario with SIPRECP
29895072Fall back from  passthru to direct media in a call transfer scenario with SIPREC.P
30895073Session refresh with  UPDATE  involving session recordingP
31895074To confirm a sip recording for a basic TLS/SRTP callP
32895075Sip recording for a TLS call involving the change in cryptosuiteP
33895076A Basic call including srtp on one side and rtp on the other side with sip recordingP
34895077A Basic call with indialog notify with xml body sent form UAC.P
35895078An indialog Info and message with xml body sent from uas to uac.P
36895079A Basic call involving 302 re-direction from target number with siprec.P
37895080A Basic call involving 302 re-direction to target number with siprec.P
38895081A basic call with rtcp flag enabled on both ingress and egress including sip recording.P
39895082Basic call including late media with siprec.P
40895174A Basic video call with audio recording.P
41895175Fall back of a video call to audio call through RE-INVITEP
42895176Audio call upgraded to Video through re-invite with audio recordingP
43895177siprec Failover from primary to secondary recording server.P
44895178siprec call with call duration set for a specific time in PSX.P
45895179Call recording based on trunk group.P
46895181Transport protocol for recording is configured as TCP in PSX where as its not configured in SBC sipsigportP
47895187Basic call with LI (which uses splitter) simulator and SIP Recording where LI taking the priority.P
48895189Performing switch over while a call is being recorded.P
49897948A Basic GW-GW call with sip recordingP



Conclusion

This Application Notes describe the configuration steps required for Sonus SBC  to successfully interoperate with SIPRec server - NICE recorder. All feature and service test cases have been completed and passed with the exceptions/observations noted in Section Phase III- Inter op testing.