call monitoring guide - oracle...packet trace for one endpoint 3-4 packet trace for both call legs...

71
Oracle® Communications Session Border Controller Call Monitoring Guide Release S-Cz8.4.0 F31118-03 April 2021

Upload: others

Post on 02-Feb-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

  • Oracle® Communications SessionBorder ControllerCall Monitoring Guide

    Release S-Cz8.4.0F31118-03April 2021

  • Oracle Communications Session Border Controller Call Monitoring Guide, Release S-Cz8.4.0

    F31118-03

    Copyright © 2007, 2021, Oracle and/or its affiliates.

    This software and related documentation are provided under a license agreement containing restrictions onuse and disclosure and are protected by intellectual property laws. Except as expressly permitted in yourlicense agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverseengineering, disassembly, or decompilation of this software, unless required by law for interoperability, isprohibited.

    The information contained herein is subject to change without notice and is not warranted to be error-free. Ifyou find any errors, please report them to us in writing.

    If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it onbehalf of the U.S. Government, then the following notice is applicable:

    U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,any programs embedded, installed or activated on delivered hardware, and modifications of such programs)and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Governmentend users are "commercial computer software" or "commercial computer software documentation" pursuantto the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such,the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works,and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programsembedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oraclecomputer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in thelicense contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloudservices are defined by the applicable contract for such services. No other rights are granted to the U.S.Government.

    This software or hardware is developed for general use in a variety of information management applications.It is not developed or intended for use in any inherently dangerous applications, including applications thatmay create a risk of personal injury. If you use this software or hardware in dangerous applications, then youshall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure itssafe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of thissoftware or hardware in dangerous applications.

    Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks oftheir respective owners.

    Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks areused under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registeredtrademark of The Open Group.

    This software or hardware and documentation may provide access to or information about content, products,and services from third parties. Oracle Corporation and its affiliates are not responsible for and expresslydisclaim all warranties of any kind with respect to third-party content, products, and services unless otherwiseset forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will notbe responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,products, or services, except as set forth in an applicable agreement between you and Oracle.

  • Contents

    About this GuideMy Oracle Support vii

    Revision History

    1 Monitoring Warning

    2 Selective Call Recording SIPRECSIPREC for Active Recording 2-1

    Configuring SIPREC 2-2

    Session Recording Server (SRS) 2-2

    Session Recording Group 2-2

    Load Balancing 2-3

    Session Recording Group within Logical Remote Entities 2-4

    Selective Recording 2-4

    SIPREC Support for SRTP 2-5

    High Availability (HA) Support 2-5

    SIPREC Configuration Procedure 2-5

    Session-recording-server Attribute 2-6

    Session-recording-group Attribute (for HA only) 2-8

    Realm-config Attribute 2-10

    Session-agent Attribute 2-11

    Sip-interface Attribute 2-13

    P-Asserted Identity and Diversion Headers in SIPREC Metadata 2-15

    Metadata Contents 2-16

    Show Commands for Recording Sessions 2-16

    Show rec 2-17

    Show rec redundancy 2-18

    Inserting SIP Headers into SIPREC Metadata 2-19

    Sample Metadata 2-20

    iii

  • Configure SIP Headers for SIPREC Metadata 2-21

    SIPREC Recording Session Refresh 2-21

    Timer_B 2-22

    OPTIONS Request/Response 2-22

    Recording Session Refresh Configuration 2-23

    Codec Negotiation 2-23

    SIPREC Call Flows 2-24

    Selective Recording 2-25

    Normal Call (recording required) 2-25

    Sample SDP and Metadata 2-26

    Normal Call (recording not required) 2-28

    Early Media Call (recording not required) 2-29

    REFER Pass-Through Call (REFER handled by User Agent) 2-30

    REFER Call (REFER handled by Oracle Communications Session BorderController) 2-32

    SRS Indicates Busy in Call (recording not required) 2-34

    Call Transfer Scenario (recording required) 2-36

    3 Oracle Communications Operations Monitor DeploymentsIPFIX 3-1

    Oracle Communications Operations Monitor (OCOM) Configuration 3-2

    Oracle Communications Operations Monitor (OCOM) 3-2

    TSCF Rekey Profile Configuration 3-4

    TLS Profile Configuration 3-5

    Making Personal Data in Messaging Sent to OCOM Anonymous 3-7

    Enabling Anonymization of Information Sent to OCOM 3-8

    Oracle Communications Operations Monitor (OCOM) Statistics 3-8

    4 Packet TracePacket Trace Remote 4-2

    Packet Trace Local 4-3

    Packet Trace Scenarios 4-4

    Packet Trace for One Endpoint 4-4

    Packet Trace for Both Call Legs 4-5

    Packet Trace for a Signaling Address 4-6

    Running Packet Trace 4-7

    Configuring a Trace Server 4-8

    Starting a Remote Packet Trace 4-9

    Stopping a Remote Packet Trace 4-9

    Starting a Local Packet Trace on Non-DPDK Platforms 4-10

    iv

  • Stopping a Local Packet Trace on Non-DPDK Platforms 4-10

    Starting a Local Packet Trace on DPDK Systems 4-10

    Stopping a Local Packet Trace on DPDK Systems 4-11

    5 Persistent Protocol TracingAbout Persistent Protocol Tracing 5-1

    About the Logs 5-1

    Process Logs 5-2

    Communication Logs 5-2

    Protocol Trace Logs 5-2

    Persistent Protocol Tracing Configuration 5-2

    v

  • About this Guide

    The Oracle Communications Session Border Controller Call Traffic Monitoring Guideprovides information about monitoring the call traffic on your system.

    Documentation Set

    The following table describes the documentation set for this release.

    Document Name Document Description

    Acme Packet 3900 HardwareInstallation Guide

    Contains information about the components andinstallation of the Acme Packet 3900.

    Acme Packet 4600 HardwareInstallation Guide

    Contains information about the components andinstallation of the Acme Packet 4600.

    Acme Packet 6100 HardwareInstallation Guide

    Contains information about the components andinstallation of the Acme Packet 6100.

    Acme Packet 6300 HardwareInstallation Guide

    Contains information about the components andinstallation of the Acme Packet 6300.

    Acme Packet 6350 HardwareInstallation Guide

    Contains information about the components andinstallation of the Acme Packet 6350.

    Release Notes Contains information about the currentdocumentation set release, including new featuresand management changes.

    ACLI Configuration Guide Contains information about the administration andsoftware configuration of the Service ProviderSession Border Controller (SBC).

    ACLI Reference Guide Contains explanations of how to use the ACLI, asan alphabetical listings and descriptions of all ACLIcommands and configuration parameters.

    Maintenance and TroubleshootingGuide

    Contains information about SBC logs, performanceannouncements, system management, inventorymanagement, upgrades, working with configurations,and managing backups and archives.

    MIB Reference Guide Contains information about Management InformationBase (MIBs), Oracle Communication's enterpriseMIBs, general trap information, including specificdetails about standard traps and enterprise traps,Simple Network Management Protocol (SNMP) GETquery information (including standard and enterpriseSNMP GET query names, object identifier namesand numbers, and descriptions), examples of scalarand table objects.

    Accounting Guide Contains information about the SBC’s accountingsupport, including details about RADIUS andDiameter accounting.

    HDR Resource Guide Contains information about the SBC’s Historical DataRecording (HDR) feature. This guide includes HDRconfiguration and system-wide statistical information.

    About this Guide

    vi

  • Document Name Document Description

    Administrative Security Essentials Contains information about the SBC’s support for itsAdministrative Security license.

    SBC Family Security Guide Contains information about security considerationsand best practices from a network and applicationsecurity perspective for the SBC family of products.

    Installation and Platform PreparationGuide

    Contains information about upgrading system imagesand any pre-boot system provisioning.

    Call Traffic Monitoring Guide Contains information about traffic monitoring andpacket traces as collected on the system. This guidealso includes WebGUI configuration used for the SIPMonitor and Trace application.

    FIPS Compliance Guide Contains conceptual and procedural information forconfiguration using the tools and protocols requiredto manage call traffic on the SBC.

    HMR Resource Guide Contains information about configuring and usingHeader Manipulation Rules to manage service traffic.

    TSCF SDK Guide Contains information about the client-side SDK thatfacilitates the creation of secure tunnels between aclient application and the TSCF of the SBC.

    REST API Guide Contains information about the supported REST APIsand how to use the REST API interface.

    Documentation Accessibility

    For information about Oracle's commitment to accessibility, visit theOracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

    My Oracle SupportMy Oracle Support (https://support.oracle.com) is your initial point of contact for allproduct support and training needs. A representative at Customer Access Support(CAS) can assist you with My Oracle Support registration.

    Call the CAS main number at 1-800-223-1711 (toll-free in the US), or call the OracleSupport hotline for your local country from the list at http://www.oracle.com/us/support/contact/index.html. When calling, make the selections in the sequence shown belowon the Support telephone menu:

    1. Select 2 for New Service Request.

    2. Select 3 for Hardware, Networking, and Solaris Operating System Support.

    3. Select one of the following options:

    • For technical issues such as creating a new Service Request (SR), select 1.

    • For non-technical issues such as registration or assistance with My OracleSupport, select 2.

    You are connected to a live agent who can assist you with My Oracle Supportregistration and opening a support ticket.

    My Oracle Support is available 24 hours a day, 7 days a week, 365 days a year.

    About this Guide

    vii

    http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacchttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacchttps://support.oracle.comhttp://www.oracle.com/us/support/contact/index.htmlhttp://www.oracle.com/us/support/contact/index.html

  • Emergency Response

    In the event of a critical service situation, emergency response is offered by theCustomer Access Support (CAS) main number at 1-800-223-1711 (toll-free in theUS), or call the Oracle Support hotline for your local country from the list at http://www.oracle.com/us/support/contact/index.html. The emergency response providesimmediate coverage, automatic escalation, and other features to ensure that thecritical situation is resolved as rapidly as possible.

    A critical situation is defined as a problem with the installed equipment that severelyaffects service, traffic, or maintenance capabilities, and requires immediate correctiveaction. Critical situations affect service and/or system operation resulting in one orseveral of these situations:

    • A total system failure that results in loss of all transaction processing capability

    • Significant reduction in system capacity or traffic handling capability

    • Loss of the system's ability to perform automatic system reconfiguration

    • Inability to restart a processor or the system

    • Corruption of system databases that requires service affecting corrective actions

    • Loss of access for maintenance or recovery operations

    • Loss of the system ability to provide any required critical or major troublenotification

    Any other problem severely affecting service, capacity/traffic, billing, and maintenancecapabilities may be defined as critical by prior discussion and agreement with Oracle.

    Locate Product Documentation on the Oracle Help Center Site

    Oracle Communications customer documentation is available on the web at the OracleHelp Center (OHC) site, http://docs.oracle.com. You do not have to register to accessthese documents. Viewing these files requires Adobe Acrobat Reader, which can bedownloaded at http://www.adobe.com.

    1. Access the Oracle Help Center site at http://docs.oracle.com.

    2. Click Industries.

    3. Under the Oracle Communications sub-header, click the Oracle Communicationsdocumentation link.The Communications Documentation page appears. Most products covered bythese documentation sets appear under the headings "Network Session Deliveryand Control Infrastructure" or "Platforms."

    4. Click on your Product and then Release Number.A list of the entire documentation set for the selected product and release appears.

    5. To download a file to your location, right-click the PDF link, select Save target as(or similar command based on your browser), and save to a local folder.

    Access to Oracle Support

    Oracle customers that have purchased support have access to electronic supportthrough My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsif you are hearing impaired.

    About this Guide

    viii

    http://www.oracle.com/us/support/contact/index.htmlhttp://www.oracle.com/us/support/contact/index.htmlhttp://docs.oracle.comhttp://www.adobe.comhttp://docs.oracle.comhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infohttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infohttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs

  • Revision History

    This section provides a revision history for this document.

    Date Description

    June 2020 • Initial Release

    October 2020 • Updates "Enabling Anonymization ofInformation Sent to OCOM" with note thatthe anonymize-invite option is not RTC.

    February 2021 • Adds SBC IPv6 Traffic to OCOM

    April 2021 • Adds SIPREC Support for SRTP topic

    ix

  • 1Monitoring Warning

    Only one monitoring service can be run at a time.

    The OCSBC replication features may interfere with each other, corrupting each'sresults. Do not run more than one of the following monitoring services:

    • LI

    • SRS

    • Call Recording (SIPREC)

    • Communications Operations Monitor

    • Packet Trace

    • call-trace

    • SIP Monitoring and Trace (available only for the Enterprise Session BorderController)

    1-1

  • 2Selective Call Recording SIPREC

    The SIPREC protocol is used to interact between a Session Recording Client(SRC) (the role performed by the Oracle Communications Session Border Controller)and a Session Recording Server (SRS) (a third-party call recorder or OracleCommunications Interactive Session Recorder’s Record and Store Server (RSS)).Selective Call Recording controls the recording of media transmitted in the context of acommunications session (CS) between multiple user agents.

    SIPREC provides a selective-based call recording solution that increases media andsignaling performance on a recording server, more robust switchovers, and the abilityto selectively record. SIPREC also isolates the RSS from the communication session.

    The SRC starts a recording session for every call within a configured realm. All callfiltering, if needed, must be accomplished by the recording server. The recordingserver performs the filtering and the selection of which sessions it should record.

    SIPREC supports sending transcoded and SRTP calls.

    SIPREC for Active RecordingSIPREC supports active recording, where the Oracle Communications Session BorderController (OCSBC) acting as the Session Recording Client (SRC), purposefullystreams media to the Oracle Communications Interactive Session Recorder’s RSS(or 3rd party call recorder) acting as the SRS. The SRC and SRS act as SIP UserAgents (UA). The SRC provides additional information to the SRS to describe thecommunication sessions, participants and media streams for the recording session tofacilitate archival and retrieval of the recorded information.

    The OCSBC acting as the SRC, is the source for the recorded media. The OCSBCconsumes configuration information describing the ecosystem within which it operates.The interface, realm and session agent configuration objects specify the SIPRECconfiguration. A SIP UA can elect to allow or disallow any network element fromrecording its media.

    During the establishment of a SIP Session, the OCSBC determines if SIPREC isconfigured for recording the call. If so, it then duplicates the media prior to initiatingthe session with the SRS. (Media replication is set up prior to the recording session).The SRS may choose to record, not record, or cancel the recording session, and thencommunicates by way of SIP signaling to the OCSBC. If the call is not to be recorded,the SRS signals termination of the recording session.

    The OCSBC maintains SIPREC metadata information associated with recordingsessions. The recording session metadata describes the current state of the recordingsession and its communication session(s). It is updated when a change of state inthe communication session(s) is observed by the OCSBC. The SRS is responsible formaintaining call history, etc. The OCSBC creates and logs call detail records (CDRs) inthe current manner, the 3rd party SRS vendor may collate this information if desired.

    The following illustration shows two endpoints, User Agent A (UA-A) and User Agent B(UA-B). Their session is being recorded by an SRC (the OCSBC) and an SRS.

    2-1

  • Configuring SIPRECThis section defines the information required to configure SIPREC on the OracleCommunications Session Border Controller. It also provides a sample procedure forconfiguring SIPREC using the Acme Packet Command Line Interface (ACLI).

    Session Recording Server (SRS)The Oracle Communications Interactive Session Recorder’s RSS acts as the SRS inthe network. A session-recording-server attribute under the session-router objectin the Oracle Communications Session Border Controller ACLI allows you to enable/disable the SRS. This object is the session recording server that receives replicatedmedia and records signaling. Additional parameters for SRS are configured under thesession-agent, realm-config, and sip-interface objects. The rules of precedence forwhich the Oracle Communications Session Border Controller uses these parametersare:session-agent takes precedence over the realm-config, and realm-config takesprecedence over sip-interface.

    Each SRS is associated with a realm-config. The realm specifies the source interfacefrom which replicated traffic originates. The destination is an IP Port parameter (IPaddress or hostname with an optional port) that defines the SIP address (request URI)of the actual SRS.

    For an additional level of security, Oracle recommends the SRS be configured in itsown realm so as to apply a set of access control lists (ACLs) and security for thereplicated communication.

    Although the Oracle Communications Session Border Controller supports large UDPpackets, Oracle recommends the sip-interface associated with the SRS realm, beprovisioned with a TCP port.

    Session Recording GroupThe Oracle Communications Session Border Controller uses the session-recording-group attribute under the session-router object in the ACLI to set high availability

    Chapter 2Configuring SIPREC

    2-2

  • (HA) for 3rd party call recorders. Using this object, you can define a collectionof one or more SRSs. The Oracle Communications Session Border Controllerutilizes SIP’s transport mechanism and keeps track of statistics on each SRS tomanage the distribution of traffic and load balancing. (For more information onOracle Communications Session Border Controller load balancing in session recordinggroups, see Load Balancing). When multiple SRSs are in a session recording group,the Oracle Communications Session Border Controller uses heuristics to intelligentlyroute the recording dialog to one or more SRSs utilizing the selection strategy.

    The simultaneous-recording-servers configuration attribute controls the number ofsimultaneous SIP dialogs that the Oracle Communications Session Border Controllerestablishes to the SRSs in the session recording group per communication session.For instance, if a session recording group contains 3 SRSs, and simultaneous-recording-servers is set to 2, the recording agent initiates a SIP INVITE to the nexttwo SRSs based on the session recording group strategy. In this way, duplicativerecording sessions are instantiated, allowing for recording redundancy in multipleSRSs or within a session recording group.

    Note:

    The Oracle Communications Session Border Controller streams media to allSRSs. Each SRS chooses whether or not to ignore the media by returninga recvonly(receive only) media line. This permits an SRS to select specificmedia to record in the recording session, as well as determine whether or notto record the media.

    The number of simultaneous recording servers does not dictate the number ofrecording devices required to be active for a communication session. If two SRSsexist in a session recording group and simultaneous-recording-servers is set to 2, ifat least one recording device to any of the servers completes, the recording server istreated as being established.

    Load BalancingThe Oracle Communications Session Border Controller supports recording server loadbalancing across members of a session recording group using the following strategies:

    Note:

    SRS groups support “round-robin” and “hunt” strategies only.

    [Round-robin]: The Oracle Communications Session Border Controller remembersthe last SRS that was used. Each new recording session selects the next SRS in thesession recording group. When simultaneous-recording-servers is greater than 1, thenext n recording servers are selected from the session recording group.

    [hunt]: The Oracle Communications Session Border Controller successively attemptsto contact SRSs in the session recording group until a successful recording dialog isestablished with the SRS, starting from the first SRS in the session recording group.The Oracle Communications Session Border Controller attempts to contact each SRSin the session reporting group once. When contact is exhausted, the recording device

    Chapter 2Configuring SIPREC

    2-3

  • is considered failed. A SIP failure (response greater than 399, timeout or TCP setupfailure) causes the Oracle Communications Session Border Controller to attempt thenext possible SRS. When simultaneous-recording-servers is greater than 1, the OracleCommunications Session Border Controller attempts to establish n recording devicesin a hunting fashion.

    Session Recording Group within Logical Remote EntitiesEach logical remote entity (session-agent, realm-config and sip-interface) has asession-recording-server attribute.This attribute is a reference to a specific SRSconfiguration and can be used to specify a session recording group instead. If asession recording group is specified instead of an SRS, the session recording groupname must be prefixed with "SRG:" followed by the session recording group name.This distinguishes between an SRS being referenced and a session recording groupbeing referenced.

    With SIPREC, if an SRS or session recording group is configured on both theingress and egress logical remote entities, both the ingress and egress SRS/sessionrecording groups are used. This means that the Oracle Communications SessionBorder Controller records the media between participants twice (or more) - once forthe ingress recorders and once for the egress recorders.

    If both the ingress and egress SRS/session recording group are the same, the OracleCommunications Session Border Controller makes an optimization and only recordsthe media once. Even if the ingress session recording group is the same exact set ofSRSs as the egress session recording group (but with a different name), the OracleCommunications Session Border Controller replicates media to both destinations.However, if the same set of SRSs has the exact same identifier, theOracle Communications Session Border Controller sends media to one and not bothSRSs.

    Selective RecordingSIPREC defines a number of use cases for which the Oracle Communications SessionBorder Controller can record communication sessions. These use cases include theuse of selective based recording. A selective recording is one in which a uniquerecording server is created per communication session.

    Note:

    The Oracle Communications Session Border Controller does not supportpersistent recording.

    For SRSs using selective recording, recording servers are unique per sessionrecording group. For each selective SRS in a session recording group, during thesetup of a new communication session, the recording metadata is the same foreach recording device. The SRC initiates a new SIP INVITE to the SRS carrying themetadata for that new recording server. The recording agent terminates the SIP dialogat the time that the recording session ends.

    The lifetime of a recording session extends beyond the lifetime of the recordedcommunication. The SRC (Oracle Communications Session Border Controller) re-uses

    Chapter 2Configuring SIPREC

    2-4

  • the recording session ID in the metadata instead of creating a new ID for eachrecording.

    SIPREC Support for SRTP

    With the exception noted in the following table, the OCSBC supports SIPREC on allmedia flows with any combination of SRTP-RTP call legs on ingress and egress forall Acme Packet platforms. The OCSBC also supports SRTP on the interface betweenthe OCSBC and the SIPREC server.

    Caller A Caller B SRS Supported or NotSupported

    RTP RTP RTP Supported

    RTP SRTP RTP Supported

    SRTP RTP RTP Supported

    SRTP SRTP RTP Supported

    RTP RTP SRTP Supported

    RTP SRTP SRTP Supported

    SRTP RTP SRTP Supported

    SRTP SRTP SRTP Supported

    • The supported combinations apply to transcoded and non-transcoded calls.

    • The supported combinations apply to recording and requires either the disabledmode or the enabled mode.

    • The SDES profile that you use for in the media-security-policyconfiguration must include both the AES_CM_128_HMAC_SHA1_80 andAES_CM_128_HMAC_SHA1_32 ciphers in the crypto-list. Apply this mediasecurity policy to each realm where you want SRTP traffic.

    High Availability (HA) SupportAn Oracle Communications Session Border Controller using SIPREC supports HAin the network. The Oracle Communications Session Border Controller replicates allmetadata states between the active and standby Oracle Communications SessionBorder Controllers. Any recording dialogs in progress do not survive the failover, butall calls in progress are preserved. Additionally, the recording dialogs are replicatedas well to the failed over Oracle Communications Session Border Controller so thatin-dialog SIP requests continue to function.

    Each recorded communication session replicated to a single SRS counts as two callsinstead of one. The Oracle Communications Session Border Controller creates twoflows between the two participants and two additional flows to the SRS for each of theparent flows.

    SIPREC Configuration ProcedureThe following configuration example assumes the Oracle Communications SessionBorder Controller has the session recording license enabled on the OracleCommunications Session Border Controller. Changes to the call session recordingconfiguration for SIPREC are dynamic. Active calls in progress remain unaffected by

    Chapter 2Configuring SIPREC

    2-5

  • the configuration changes. New calls, however, utilize the changes after a Save andActivate of the configuration.

    The following attributes must be configured:

    • session-recording-server

    • session-recording-group (for RSS or 3rd party SRS high availability (HA) only)

    and at least one of the following attributes:

    • realm-config

    • session-agent

    • sip-interface

    Session-recording-server AttributeTo configure the session-recording-server attribute:

    1. In Superuser mode, type configure terminal and press Enter.

    ACMEPACKET# configure terminal

    2. Type session-router and press Enter to access the session router-related objects.

    ACMEPACKET(configure)# session-routerACMEPACKET(session-router)#

    3. Type session-recording-server and press Enter to access the session recordingserver-related attributes.

    ACMEPACKET(session-router)# session-recording-serverACMEPACKET(session-recording-server)#

    4. name — Enter a unique name for the session recording server. This name can bereferenced when configuring realm-config, session-agent, and sip-interface. Validvalues are alpha-numeric characters. Default is no value specified.

    ACMEPACKET(session-recording-server)# name SRS1

    5. (optional) description — Enter a description for the session recording server.Valid values are alpha-numeric characters. Default is no value specified.

    ACMEPACKET(session-recording-server)# description

    6. realm — Enter the realm for which the session recording server belongs. Validvalues are alpha-numeric characters. Default is no value specified.

    ACMEPACKET(session-recording-server)# realm

    Chapter 2Configuring SIPREC

    2-6

  • Note:

    Oracle recommends that the session recording server be configured inits own realm.

    7. mode — Enter the recording mode for the session recording server. Valid valuesare:

    • selective (default) - Unique recording server created per communicationsession

    • persistent - Not supported.

    ACMEPACKET(session-recording-server)# recording-mode selective

    8. destination — Enter the destination IP address with IP port (port specificationis optional) that defines the SIP address (request URI) of the session recordingserver. Enter values in the format 0.0.0.0:. Default is no valuespecified.

    ACMEPACKET(session-recording-server)# destination 172.34.2.3:5060

    9. port — Enter the port number to contact the session recording server. Valid valuesare 1024 to 65535. Default is 5060.

    10. transport-method — Enter the protocol that the session recording server uses toaccept incoming packets from the session reporting client on the network. Defaultis DynamicTCP. Valid values are:

    • “” - No transport method used. Same as leaving this parameter value blank.

    • UDP - User Datagram Protocol (UDP) is used for transport method.

    • UDP+TCP - UDP and Transmission Control Protocol (TCP) are used fortransport method.

    • DynamicTCP - One TCP connection for EACH session is used for thetransport method.

    • StaticTCP - Only one TCP connection for ALL sessions is used for thetransport method. This option saves resource allocation (such as ports) duringsession initiation.

    • DynamicTLS - One Transport Layer Security (TLS) connection for EACHsession is used for the transport method.

    • StaticTLS - Only one TLS connection for ALL sessions is used for thetransport method. This option saves resource allocation (such as ports) duringsession initiation.

    • DTLS - Datagram TLS is used for the transport method.

    • TLS+DTLS - TLS and DTLS are used for the transport method.

    • StaticSCTP - Only one Stream Control Transmission Protocol (SCTP)connection for ALL sessions is used for the transport method. This optionsaves resource allocation (such as ports) during session initiation.

    ACMEPACKET(session-recording-server)# protocol UDP

    Chapter 2Configuring SIPREC

    2-7

  • 11. Enter done to save the session recording configuration.

    ACMEPACKET(session-recording-server)# done

    Session-recording-group Attribute (for HA only)For environments that required high availability (HA) requirements, configure thesession-recording-group attribute.

    To configure the session-recording-group attribute and enable HA:

    1. In Superuser mode, type configure terminal and press Enter.

    ACMEPACKET# configure terminal

    2. Type session-router and press Enter to access the session router-related objects.

    ACMEPACKET(configure)# session-routerACMEPACKET(session-router)#

    3. Type session-recording-group and press Enter to access the session recordinggroup-related attributes.

    ACMEPACKET(session-router)# session-recording-groupACMEPACKET(session-recording-group)#

    4. name — Enter a unique name for the session recording group that is a collectionof one or more session recording servers. This name can be referenced whenconfiguring realm-config, session-agent, and sip-interface. Valid values are alpha-numeric characters. Default is no value specified.

    ACMEPACKET(session-recording-group)# name

    Note:

    The name of the session recording group must be prefixed with SRG.

    5. (optional) description — Enter a description for the session recording group.Valid values are alpha-numeric characters. Default is no value specified.

    ACMEPACKET(session-recording-group)# description

    6. session-recording-servers — Enter the names of the session recording serversthat belong to this session recording group. Valid values are alpha-numericcharacters. Default is no value specified.

    ACMEPACKET(session-recording-group)# session-recording-servers SRS1,SRS2

    Chapter 2Configuring SIPREC

    2-8

  • Note:

    You must enter multiple servers as values for the session-recording-servers attribute.

    7. strategy — Enter the load balancing strategy that the session reportingclient (Oracle Communications Session Border Controller) uses when sendingrecordings to the session reporting server. Valid values are:

    • Round-robin (default) - The Oracle Communications Session BorderController remembers the last SRS that was used. Each new recordingsession selects the next SRS in the session recording group. Whensimultaneous-recording-servers is greater than 1, the next n recording serversare selected from the session recording group.

    • hunt - The Oracle Communications Session Border Controller successivelyattempts to contact SRSs in the session recording group until a successfulrecording dialog is established with the SRS, starting from the first SRS inthe session recording group. The Oracle Communications Session BorderController attempts to contact each SRS in the session reporting group once.When contact is exhausted, the recording device is considered failed. A SIPfailure (response greater than 399, timeout or TCP setup failure) causesthe Oracle Communications Session Border Controller to attempt the nextpossible SRS. When simultaneous-recording-servers is greater than 1, theOracle Communications Session Border Controller attempts to establish nrecording devices in a hunting fashion.

    • least busy - For some 3rd party recording devices, the number of concurrentrecording servers proves to be the most taxing for system resources. TheOracle Communications Session Border Controller tracks the number ofrecording servers active to a given SRS at any given time. It uses thisinformation to determine which SRS would be the best candidate for the nextRS. The SRS with the fewest number of active recording servers receives thenext RS. If two or more SRSs in a session recording group currently havethe same number of active recording servers, the SRS configured first in thesession recording group takes precedence.

    • lowest sustained rate (fewest-setups-per-minute) - For some 3rd partyrecording servers, processing large amounts of sessions in a short amountof time proves to be the most taxing on their system's resources. The OracleCommunications Session Border Controller tracks the number of recordingserver setups over a sliding window of five minutes. The SRS within thesession recording group with the fewest setups per the window of time isselected as the next candidate for receiving the recorded session. If twoor more SRSs in a session recording group currently have the same valuefor setups in the given window of time, then the SRS configured first in thesession recording group takes precedence.

    ACMEPACKET(session-recording-group)# strategy round-robin

    8. simultaneous-recording-servers — Enter the number of simultaneous SIPdialogs that the session reporting client (Oracle Communications Session Border

    Chapter 2Configuring SIPREC

    2-9

  • Controller) establishes to the session reporting servers in the session reportinggroup per communication session. Valid values are 1 to 3. Default is 0.

    ACMEPACKET(session-recording-group)# simultaneous-recording-servers 2

    9. Enter done to save the session recording group configuration.

    ACMEPACKET(session-recording-group)# done

    10. Enter exit to exit the session recording group configuration.

    ACMEPACKET(session-recording-group)# exit

    11. Enter exit to exit the session-router configuration.

    ACMEPACKET(session-router)# exit

    12. Enter exit to exit the configure mode.

    ACMEPACKET(configure)# exit

    13. Enter save-config to save the session recording group configuration.

    ACMEPACKET# save-config

    14. Enter activate-config to activate the session recording group configuration.

    ACMEPACKET# activate-config

    Realm-config AttributeUse the following procedure to configure the realm-config attribute and enable sessionrecording:

    1. Access the realm-config configuration element.

    ORACLE# configure terminalORACLE(configure)# media-managerORACLE(media-manager)# realm-configORACLE(realm-config)#

    2.

    3. session-recording-server — Enter a space-separated list containing up tofour names of session-recording-servers, or session-recording-groups, or acombination of both exisiting in the realm associated with the session reportingclient (Oracle Communications Session Border Controller). For each entry, use '+'to add, '-' to remove, and omit to replace the list. For example, realm-config#session-recording-server "srs1 srs2 srs4 SRG:srg1". Enter a ? to view alist of all acceptble name formats. Press the TAB key after the session-recording-server to view a list of configured SRSs and SRGs. For each entry, use + to add, -to remove, and omit to replace the list.

    Chapter 2Configuring SIPREC

    2-10

  • Do not use the format +srs1 -srs1. In this case, srs1 is still retained even afterusing -srs1in the command.

    ACMEPACKET(realm-config)# session-recording-server

    or

    ACMEPACKET(realm-config)# session-recording-server SRG:

    Note:

    The value for this attribute is the name you specified in the session-recording-server attribute. If specifying a session-recording-group, youmust precede the group name with "SRG:".

    4. session-recording-required — Enter whether you want a call to be acceptedby the Oracle Communications Session Border Controller when recording is notavailable. The default value is disabled.

    • Enabled — Restricts call sessions from being initiated when a recordingserver is not available.

    • Disabled (default) — Allows call sessions to initiate even when the recordingserver is not available.

    Note:

    Oracle recommends that the session-recording-requiredparameter remain disabled.

    5. session-max-life-limit — Enter the maximum interval in seconds before the SBCmust terminate long duration calls. The value supercedes the value of session-max-life-limit in the sip-interface and sip-config configuration elements and isitself superceded by the value of session-max-life-limit in the session-agentconfiguration element. The default value is 0 (off/ignored).

    test

    6. Type done to save your configuration.

    Session-agent AttributeTo configure the session-agent attribute and enable session recording:

    1. In Superuser mode, type configure terminal and press Enter.

    ORACLE# configure terminal

    2. Type session-router and press Enter to access the session router-related objects.

    ORACLE(configure)# session-routerACMEPACKET(session-router)#

    Chapter 2Configuring SIPREC

    2-11

  • 3. Type session-agent and press Enter to access the session agent-relatedattributes.

    ORACLE(session-router)# session-agentORACLE(session-agent)#

    4.

    5. session-recording-server — Enter a space-separated list containing upto four names of session-recording-servers, or session-recording-groups, ora combination of both to apply to the session recording client (OracleCommunications Session Border Controller). For each entry, use '+' to add,'-' to remove, omit to replace list. For example, (session-agent)# session-recording-server "+srs1 +srs2 -srs4 +SRG:srg1". Enter a ? to view a list ofall acceptble name formats. Press the TAB key after the session-recording-serverto view a list of configured SRSs and SRGs. Valid values are alpha-numericcharacters. Default is no value specified.

    Do not use the format +srs1 -srs1. In this case, srs1 is still retained even afterusing -srs1 in the command.

    ORACLE(session-agent)# session-recording-server

    or

    ORACLE(session-agent)# session-recording-server SRG:

    Note:

    The value for this attribute is the name you specified the session-recording-server attribute. If specifying a session-recording-group, youmust precede the group name with SRG:.

    6. session-recording-required — Enter whether or not you want a call to beaccepted by the Oracle Communications Session Border Controller if recordingis not available. Valid values are:

    • Enabled - Restricts call sessions from being initiated when a recording serveris not available.

    • Disabled (default)- Allows call sessions to initiate even if the recording serveris not available.

    ORACLE(session-agent)# session-recording-required disabled

    Note:

    Oracle recommends that the session-recording-required parameterremain disabled.

    Chapter 2Configuring SIPREC

    2-12

  • 7. Enter exit to exit the session agent configuration.

    ORACLE(session-agent)# exit

    8. Enter exit to exit the session router configuration.

    ORACLE(session-router)# exit

    9. Enter exit to exit the configure mode.

    ORACLE(configure)# exit

    10. Enter save-config to save the session agent configuration.

    ORACLE# save-config

    11. Enter activate-config to activate the session agent configuration.

    ORACLE# activate-config

    Sip-interface AttributeTo configure the sip-interface attribute and enable session recording:

    1. In Superuser mode, type configure terminal and press Enter.

    ORACLE# configure terminal

    2. Type session-router and press Enter to access the session router-related objects.

    ORACLE(configure)# session-routerORACLE(session-router)#

    3. Type sip-interface and press Enter to access the SIP interface-related attributes.

    ORACLE(session-router)# sip-interfaceORACLE(sip-interface)#

    4.

    5. session-recording-server — Enter a space-separated list containing up tofour names of session-recording-servers, or session-recording-groups, or acombination of both to apply to the SIP interface on the session recording client( Oracle Communications Session Border Controller). For each entry, use '+' toadd, '-' to remove, and omit to replace the list. For example, (sip-interface)#session-recording-server "+srs1 -srs2 +srs4 SRG:srg1". Enter a ? to view alist of all acceptble name formats. Press the TAB key after the session-recording-server to view a list of configured SRSs and SRGs.Valid values are alpha-numericcharacters. Default is no value specified.

    Chapter 2Configuring SIPREC

    2-13

  • Do not use the format +srs1 -srs1. In this case, srs1 is still retained even afterusing -srs1in the command.

    ORACLE(sip-interface)# sessio-recording-server SRG:

  • P-Asserted Identity and Diversion Headers in SIPREC MetadataThe Oracle Communications Session Border Controller supports some call transferscenarios in which the contents of the P-Asserted-Identity, Diversion and History-infoheaders must be included in the SIPREC metadata for in-dialog requests (re-INVITEand UPDATE) as well as initial requests.

    During a Communication Session (CS) between user-agents, Oracle CommunicationsSession Border Controllerupdates the SRS, for in-dialog requests like Re-INVITE andUPDATE, in the Recording Session (RS). In call transfer scenarios, the participantinformation available in the headers is updated in the extension data under SIPRECMetadata. When the option disable-re-invite-on-update is configured in the session-agent, sip-interface, or real-config configuration elements, the SBC restricts the Re-INVITE to RS for the in-dialog UPDATE in CS.

    You will have to configure the system with the SipHeaderExtensionMetadata.spl (SBCProcessing Language) plugin for the disable-re-invite-on-update option to work. Formore information, see Inserting SIP headers into SIPREC Metadata.

    Consider a call transfer scenario between User Agent A (UA-A) and User Agent C(UA-C). The session will be recorded by Oracle Communications Session BorderControlleracting as an SRC and an SRS. The SRS does not record the session withUser Agent B. In order to record the session between UA-A and UA-C it is vital tocorrectly identify the User Agents in the session. The system uses the headers in themetadata to reflect the identities of the participating agents.

    The header information such as P-Asserted Identity, Diversion and History-info forINVITE/Re-INVITE and UPDATE cases will be updated in the extension data ofparticipant xml element.

    You can configure the option disable-re-invite-on-update to stop the Re-INVITErequests towards the Recording Session (RS) for any in-dialog UPDATE in

    Chapter 2Configuring SIPREC

    2-15

  • Communication Session (CS). This option can be configured under a specified sip-interface , realm-config , or a session-agent .

    ORACLE#(session-agent) options +disable-re-invite-on-update

    Session-agent takes precedence over realm-config, and realm-config takesprecedence over sip-interface.

    Metadata ContentsThe recording metadata contains a set of related elements which define therecording session. A recording session may contain zero or more communicationsessions and/or communication session groups. A communication session representsa call instance; a communication session group represents a related group ofcommunication sessions. A recording session is composed of a sequence of complexelement types. Not all element types are required to describe a recording sessioninitiated from the Oracle Communications Session Border Controller. The recordingsession XML schema defines the following element types:

    • dataMode - partial or complete metadata description (required)

    • group - a collection of related communication sessions

    • session - a single communication session of two or more participants (required)

    • participant - a SIP endpoint representation (required)

    • stream - a media stream

    • extensiondata - application specific data outside of the SIPREC scope.

    The recording agent generates dataMode, session, participant, and stream elements.Extension data is attached to other elements within the metadata through the useof the parent attribute. The recording metadata is defined as a sequence of elementtypes; therefore all associations between elements are represented as references toelement identifiers.

    The state of the metadata within a recording session reflects the state of thecommunication session(s) which is being recorded. SIPREC implements stop-timesand reason codes when communication sessions end within a recording session.Once a communication session, participant, or media stream has been marked as'stopped' and accepted by the SRS, the metadata item is removed from the currentmetadata state. In addition, media lines within the SDP or the recording session maybe re-used/re-labeled for reuse if new communication sessions and media streams arecreated within the recording session.

    The XML schema for the recording metadata is defined in the IETF draft RFC draft-ram-siprec-metadata-format-02 [7].

    The ACLI command to show recorded metadata is show rec. For more information onthis command see the section, Show rec.

    Show Commands for Recording SessionsThe Oracle Communications Session Border Controller allows you to utilize thefollowing show commands via the ACLI to display statistical information aboutrecording sessions:

    Chapter 2Configuring SIPREC

    2-16

  • • show rec

    • show rec redundancy

    Show recThe show rec command displays the count of all metadata objects in sessionsmanaged by the recording agent. These statistics include metadata monitored overan active period of time and over a lifetime period (where lifetime totals reflect fromthe last reboot of the Oracle Communications Session Border Controller to the presenttime). The following example shows the use of this command.

    1. Log into the Oracle Communications Session Border Controller as a User orSuperuser.

    ACMEPACKET> enableACMEPACKET(enable)#

    2. Type show rec and press Enter to display the recording metadata statistics. Thefollowing output is an example of the show rec command.

    ACMEPACKET(enable)# show rec

    Show rec output

    13:49:44-81645Recording Agent Status -- Period -- -------- Lifetime -------- Active High Total Total PerMax HighRec Sessions 0 1 1 1 1 1Comm Groups 0 0 0 0 0 0Comm Sessions 0 1 1 1 1 1Media Streams 0 2 2 2 2 2Participants 0 2 2 2 2 2

    The following table describes the metadata objects in the show rec commandoutput.

    Object Description

    Rec Sessions Number of recording sessions during an active period of time and overa lifetime period.

    Comm Groups Number of active communication session recording groups during anactive period of time and over a lifetime period.

    Comm Sessions Number of active communication sessions during an active period oftime and over a lifetime period.

    Media Streams Number of active media streams during an active period of time andover a lifetime period.

    Participants Total number of participants in session recordings during an activeperiod of time and over a lifetime period.

    Chapter 2Configuring SIPREC

    2-17

  • Show rec redundancyThe show rec redundancy command displays information for session recordingserver statistics when the Oracle Communications Session Border Controller isconfigured for HA. These statistics include metadata monitored over an active periodof time and over a lifetime period (where lifetime totals reflect from the last reboot ofthe Oracle Communications Session Border Controller to the present time) on boththe primary and redundant Oracle Communications Session Border Controller. Thefollowing example shows the use of this command.

    1. Log into the Oracle Communications Session Border Controller as a User orSuperuser.

    ACMEPACKET> enableACMEPACKET(enable)#

    2. Type show rec redundancy and press Enter to display the session recordingserver statistics for Oracle Communications Session Border Controllers in HAmode. The following output is an example of the show rec redundancy command.

    ACMEPACKET(enable)# show rec redundancy

    Show rec redundancy output

    Primary System

    13:49:44-81645Recording Agent Status -- Period -- -------- Lifetime -------- Active High Total Total PerMax HighRec Sessions 0 1 1 1 1 1Comm Groups 0 0 0 0 0 0Comm Sessions 0 1 1 1 1 1Media Streams 0 2 2 2 2 2Participants 0 2 2 2 2 2

    Redundant System13:49:44-81646Recording Agent Status -- Period -- -------- Lifetime -------- Active High Total Total PerMax HighRec Sessions 0 1 1 1 1 1Comm Groups 0 0 0 0 0 0Comm Sessions 0 1 1 1 1 1Media Streams 0 2 2 2 2 2Participants 0 2 2 2 2 2

    The following table describes the session recording server statistics in the showrec redundancy command output.

    Chapter 2Configuring SIPREC

    2-18

  • Object Description

    Rec Sessions Number of recording sessions during an active period of time and overa lifetime period.

    Comm Groups Number of active communication session recording groups during anactive period of time and over a lifetime period.

    Comm Sessions Number of active communication sessions during an active period oftime and over a lifetime period.

    Media Streams Number of active media streams during an active period of time andover a lifetime period.

    Participants Total number of participants in session recordings during an activeperiod of time and over a lifetime period.

    Inserting SIP Headers into SIPREC MetadataThe SIPREC Extension Data Enhancements SPL provides additional headerinformation in the originating SIP messages metadata sent to the Interactive SessionRecorder. With this SPL, you can introduce more options for recording policy decisionswhen using the SIPREC feature of the Oracle Communications Session BorderController (OCSBC). The enhanced metadata also allows for the realm-id to be usedas an indicator of the recording account. The SPL also provides configurable valuesthat collect additional header information to store in the metadata.

    When the SPL is configured, the SIPREC Extension Data Enhancements SPL is onlytriggered upon INVITE/UPDATE requests, and stores the additional header informationin the metadata that is sent to the Interactive Session Recorder (NN-ISR). Metadata isa XML MIME attachment that describes recording details to the ISR.

    By default, the Extension-Headers SPL option collects only the Request-URI in areceived INVITE. You can store additional header information by configuring the SPLwith additional attributes in the spl-options under the global spl-config.. The valuesmust be in a comma separated list enclosed in double quotation marks. For example:

    Extension-Headers="P-Asserted-Identity,Diversion"

    This configuration of the Extension-Headers option adds the originating Request-URIalong with all P-Asserted-Identity and Diversion-Headers into the participant section ofthe metadata.

    You can configure the LRE-Identifier SPL option to add an identifier of the logicalremote entity (LRE) that triggered the recording to the element of theextension metadata. When configured with a value added, the value appears in placeof the identifier. When configured without a value, the identifier of the logical remoteentity is used. For example, session-agent will be the hostname, realm-config will bethe realm, and sip-interface will be the realm name.

    Note:

    Both options are required for the SPL to function properly.

    Chapter 2Configuring SIPREC

    2-19

  • Sample MetadataThe sample below shows metadata with new extension data added by the SIPRECExtension Data Enhancements SPL (New metadata appears in bold):

    complete 2012-06-26T13:44:13 sipp aD50KX+LTvxNzASg+/GQTg== 2012-06-26T13:44:13 true sip:[email protected]:5060 net192 sip:[email protected] sip:[email protected] ;happy=days;green=envy ;green=monster;go=carts ;gear=head;green=monitor sut f9NDVhyMTul+ePlM2SceQA== 2012-06-26T13:44:13 false 65804 separate 2012-06-26T13:44:13

    Chapter 2Configuring SIPREC

    2-20

  • 65805 separate 2012-06-26T13:44:13

    Configure SIP Headers for SIPREC MetadataTo get more detailed information about a recorded session, you can add more SIPheaders within the SIPREC metadata by way of the Extension-Headers option. Thedefault behavior stores only the Request-URI and realm-id.

    You must configure the Extension-Headers option at the global level under spl-config because the session-agent, realm-config, and sip-interface configurations donot recognize the option. The first time you configure one or more extension headers,you need only to save and activate the configuration for the system to recognize theextension headers. When you modify the existing SPL extension header list you needto save and activate the configuration, and reboot the system for the changes to takeeffect. Real Time Configuration (RTC) does not apply to extension header options.

    1. Access the spl-config configuration element.

    ORACLE# configure terminalORACLE(configure)# systemORACLE(system)# spl-configORACLE(spl-config)#

    2. Type spl-options +Extension-Headers=”” , where is theadditional header information to store, and press Enter.

    ACMESYSTEM(spl-config)# spl-options +Extension-Headers=”P-Asserted-Identity,Diversion”

    3. Type done to save the configuration.

    SIPREC Recording Session RefreshThe Oracle Communications Session Border Controller provides for periodic in-dialogOPTIONS request/response exchanges to test the availability of the recording sessiondialog.

    As shown below, and previously explained, establishment of a SIPREC sessioninvolves the creation of three distinct dialogs: a recording session dialog between theSIPREC client and SIPREC server, a SIP dialog between the calling party (A) andthe SBC (acting as a B2BUA), and another SIP dialog between the SBC (acting as aB2BUA) and the called party (B). The two SIP dialogs are viewed conceptually as asingle communications session dialog.

    Both the call recording and the communication session dialogs are triggered by anINVITE at the SIPREC client. Upon reception, the recording client (the SBC) buffersthe original INVITE, and sends a copy if it, along with call-related meta-data tothe recording server. A 200 OK response from the server establishes the recordingsession dialog that will carry replicated call content; signalling information is conveyed

    Chapter 2SIPREC Recording Session Refresh

    2-21

  • by the metadata in the recording dialog. After establishing the recording session,the client transmits the buffered INVITE to the called party to begin establishing thecommunications session dialog.

    In the absence of a 200 OK response, the recording client is required to reject theoffered INVITE with a 503 (Service Unavailable) SIP error code and an accompanyingReason header indicating that the recording session could not be established.

    After establishing the recording session dialog, the client does not monitor itsconnection state. Its only opportunity to verify the state occurs after the terminationof the communications session dialog, which triggers a client-originated BYE tothe recording server. Reception of a 200 OK/ACK confirms the persistence of therecording session, while the lack of acknowledgement indicates the failure of therecording session at some unspecified point in time.

    This failure to identify a prematurely terminated recording session has caused serviceproviders and some regulatory agencies to require timely recognition of a failed callrecording dialog.

    Release S-CZ7.2.0, and later releases, address this requirement by providing forthe exchange of periodic in-dialog OPTIONS request/response exchanges to test theavailability of the recording session dialog.

    Timer_BSection 17.1.1.2 of RFC 3261, SIP: Session Initiation Protocol describes a TIMER_B,the SIP INVITE transaction timer, which specifies the maximum interval between anINVITE request and response. The RFC suggests a default value of 32 seconds.Depending on the installed release version, two ACLI commands, trans-expire andinitial-inv-trans-expire, provide user control over the TIMER_B value at both theSIP global level and the SIP interface level. Use these commands to adjust TIMER_Bvalues if required.

    OPTIONS Request/ResponseAvailability of the recording session is tested by an in-dialog SIP OPTIONS request/response exchange initiated by the call recording client and completed by the callrecording server. If the OPTIONS exchange is enabled, two timers are set whenthe recording session dialog is established: a refresh-timer that specifies the intervalbetween OPTIONS requests sent by the call recording client, and a response-timerthat specifies the maximum interval between the OPTIONS request and the OPTIONSresponse. The response-timer is set to the smaller of the configured TIMER_B orrefresh-timer values.

    Expiration of the refresh-timer results in the transmission of an OPTIONS request tothe call recording server. The server, in turn, must reply with a 200 OK OPTIONSresponse prior to the expiration of the response-timer. In the event of a positiveresponse, the call recording client restarts the refresh-timer, and re-issues theOPTIONS request when the timer next expires.

    In the event that the call recording server response is non-positive, that is either

    1. not received prior to the expiration of the response timer, or

    2. a non-2xx OPTIONS response

    Chapter 2SIPREC Recording Session Refresh

    2-22

  • the SBC terminates the session recording dialog and records the termination in theevent log.

    Typically, a SIPREC environment contains multiple recorders configured to recorda communications session dialog, consequently the communications session shouldbe terminated only when all recording dialogs in the call recording server haveterminated. At that point the communications session dialog is torn down with a 503(Service Unavailable) error report.

    Recording Session Refresh ConfigurationUse the following procedure to enable a SIP OPTIONS request/response mechanismused to detect a prematurely terminated call recording session dialog.

    1. Access the session-recording-server configuration element.

    ORACLE# configure terminalORACLE(configure)# session-routerORACLE(session-router)# session-recording-serverORACLE(session-recording-server)#

    2. Type select to choose and configure an existing object

    ORACLE(session-recording-server)# select:1: name=SRS02 desc=SRS Atlanta2: name=name desc="SRS First Server:3: name=srs01 desc=Miami

    selection: 2

    3. session-recording-required—ensure that this parameter is enabled.This is a prerequisite for the provision of recording session refresh services.

    4. refresh-interval—use this parameter to both enable the SIP OPTIONS request/response mechanism, and to assign a value to the refresh-timer, which measuresthe maximum allowed interval (in seconds) between the OPTIONS request sent bythe call-recording client and the OPTIONS response returned by the call-recordingserver.By default, refresh-interval is set to 0, which disables detection of a failedrecording session dialog.Assignment of any non-zero value enables detection and sets the allowableinterval between OPTIONS requests and responses.Consult local policy and regulatory requirements when specifying the refresh-interval value.

    ACMEPACKET(session-router)# refresh-interval 12ACMEPACKET(session-recording-server)#

    5. Type done to save your configuration.

    Codec NegotiationIn a SIPREC environment, it is assumed that the recording ecosystem providestranscoding media servers for which media calls can be redirected to, relieving theissue of codec matching from the recording servers. However, if transcoding media

    Chapter 2Codec Negotiation

    2-23

  • servers are not provided, the responsibility for transcoding falls on the recording serveror the recording client in a SIPREC environment. The Oracle Communications SessionBorder Controller/SRC is required to impose some policy decisions on the codecnegotiation between the three, or more, end-points. Specifically, the codec negotiationbetween the two participants and the recording server is subject to additional policyactions.

    The SDP answer from the SRS may not agree with the media flows established inthe communication session between UA-A and UA-B. If UA-A and UA-B agree to useG729, yet the SRS's answer indicates no support for G729, the SRS is then unable tointerpret the media streams. The SDP offer forwarded to the called party (in this caseUA-B) limits the codec choices to those supported by the SRS.

    Note:

    The recording agent forwards the original codec offer to the SRS prior tosending the invite to the UA-B. The SRS responds with the SDP answer,indicating the codec list most desirable to the SRS. The codec list in theanswer is then forwarded to UA-B. This allows three parties in a conferencecall to participate in the negotiation of the codecs among the supportedformats only.

    SIPREC Call FlowsThis section provides examples of call flow scenarios that can occur in a SIPRECenvironment. SIP recording call flow examples include:

    For Selective Recording:

    • Normal Call (recording required)

    • Normal Call (recording not required)

    • Early Media Call (recording not required)

    • REFER Pass-Through Call (REFER handled by User Agent)

    • REFER Call (REFER handled by the Oracle Communications Session BorderController )

    • SRS Indicates Busy in Call (recording not required)

    • Call Transfer scenario

    Note:

    REFER is a SIP method indicating that the recipient (identified by theRequest-URI) should contact a third party using the contact informationprovided in the request.

    Chapter 2SIPREC Call Flows

    2-24

  • Selective Recording

    Normal Call (recording required)The following illustration shows a normal call using selective recording with recordingrequired. For SDP and Metadata information in Notes 1 and 2 , see Sample SDP andMetadata.

    I

    • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards INVITE with SDP andmetadata to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends re-INVITE with SDP andmetadatachanges to SRS.

    Chapter 2SIPREC Call Flows

    2-25

  • • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-A.

    • RTP stream initiated between UA-A and Oracle Communications Session BorderController.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller sends BYE to OracleCommunications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller sends BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends BYE to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    Sample SDP and MetadataThe following sample SDP and Metadata pertain to Notes 1 and 2 in the previous CallFlow diagram.

    --[Note 1]------------------------------Content-Type: application/sdpv=0o=- 171 213 IN IP4 10.0.0.2s=-c=IN IP4 10.0.0.1t=0 0m=audio 6000 RTP/AVP 0a=rtpmap:0 PCMU/8000a=label:1

    Content-Type: application/rs-metadata+xmlContent-Disposition: recording-session

    complete 2011-06-27T17:03:57 sip:[email protected] sipp urn:uuid:07868c77-ef8e-4d6f-6dd5-a02ff53a1329

    Chapter 2SIPREC Call Flows

    2-26

  • 2011-06-27T17:03:57 sip:[email protected] sut separate 2011-06-27T17:03:57 1

    --[Note 2]------------------------------Content-Type: application/sdpv=0o=- 171 213 IN IP4 10.0.0.2s=-c=IN IP4 10.0.0.1t=0 0m=audio 6000 RTP/AVP 0a=rtpmap:0 PCMU/8000a=label:1m=audio 6002 RTP/AVP 0a=rtpmap:0 PCMU/8000a=label:2

    Content-Type: application/rs-metadata+xmlContent-Disposition: recording-session

    partial 2011-06-27T17:03:57 sip:[email protected] sut urn:uuid:4a72a1ed-abb2-4d7c-5f4d-6d4c36e2d4ec 2011-06-27T17:03:58 separate 2011-06-27T17:03:58 2

    Chapter 2SIPREC Call Flows

    2-27

  • Normal Call (recording not required)The following illustration shows a normal call using selective recording with recordingoptional.

    • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-A.

    • Oracle Communications Session Border Controller sends INVITE with SDP andmetadata to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • RTP stream initiated between UA-A, Oracle Communications Session BorderController,and UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    Chapter 2SIPREC Call Flows

    2-28

  • • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller sends BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends BYE to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    Early Media Call (recording not required)The following illustration shows an early media call using selective recording withrecording optional.

    • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards INVITE to UA-B.

    • UA-B sends 180 and SDP to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends INVITE with SDP andmetadata to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    Chapter 2SIPREC Call Flows

    2-29

  • • Oracle Communications Session Border Controller sends 180 with SDP to UA-A.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-A.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK to UA-A.

    • Oracle Communications Session Border Controller sends re-INVITE with SDP andmetadatachanges to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller sends BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends BYE to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    REFER Pass-Through Call (REFER handled by User Agent)The following illustration shows a REFER pass-through call using selective recordingand the User Agent (UA) handling the REFER on the call. Recording is required in thiscall flow.

    Chapter 2SIPREC Call Flows

    2-30

  • • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards INVITE with SDPOffer and metadata to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends re-INVITE with SDP andmetadata changes to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-A.

    • RTP stream initiated between UA-A and Oracle Communications Session BorderController.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    • UA-A sends REFER-TO: C to Oracle Communications Session Border Controller.

    Chapter 2SIPREC Call Flows

    2-31

  • • Oracle Communications Session Border Controller forwards REFER-TO: C to UA-B.

    • UA-B responds with 202 ACCEPTED to Oracle Communications Session BorderController.

    • Oracle Communications Session Border Controller forwards 202 ACCEPTED toUA-A.

    • UA-B sends INVITE TO: C to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends INVITE to UA-C.

    • UA-C responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-B.

    • Oracle Communications Session Border Controller sends NOTIFY with OKreponse to UA-A.

    • Oracle Communications Session Border Controller sends re-INVITE to SRS withnew SDP and metadata, adds participant C, stops participant A .

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-C.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    • UA-C sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-C.

    • Oracle Communications Session Border Controller sends BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends BYE to SRS

    • SRS responds with OK to Oracle Communications Session Border Controller.

    REFER Call (REFER handled by Oracle Communications Session BorderController)

    The following illustration shows a call using selective recording and the SessionBorder Controller (Oracle Communications Session Border Controller) handling theREFER on the call. Recording is required in this call flow.

    Chapter 2SIPREC Call Flows

    2-32

  • • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards INVITE with SDPOffer and metadata to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends re-INVITE with SDP andmetadata changes to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-A.

    • RTP stream initiated between UA-A and Oracle Communications Session BorderController.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    • UA-A sends REFER-TO: C to Oracle Communications Session Border Controller.

    Chapter 2SIPREC Call Flows

    2-33

  • • Oracle Communications Session Border ControllerOracle CommunicationsSession Border Controller responds with 202 ACCEPTED to UA-A.

    • Oracle Communications Session Border Controller sends INVITE to UA-C.

    • UA-C responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends NOTIFY with OKresponse to UA-A.

    • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller sends re-INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends re-INVITE to SRS withnew SDP and metadata.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-C.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS.

    • UA-C sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-C.

    • Oracle Communications Session Border Controller sends BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends BYE to SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    SRS Indicates Busy in Call (recording not required)The following illustration shows the Session Recording Server (SRS) is BUSY for acall session. Recording is not required in this call flow.

    Chapter 2SIPREC Call Flows

    2-34

  • • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-A.

    • Oracle Communications Session Border Controller sends INVITE to SRS1 withSDP and metadata.

    • SRS1 responds to Oracle Communications Session Border Controller with 436BUSY HERE.

    • RTP stream initiated between UA-A andOracle Communications Session BorderController.

    • RTP stream initiated between Oracle Communications Session Border Controllerand UA-B.

    • Oracle Communications Session Border Controller sends INVITE to SRS2 withSDP and metadata.

    • SRS2 responds with OK to Oracle Communications Session Border Controller.

    • RTP stream initiated between Oracle Communications Session Border Controllerand SRS2.

    Chapter 2SIPREC Call Flows

    2-35

  • • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller responds with OK to UA-A.

    • Oracle Communications Session Border Controller sends BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends BYE to SRS2.

    • SRS2 responds with OK to Oracle Communications Session Border Controller.

    Call Transfer Scenario (recording required)The following illustration shows the Re-INVITE from Oracle Communications SessionBorder Controller to SRS on receiving in-dialog-requests INVITE/ UPDATE/ Re-INVITEduring call session. Recording is required in this call flow.

    • UA-A sends INVITE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller updates the INVITE messageto the Metadata in SRS.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller sends an INVITE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK response to UA-A.

    Chapter 2SIPREC Call Flows

    2-36

  • • Oracle Communications Session Border Controller sends INVITE to SRS inRecording Session.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • UA-A sends an UPDATE message to Oracle Communications Session BorderController.

    • Oracle Communications Session Border Controller forwards UPDATE message toUA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK to UA-A..

    • Oracle Communications Session Border Controller sends a re-INVITE to SRS inRecording Session.

    • SRS responds with OK to Oracle Communications Session Border Controller.

    • UA-A sends BYE to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards BYE to UA-B.

    • UA-B responds with OK to Oracle Communications Session Border Controller.

    • Oracle Communications Session Border Controller forwards OK to UA-B.

    • Oracle Communications Session Border Controller sends BYE to SRS inRecording Session.

    • SRS responds with OK to Oracle Communications Session Border Controller inRecording Session.

    Chapter 2SIPREC Call Flows

    2-37

  • 3Oracle Communications OperationsMonitor Deployments

    The Oracle® Communications Operations Monitor (OCOM) Mediation Engine is aplatform that collects SIP, DIAMETER, DNS and ENUM protocol message trafficreceived from OCOM Probes. You can configure the Oracle Communications SessionBorder Controller to run an onboard Probe. Probes can also run on COTS hardwarecollecting packets, for example, from span/monitor ports on Ethernet switches.A Probe takes the protocol packets, prepends a receive timestamp and otherinformation, encapsulates the packets, and passes them to the OCOM mediationengine via a secure connection. After receiving protocol traffic from a Probe, mediationengine stores the traffic in an internal database, and analyzes aggregated data toprovide comprehensive multi-level monitoring, troubleshooting, and interoperabilityinformation. This traffic can be both IPv4 and IPv6.

    In contrast to the Packet-Trace feature, message logging is performed by software,which sends a copy of sent/received messages over UDP, or by saving suchmessages in a local file. The copy includes a timestamp, port/vlan information, andIP:port information, but all in ASCII format. Message Logging is performed after alldecryption, meaning that SIP/TLS traffic cam be monitored. Because remote messagelogging sends the protocol messages over UDP, there is no guarantee or confirmationof delivery.

    The Oracle Communications Session Border Controller provides support for a user-configurable capability that enables the system to function as an OCOM Probe. Actingas a Probe, or as an exporter, the Oracle Communications Session Border Controllercan:

    1. Establish an authenticated, persistent, reliable TCP connection between itself andone or more OCOM Mediation Engines.

    2. Optionally ensure message privacy by encrypting the TCP connection using TLS.

    3. Use the TCP connection to send a UTC-timestamped, unencrypted copy of aprotocol message to the OCOM Mediation Engine(s).

    4. Accompany the copied message with related data to include: the port/vlan onwhich the message was sent/received, local and remote IP:port information, andthe transport layer protocol.

    IPFIXThe Oracle Communications Session Border Controller uses the IPFIX suite ofstandards to export protocol message traffic and related data to the OracleCommunications Operations Monitor (OCOM) Mediation Engine.

    • RFC 5101, Specification of the IP Flow Information Export (IPFIX) Protocol for theExchange of IP Traffic Flow Information

    • RFC 5102, Information Model for IP Flow Information Export

    • RFC 5470, Architecture for IP Flow Information Export

    3-1

  • • RFC 5