Skip to content

Commit 4985296

Browse files
committed
adding audio forkign schema
1 parent 7a13bb1 commit 4985296

5 files changed

Lines changed: 739 additions & 0 deletions

File tree

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
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

Comments
 (0)