Contents
T-Library
Enabling Call Recording
The T-lib interface allows recording to be enabled in three ways:
- Through configuration—Set the record option to true in the DN object to instruct SIP Server to enable full-time recording for this DN. This is an existing feature.
- Extension in the TrouteCall event to enable recording on trunk side or agent side. When calling TrouteCall, add the record key in the extension attribute and set the value to source for customer recording or destination for agent recording. This is an existing feature.
- Adding a new extension in the TrequestPrivateService event to request call recording to be enabled on an existing connection as described in the following table:
RequestPrivateService—Request services that are supported only by certain T-Servers, and which are not covered by general feature requests.
Parameters | Description |
---|---|
AttrPrivateMsgID | This parameter is mandatory and must be equal to GSIP_RECORD_START. |
AttrThisDN | This parameter is mandatory, and is the DN on behalf of which the operation is requested. It must be registered by the T-Client, but not necessary be a party on the call (for example, the supervisor may request recording of the agent’s call). |
AttrConnectionID | This parameter is mandatory and references the ID for the call to record. |
AttrExtensions | Additional request parameters:
|
AttrReasons | The reasons. These are processed the same as for all other T-Library requests. |
Note: SIP Server responds to the request with either EventACK to confirm the acceptance of the request, or EventError if the operation cannot be performed.
Runtime Control of Recording
When the recording session is established, T-lib interface allows run-time control of the recording for pause, resume, and stop. The following table describes a new extension for TrequestPrivateService:
RequestPrivateService—Request services that are supported only by certain T-Servers, and which are not covered by general feature requests.
Parameters | Description |
---|---|
AttrPrivateMsgID | Specifies the operation. Choose one of the following values:
|
AttrThisDN | The DN on behalf of which the operation is requested. It must be registered by the T-Client, but not necessary be a party on the call. |
AttrConnectionID | References the ID for the call being recorded. |
AttrExtensions | Additional request parameters:
|
AttrReasons | The reasons. These are processed the same as for all other T-Library requests. |
Note: SIP Server responds to the request with either EventACK to confirm the acceptance of the request, or EventError if the operation cannot be performed.
Recording indication
There are two mechanisms for SIP Server to provide recording indication:
- After SIP Server successfully started recording on Media Server, SIP Server updates UserData to the call with GSIP_REC_FN with the file name of the recording. A T-lib client monitoring the call will receive an EventAttachedDataChanged with GSIP_REC_FN. This is an existing functionality for legacy Stream Manager recording. For clients who only want to know whether a recording has been enabled any time during the call, this userdata is sufficient.
- For clients such as Interaction Workspace who need to render the current recording state for the call, GSIP_REC_FN is not sufficient as a recording indicator. SIP Server provides a new UserData called GSIP_RECORD to provide the current state of recording for this call. Whenever SIP Server knows there is a change in recording, SIP Server sends an EventAttachedDataChanged with GSIP_RECORD to update the value of the key. This key has three values:
- On—Recording is currently in progress.
- Off—No recording in progress.
- Paused—Recording is currently in progress but no media is currently captured.