Jump to: navigation, search

How Call Recording Works

Depending on how the feature is configured, the basic call flow for call recording is as follows:

  1. Call recording is initiated in one of the following ways:
    • Static configuration—Recording is enabled through static DN-level configuration on either the customer side (Trunk DN) or on the agent side (Extension DN or Agent Login).
    • Routing strategy—The routing strategy initiates recording through the TRouteCall request that it sends to SIP Server.
    • T-Library client or third party recorder—A T-Library client initiates recording through a TPrivateService request that it sends to SIP Server.
  2. Based on this trigger, SIP Server builds a request URI that includes key recording-related parameters. It then sends this request URI in an INVITE to Resource Manager.
  3. Resource Manager determines the right Media Control Platform (MCP) to provide the service, and then forwards the INVITE to the selected MCP, in order to set up the service.
  4. SIP Server sends additional Media Server Markup Language (MSML) instructions in SIP INFO messages, telling Media Server to start the recording.
  5. For additional control over the established recording session, the T-Library TPrivateService request can be used to initiate new actions—for example, to pause or resume recording. SIP Server forwards the resulting MSML instructions in new INFO messages.

    Supported Media File Format

    MSML-based call recording supports the .wav and G.711 stereo file formats.

    Building the Request URI for the Recording

    SIP Server builds the Request URI for the call recording in a number of ways, depending on configuration and type of call recording:
    sip:msml=<conf-id>@<resource-managaer>;<dn>=<DN>;record

    where,

    • msml—is the fixed part of the URI. It identifies the protocol as MSML.
    • conf-id—is the unique identifier for the MSML/recording session. It ensures that all users are connected to the correct Media Server.
    • DN—is the DN of the endpoint that SIP Server will record.
    • Record—Identifies "record" as the type of MSML session. Genesys Media Server can then properly handle recording separately from other MSML services.


    Call recording can be started on an as-needed or "emergency" basis during an ongoing call. To initiate dynamic recording, recording-related parameters are included in the Extensions attribute in either of the following T-Library messages:

    TRouteCall

    The URS routing strategy must be configured to include recording-related parameters in the TRouteCall request that it sends to SIP Server. The Extensions attribute must include the key record, with one of the following values:

    • source—The recording will be initiated on the routing destination DN (agent) and will continue as long as the agent stays in the call.
    • destination—The recording will be initiated on the DN that sent the call to the routing point (customer) and will continue as long as the customer stays in the call.

    TPrivateService

    The T-library client or third party recorder must include recording-related parameters in the PrivateService request that it sends to SIP Server. To initiate dynamic recording with TPrivateService, the request uses the following parameters:

    Attribute Value
    PrivateMsgID Specifies the type of recording operation to be performed:
    • GSIP_RECORD_START (3013)—Starts the recording.
    ThisDN Specifies the DN on behalf of which the recording operation is requested. This DN must be registered by the T-Library client
    ConnectionID References the ID for the call that is currently being recorded.
    Extensions Specifies key-value pairs used to control the recording session:
    • record—Set to source or destination.
    • id—Adds a recording identifier to the recording session. This identifier must be globally unique; it is passed back in the recording session. If this parameter is not included in the request, SIP Server will construct a unique identifier based on the recording-filename option.
    • dest—Overrides the default location of the 3rd party recording server.
    • params—Adds additional parameters that are passed as general key-value pairs in the request.

    There parameters will appear in the recording session. For example,

    AttributeExtensions...
    'record' 'source'
    'id' '32980asdf320990ad'
    'dest' 'sip:172.24.129.75:5070'
    'name1' 'value1'
    'name2' 'value2'

    Reasons Specifies any reasons. Processed the same as for all other T-Library requests.

    Mid-Call Control of the Recording Session

    Using TPrivateService requests, T-Library clients can control, in real-time, an ongoing recording session. The client can pause, resume, or stop the recording. SIP Server translates recording-related parameters from the request to INFO messages that it sends to Genesys Media Server.

    Supported mid-call actions are as follows:

    • Stop the recording.
    • Pause the recording.
    • Resume a paused recording.

    To control mid-call recording, the TPrivateService request uses the following parameters:

    Attribute Value
    PrivateMsgID Specifies the type of recording operation to be performed:
    • GSIP_RECORD_STOP (3014)—Stops the recording.
    • GSIP_RECORD_PAUSE (3015)—Pauses the recording.
    • GSIP_RECORD_RESUME (3016)—Resumes the recording.
    ThisDN Specifies the DN on behalf of which the recording operation is requested. This DN must be registered by the T-Library client.
    ConnectionID References the ID for the call that is currently being recorded.
    Reasons Specifies any reasons. Processed the same as for all other T-Library requests.

    Recording During Transfers and Conferences

    SIP Server supports continuous recording for calls that are transferred or added to a conference. Once recording is initiated (through DN configuration, routing strategy, or by T-library client), recording will continue for as long as one party that is set for recording remains in the call. Recording ends when no more recording-enabled parties are left.

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on June 19, 2013, at 06:40.