|
| 1 | +# Protocol Documentation |
| 2 | +<a name="top"></a> |
| 3 | + |
| 4 | +## Table of Contents |
| 5 | + |
| 6 | +- [conversationaudioforking.proto](#conversationaudioforking-proto) |
| 7 | + - [AudioStream](#com-cisco-wcc-ccai-media-v1-AudioStream) |
| 8 | + - [ConversationAudioForkingRequest](#com-cisco-wcc-ccai-media-v1-ConversationAudioForkingRequest) |
| 9 | + - [ConversationAudioForkingResponse](#com-cisco-wcc-ccai-media-v1-ConversationAudioForkingResponse) |
| 10 | + |
| 11 | + - [ConversationAudio](#com-cisco-wcc-ccai-media-v1-ConversationAudio) |
| 12 | + |
| 13 | +- [Scalar Value Types](#scalar-value-types) |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +<a name="conversationaudioforking-proto"></a> |
| 18 | +<p align="right"><a href="#top">Top</a></p> |
| 19 | + |
| 20 | +## conversationaudioforking.proto |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | +<a name="com-cisco-wcc-ccai-media-v1-AudioStream"></a> |
| 25 | + |
| 26 | +### AudioStream |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +| Field | Type | Label | Description | |
| 31 | +| ----- | ---- | ----- | ----------- | |
| 32 | +| audio_data | [bytes](#bytes) | | The raw audio bytes for the stream (either agent or caller). | |
| 33 | +| encoding | [AudioEncoding](#com-cisco-wcc-ccai-media-v1-AudioEncoding) | | | |
| 34 | +| sample_rate_hertz | [int32](#int32) | | Sampling rate of the input audio in Hz. | |
| 35 | +| audio_timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Start timestamp of when the audio data was captured. | |
| 36 | +| role | [ParticipantRole](#com-cisco-wcc-ccai-media-v1-ParticipantRole) | | Role of the participant providing the audio (caller, agent, or supervisor). | |
| 37 | +| user_id | [string](#string) | | IDs might be numbers or UUIDs. We could change string to specific objects if needed. | |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | +<a name="com-cisco-wcc-ccai-media-v1-ConversationAudioForkingRequest"></a> |
| 45 | + |
| 46 | +### ConversationAudioForkingRequest |
| 47 | +Request message for streaming conversation audio, DTMF, and events. |
| 48 | + |
| 49 | + |
| 50 | +| Field | Type | Label | Description | |
| 51 | +| ----- | ---- | ----- | ----------- | |
| 52 | +| conversation_id | [string](#string) | | Conversation ID - mapped to call ID. | |
| 53 | +| customer_org_id | [string](#string) | | Customer org id. | |
| 54 | +| stream_status | [StreamStatus](#com-cisco-wcc-ccai-media-v1-StreamStatus) | | Indicates the current stream status (e.g., PAUSED or ACTIVE). | |
| 55 | +| audio | [AudioStream](#com-cisco-wcc-ccai-media-v1-AudioStream) | | Audio stream. | |
| 56 | +| dtmf_input | [AudioDtmfEvents](#com-cisco-wcc-ccai-media-v1-AudioDtmfEvents) | | DTMF tones input during the call. | |
| 57 | +| call_event | [CallEvent](#com-cisco-wcc-ccai-media-v1-CallEvent) | | Call state events (e.g., call start, call end). | |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | +<a name="com-cisco-wcc-ccai-media-v1-ConversationAudioForkingResponse"></a> |
| 65 | + |
| 66 | +### ConversationAudioForkingResponse |
| 67 | +Response message for server to send control commands or status to the client. |
| 68 | + |
| 69 | + |
| 70 | +| Field | Type | Label | Description | |
| 71 | +| ----- | ---- | ----- | ----------- | |
| 72 | +| status_message | [string](#string) | | Optional acknowledgment or status message. | |
| 73 | +| control | [StreamControl](#com-cisco-wcc-ccai-media-v1-StreamControl) | | Stream control message for pause, resume, or stop actions. | |
| 74 | +| error_code | [ErrorCode](#com-cisco-wcc-ccai-media-v1-ErrorCode) | | Any error codes related to processing the stream (optional). | |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | + |
| 84 | + |
| 85 | + |
| 86 | + |
| 87 | +<a name="com-cisco-wcc-ccai-media-v1-ConversationAudio"></a> |
| 88 | + |
| 89 | +### ConversationAudio |
| 90 | +Service definition for streaming agent and caller audio, DTMF, and call events. |
| 91 | + |
| 92 | +| Method Name | Request Type | Response Type | Description | |
| 93 | +| ----------- | ------------ | ------------- | ------------| |
| 94 | +| StreamConversationAudio | [ConversationAudioForkingRequest](#com-cisco-wcc-ccai-media-v1-ConversationAudioForkingRequest) stream | [ConversationAudioForkingResponse](#com-cisco-wcc-ccai-media-v1-ConversationAudioForkingResponse) stream | Bidirectional streaming RPC where the client streams data, and the server sends control commands. | |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | + |
| 100 | +## Scalar Value Types |
| 101 | + |
| 102 | +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | |
| 103 | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | |
| 104 | +| <a name="double" /> double | | double | double | float | float64 | double | float | Float | |
| 105 | +| <a name="float" /> float | | float | float | float | float32 | float | float | Float | |
| 106 | +| <a name="int32" /> int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | |
| 107 | +| <a name="int64" /> int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | |
| 108 | +| <a name="uint32" /> uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | |
| 109 | +| <a name="uint64" /> uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | |
| 110 | +| <a name="sint32" /> sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | |
| 111 | +| <a name="sint64" /> sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | |
| 112 | +| <a name="fixed32" /> fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | |
| 113 | +| <a name="fixed64" /> fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | |
| 114 | +| <a name="sfixed32" /> sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | |
| 115 | +| <a name="sfixed64" /> sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | |
| 116 | +| <a name="bool" /> bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| 117 | +| <a name="string" /> string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | |
| 118 | +| <a name="bytes" /> bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | |
| 119 | + |
0 commit comments