Media Connector

This section contains Media Connector proto files.

mediamanager/connector/media/media_connector.proto

MediaConnectorCommand

Command to be executed by the Media Connector.

MediaConnectorCommand
Field Type Description
One of connector_command:  
   start_record_command StartRecordCommand Mandatory. Instructs the Media Connector to start a recording.
   stop_record_command StopRecordCommand Mandatory. Instructs the Media Connector to stop a recording.
   pause_record_command PauseRecordCommand Mandatory. Instructs the Media Connector to pause a recording.
   resume_record_command ResumeRecordCommand Mandatory. Instructs the Media Connector to resume a paused recording.

MediaConnectorCommandResponse

The command response executed by the Media Connector.

MediaConnectorCommandResponse
Field Type Description
One of connector_command_response:  
   start_record_command_response StartRecordCommandResponse Mandatory. The response for a StartRecordCommand.
   stop_record_command_response StopRecordCommandResponse Mandatory. The response for a StopRecordCommand.
   pause_record_command_response PauseRecordCommandResponse Mandatory. The response for a PauseRecordCommand.
   resume_record_command_response ResumeRecordCommandResponse Mandatory. The response for a ResumeRecordCommand.

PauseRecordCommand

Pause record command message.

PauseRecordCommand
Field Type Description
recording_id string Mandatory. The recording ID associated with the recording.

PauseRecordCommandResponse

The response for a PauseRecordCommand.

ResumeRecordCommand

Resume record command message.

ResumeRecordCommand
Field Type Description
recording_id string Mandatory. The recording ID associated with the recording.
recording_control_attributes repeated ResumeRecordCommand.RecordingControlAttributesEntry Optional. e.g.: recording_control_attributes can be used by Media connector when it needs to instruct OVS RCC connector to filter the RTP traffic.

ResumeRecordCommand.RecordingControlAttributesEntry

ResumeRecordCommand.RecordingControlAttributesEntry
Field Type Description
key string  
value string  

ResumeRecordCommandResponse

The response for a ResumeRecordCommand.

StartRecordCommand

Start record command message.

StartRecordCommand
Field Type Description
recording_profile string Optional. The recording profile to be used for this recording. Must be defined in the Media Connector.
call_identifier nuance.mediamanager.connector.v1.CallIdentifier Mandatory. The call identifier to be used for the recording.
recording_side RecordingSide The side to be recorded
agent_info nuance.mediamanager.connector.v1.AgentInfo Optional. The agent information to be used for the recording.
rcc_address string Optional. Represents the Recorder Connector address that the Media Connector shall use to sends a recorder command. The address must be in the format of “dns://host:port” or “static://ipv4-address:port”
media_coordination_info nuance.mediamanager.connector.v1.MediaCoordinationInfo Optional. MediaCoordinationInfo used by Media Manager to identify which Media Connector to send the recording command when present.
recording_control_attributes repeated StartRecordCommand.RecordingControlAttributesEntry Optional. e.g.: recording_control_attributes can be used by Media connector when it needs to instruct OVS RCC connector to filter the RTP traffic.

StartRecordCommand.RecordingControlAttributesEntry

StartRecordCommand.RecordingControlAttributesEntry
Field Type Description
key string  
value string  

StartRecordCommandResponse

The response for a StartRecordCommand.

StartRecordCommandResponse
Field Type Description
recording_id string Mandatory. The unique ID associated with the recording.
media_urn string Mandatory. The Media URN for the recording that can be used to access the media.

StopRecordCommand

Stop record command message.

StopRecordCommand
Field Type Description
recording_id string Mandatory. The recording ID associated with the recording.

StopRecordCommandResponse

The response for a StopRecordCommand.

RecordingSide

Listing of the possible recording sides. The side 1 could be the caller, and side 2 could be the agent, or vice versa, which depends on the configuration in the recorder.

Name Number Description
RECORDING_SIDE_UNSPECIFIED 0
RECORDING_SIDE_1 1
RECORDING_SIDE_2 2
RECORDING_SIDE_ALL 10

mediamanager/connector/media/media_service.proto

MediaService

This service allows a connector to create a stream media to Media Manager.

gRPC method definitions

gRPC method definitions
Method Name Request Type Response Type Description
CreateMedia CreateMedia
Request
CreateMedia
Response
Creates a media entity to be used for streaming media.
StreamMedia StreamMedia
Request
stream
StreamMedia
Response
Streams media to Media Manager. Used by the Media Connector to stream a live recording.

ALaw

Input message defining ALaw audio format. G.711 audio formats are set to 8kHz.

AudioFormat

Input message containing the audio format of the media.

AudioFormat
Field Type Description
One of audio_format:  
One of the following audio formats.
   pcm PCM Signed 16-bit little endian PCM.
   alaw ALaw G.711 A-law, 8kHz.
   ulaw ULaw G.711 Mu-law, 8kHz.
   g729 G729 G729/G729A
num_channels uint32 Number of channels. i.e. mono audios have one channel, while stereo audios usually have 2 channels.

CreateMediaRequest

Input message that defines parameters for CreateMedia.

CreateMediaRequest
Field Type Description
realm_id string Mandatory. The realm ID of the media.

CreateMediaResponse

Output message that defines parameters returned by CreateMedia.

CreateMediaResponse
Field Type Description
status nuance.rpc.Status General operation status.
media_urn string The Media URN of the created media entity.

EndOfStreamRequest

Message indicating the end of stream.

EndOfStreamRequest
Field Type Description
diagnostic_details repeated nuance.rpc.DiagnosticDetail Optional. Provides detailed diagnostic info in case of a failure processing a request.

G729

Input message defining G729/G729A audio format. G.729/G.729A audio format is set to 8kHz.

MediaChunkRequest

Message containing a media chunk.

MediaChunkRequest
Field Type Description
data bytes Mandatory. Media chunk data
chunk_duration google.protobuf.Duration Optional. The duration of the media chunk.
chunk_timestamp google.protobuf.Duration Optional. The timestamp of the media chunk relative to the start of the stream. The timestamp should start with 0.

MediaInfoRequest

Message containing the information about the media.

MediaInfoRequest
Field Type Description
audio_format AudioFormat Mandatory. The audio format of the media stream.

MediaPausedRequest

Message indicating that the stream is paused.

MediaResumedRequest

Message indicating that the stream is resumed.

PCM

Input message defining PCM audio format.

PCM
Field Type Description
sample_rate_hz uint32 Audio sample rate. Default 0, meaning 8000.

StreamMediaRequest

Input message that defines parameters for StreamMedia.

StreamMediaRequest
Field Type Description
realm_id string Optional. The realm ID of the media. Ignored if media_urn is in version 2 format.
media_urn string Mandatory. The URN of the media to be streamed.
One of stream_media_request:  
   media_info_request MediaInfoRequest Message containing the information about the media. Must be the first message in the stream.
   media_chunk_request MediaChunkRequest Message containing a media chunk.
   end_of_stream_request EndOfStreamRequest Message indicating the end of stream. Must be the last message in the stream.
   media_paused_request MediaPausedRequest Message indicating that the stream is paused. Must be sent periodically (once per second).
   media_resumed_request MediaResumedRequest Message indicating that the stream is resumed. Must be followed by a MediaChunkRequest or EndOfStreamRequest.

StreamMediaResponse

Output message that defines parameters returned by StreamMedia.

StreamMediaResponse
Field Type Description
status nuance.rpc.Status General operation status.

ULaw

Input message defining ULaw audio format. G.711 audio formats are set to 8kHz.

mediamanager/media/media_resources.proto

ALaw

Input message defining ALaw audio format. G.711 audio formats are set to 8kHz.

AudioChannelSelector

Message defining audio selector

AudioChannelSelector
Field Type Description
channel uint32 The channel to select. When channel=0 or not specified, all channels will be returned.

AudioFormat

Message defining the audio format.

AudioFormat
Field Type Description
One of audio_format:  
One of the following audio formats.
   pcm PCM Signed 16-bit little endian PCM.
   alaw ALaw G.711 A-law, 8kHz.
   ulaw ULaw G.711 Mu-law, 8kHz.
   mp3 Mp3 Mp3.
   g729 G729 G729/G729A
num_channels uint32 Number of channels. i.e. mono audios have one channel, while stereo audios usually have 2 channels.

AudioInfo

Provides information about the audio.

AudioInfo
Field Type Description
audio_type AudioType Audio type.
channels uint32 Number of channels.
sample_rate_hz uint32 Audio sample rate.

DiagnosticTrace

Provides diagnostic information information about request processing steps.

DiagnosticTrace
Field Type Description
connector_type ConnectorType Mandatory. The type of connector involved in the request processing.
connector_id string Mandatory. The ID of the connector involved in the request processing.
external_connector_id string Mandatory. The ID of the specific connector instance involved in the request processing.

G729

Input message defining G729/G729A audio format. G.729/G.729A audio format is set to 8kHz.

MediaFormat

Message defining the media format used for transcoding.

MediaFormat
Field Type Description
container Container Required. Media container.
audio_format AudioFormat Optional. Specifies the audio format. If not provided, the original audio format will be returned.

MediaInfo

Provides information about the media.

MediaInfo
Field Type Description
container Container Media container.
audio_info AudioInfo Audio information.

MediaSelector

Input message specifying the channel if only one channel of a stereo media is needed.

MediaSelector
Field Type Description
One of media:  
   audioChannelSelector AudioChannelSelector Audio selector.Future: Video

Mp3

Input message defining the Mp3 audio format and the transcoding instructions.

Mp3
Field Type Description
target Mp3.Target Optional. Optimize for quality or bitrate. If not specified, default is TARGET_QUALITY.
bitrate uint32 Optional. Bitrate in kbit/sec (Only valid if target is bitrate, for CBR one of 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 or 320). If not specified, default is 128.
cbr bool Optional. Enforce constant bitrate encoding (Only valid if target is bitrate). Default is false.
quality float Optional. VBR Quality from 0 to 10, 0 being the best (Only valid if target is quality). If not specified, default is 4.
mono bool Optional. Enforce mono encoding. Default is false.
encoding_engine_quality Mp3.EncodingEngineQuality Optional. Quality/speed of the encoding engine, this does not affect the bitrate.

PCM

Input message defining PCM sample rate.

PCM
Field Type Description
sample_rate_hz uint32 Audio sample rate. Minimum 8000. If not specified, the original sample rate will be returned.

ULaw

Input message defining ULaw audio format. G.711 audio formats are set to 8kHz.

AudioType

Audio type

Name Number Description
AUDIO_TYPE_UNSPECIFIED 0 Audio type not specified.
AUDIO_TYPE_PCM 1 PCM audio type.
AUDIO_TYPE_ULAW 2 ULAW audio type.
AUDIO_TYPE_ALAW 3 ALAW audio type.
AUDIO_TYPE_MP3 4 Mp3 audio type.
AUDIO_TYPE_G729 5 G729/G729A audio type.

ConnectorType

Listing of valid connector types.

Name Number Description
CONNECTOR_TYPE_UNSPECIFIED 0 Unspecified connector type.
CONNECTOR_TYPE_MEDIA 1 Media connector.
CONNECTOR_TYPE_CTI 2 CTI connector.
CONNECTOR_TYPE_SIPREC 3 SIPREC connector. Deprecated.
CONNECTOR_TYPE_GENERIC 4 Generic connector.
CONNECTOR_TYPE_RCC 5 Recording controller connector.

Container

Media container type.

Name Number Description
CONTAINER_UNSPECIFIED 0 Media container not specified.
CONTAINER_RAW 1 Raw media with no container.
CONTAINER_WAV 2 WAV container.
CONTAINER_MP3 3 MP3 audio.

Mp3.EncodingEngineQuality

Encoding engine quality.

Name Number Description
ENCODING_ENGINE_QUALITY_UNSPECIFIED 0 Encoding engine quality is not specified
ENCODING_ENGINE_QUALITY_FAST 1 Lower quality, but faster encoding speed.
ENCODING_ENGINE_QUALITY_STANDARD 2 Standard quality.
ENCODING_ENGINE_QUALITY_HIGH 3 High quality, but slower encoding speed.

Mp3.Target

Name Number Description
TARGET_UNSPECIFIED 0 Target is unspecified.
TARGET_QUALITY 1 Target is quality.
TARGET_BITRATE 2 Target is bitrate.