@wildix/wilma-voice-client 0.0.40 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import type { DocumentType as __DocumentType, StreamingBlobTypes } from "@smithy/types";
2
- import type { VoiceAudioEncoding, VoiceCallEndReason, VoiceCallToolPhase, VoiceCommandType, VoiceControlAction, VoiceEventType, VoiceInputMode, VoicePronunciationEncoding } from "./enums";
2
+ import type { MediaAudioBeginFrameType, MediaAudioEncoding, MediaAudioEndFrameType, MediaDtmfFrameType, MediaDuckFrameType, MediaErrorFrameType, MediaFinishedFrameType, MediaFinishFrameType, MediaFinishReason, MediaHangupFrameType, MediaLanguageFrameType, MediaParty, MediaPlaybackEvent, MediaPlaybackFrameType, MediaPlaybackStopCause, MediaRestoreFrameType, MediaRunPurpose, MediaStartedFrameType, MediaStartFrameType, MediaStopFrameType, MediaTranscriptionFrameType, MediaTransferFrameType, MediaVadFrameType, VoiceAudioEncoding, VoiceCallEndReason, VoiceCallToolPhase, VoiceCommandType, VoiceControlAction, VoiceEventType, VoiceInputMode, VoicePronunciationEncoding, VoiceTranscriptionDropReason } from "./enums";
3
3
  /**
4
4
  * A pronunciation rule for one phrase. Belongs to a LANGUAGE, not to the agent: 'Wildix' is
5
5
  * respelled differently for an Italian and a German voice, so one list shared ACROSS languages
@@ -351,6 +351,11 @@ export interface VoiceCallTranscriptionEvent {
351
351
  * @public
352
352
  */
353
353
  time?: number | undefined;
354
+ /**
355
+ * Present on a final that did not go to the agent as a caller turn. It came while the agent spoke and the cloud took it for noise or echo, or for another speaker.
356
+ * @public
357
+ */
358
+ dropped?: VoiceTranscriptionDropReason | undefined;
354
359
  }
355
360
  /**
356
361
  * One event on a live call. The SSE frame's `event:` is the member name and `data:` this whole union document, so a frame reads `data: \{"say": \{...\}\}` — never the member's payload on its own.
@@ -764,6 +769,586 @@ export interface InterruptionWebsocketEvent {
764
769
  */
765
770
  event: InterruptionEvent;
766
771
  }
772
+ /**
773
+ * Opens an agent audio stream. `MediaCloudAudio` messages of the stream follow until `audio.end`. Streams do not interleave.
774
+ * @public
775
+ */
776
+ export interface MediaAudioBeginFrame {
777
+ type: MediaAudioBeginFrameType;
778
+ /**
779
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
780
+ * @public
781
+ */
782
+ replyId: string;
783
+ /**
784
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
785
+ * @public
786
+ */
787
+ streamId: string;
788
+ /**
789
+ * Sample rate of the stream's `pcm_s16le` mono audio in Hz: 8000, 16000, 22050 or 24000.
790
+ * @public
791
+ */
792
+ sampleRate: number;
793
+ }
794
+ /**
795
+ * Closes an agent audio stream.
796
+ * @public
797
+ */
798
+ export interface MediaAudioEndFrame {
799
+ type: MediaAudioEndFrameType;
800
+ /**
801
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
802
+ * @public
803
+ */
804
+ streamId: string;
805
+ }
806
+ /**
807
+ * Lower the volume of a playing reply.
808
+ * @public
809
+ */
810
+ export interface MediaDuckFrame {
811
+ type: MediaDuckFrameType;
812
+ /**
813
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
814
+ * @public
815
+ */
816
+ replyId: string;
817
+ /**
818
+ * Target gain in dB.
819
+ * @public
820
+ */
821
+ volumeDb: number;
822
+ /**
823
+ * Ramp duration in ms.
824
+ * @public
825
+ */
826
+ rampMs: number;
827
+ }
828
+ /**
829
+ * An error on the run. When `retryable` is false, the socket closes after it.
830
+ * @public
831
+ */
832
+ export interface MediaErrorFrame {
833
+ type: MediaErrorFrameType;
834
+ /**
835
+ * Stable error code, for example `START_TIMEOUT`, `PROTOCOL_ERROR` or `STT_FAILED`.
836
+ * @public
837
+ */
838
+ code: string;
839
+ retryable: boolean;
840
+ message: string;
841
+ }
842
+ /**
843
+ * Answer to `finish`: the cloud processed all audio. The socket closes with 1000 after it.
844
+ * @public
845
+ */
846
+ export interface MediaFinishedFrame {
847
+ type: MediaFinishedFrameType;
848
+ }
849
+ /**
850
+ * Hang up the call after the queued agent audio plays. Terminal: the PBX answers with `finish`.
851
+ * @public
852
+ */
853
+ export interface MediaHangupFrame {
854
+ type: MediaHangupFrameType;
855
+ }
856
+ /**
857
+ * The call continues in another language.
858
+ * @public
859
+ */
860
+ export interface MediaLanguageFrame {
861
+ type: MediaLanguageFrameType;
862
+ /**
863
+ * Language that the call continues in.
864
+ * @public
865
+ */
866
+ language: string;
867
+ }
868
+ /**
869
+ * Return a reply to full volume.
870
+ * @public
871
+ */
872
+ export interface MediaRestoreFrame {
873
+ type: MediaRestoreFrameType;
874
+ /**
875
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
876
+ * @public
877
+ */
878
+ replyId: string;
879
+ /**
880
+ * Ramp duration in ms.
881
+ * @public
882
+ */
883
+ rampMs: number;
884
+ }
885
+ /**
886
+ * The agent that answers the run.
887
+ * @public
888
+ */
889
+ export interface MediaStartedAgent {
890
+ name: string;
891
+ }
892
+ /**
893
+ * Caller voice detection of a run, with every value resolved.
894
+ * @public
895
+ */
896
+ export interface MediaVoiceDetection {
897
+ /**
898
+ * Silence in ms that ends the caller speech.
899
+ * @public
900
+ */
901
+ silenceMs: number;
902
+ /**
903
+ * Level in dBFS below which caller audio is silence.
904
+ * @public
905
+ */
906
+ silenceLevelDb: number;
907
+ /**
908
+ * Mean frame level in dBFS from which caller audio is speech.
909
+ * @public
910
+ */
911
+ speechLevelDb: number;
912
+ }
913
+ /**
914
+ * The cloud accepted `start`. Sent once per connection.
915
+ * @public
916
+ */
917
+ export interface MediaStartedFrame {
918
+ type: MediaStartedFrameType;
919
+ /**
920
+ * Id of the cloud stream of this run. Cloud logs carry it; use it to match PBX and cloud logs.
921
+ * @public
922
+ */
923
+ streamId: string;
924
+ /**
925
+ * Present when the run purpose is `agent`.
926
+ * @public
927
+ */
928
+ agent?: MediaStartedAgent | undefined;
929
+ /**
930
+ * Group of the agent. Absent when the agent has none.
931
+ * @public
932
+ */
933
+ groupId?: string | undefined;
934
+ /**
935
+ * Music-on-hold class that the PBX plays after each caller turn until agent audio starts. Absent: none.
936
+ * @public
937
+ */
938
+ backgroundSound?: string | undefined;
939
+ /**
940
+ * Caller voice detection that the PBX uses for the `vad` frames of this run. Absent: the PBX keeps its defaults.
941
+ * @public
942
+ */
943
+ voiceDetection?: MediaVoiceDetection | undefined;
944
+ }
945
+ /**
946
+ * Stop every agent audio stream of the run: the one that plays and the ones that wait.
947
+ * @public
948
+ */
949
+ export interface MediaStopFrame {
950
+ type: MediaStopFrameType;
951
+ }
952
+ /**
953
+ * Words of one party. Partials and the final of one utterance share `id`. For the agent, the words that played.
954
+ * @public
955
+ */
956
+ export interface MediaTranscriptionFrame {
957
+ type: MediaTranscriptionFrameType;
958
+ /**
959
+ * Party that spoke. The agent's own words are `callee`.
960
+ * @public
961
+ */
962
+ party: MediaParty;
963
+ /**
964
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
965
+ * @public
966
+ */
967
+ id: string;
968
+ final: boolean;
969
+ text: string;
970
+ /**
971
+ * Run-clock time or duration in ms of PBX audio since the run started. It continues across reconnects.
972
+ * @public
973
+ */
974
+ startMs: number;
975
+ /**
976
+ * Run-clock time or duration in ms of PBX audio since the run started. It continues across reconnects.
977
+ * @public
978
+ */
979
+ endMs: number;
980
+ /**
981
+ * BCP-47 language tag, optionally with a region subtag: 'en', 'en-US', 'pt-BR'. Deliberately a
982
+ * constrained string rather than an enum: the offerable set is a property of the selected
983
+ * recogniser and changes with it, so an enumeration here would cap the set at whatever was known
984
+ * when the model was released.
985
+ * @public
986
+ */
987
+ language: string;
988
+ /**
989
+ * Recogniser confidence from 0 to 1. Absent when the text is not from a recogniser, or the engine gives none.
990
+ * @public
991
+ */
992
+ confidence?: number | undefined;
993
+ }
994
+ /**
995
+ * Transfer the call after the queued agent audio plays. Terminal: the PBX answers with `finish`.
996
+ * @public
997
+ */
998
+ export interface MediaTransferFrame {
999
+ type: MediaTransferFrameType;
1000
+ /**
1001
+ * Dialplan context of the target.
1002
+ * @public
1003
+ */
1004
+ context: string;
1005
+ /**
1006
+ * Extension of the target.
1007
+ * @public
1008
+ */
1009
+ extension: string;
1010
+ }
1011
+ /**
1012
+ * One example of each message that the cloud sends.
1013
+ * @public
1014
+ */
1015
+ export interface MediaCloudFrames {
1016
+ /**
1017
+ * The cloud accepted `start`. Sent once per connection.
1018
+ * @public
1019
+ */
1020
+ started?: MediaStartedFrame | undefined;
1021
+ /**
1022
+ * Words of one party. Partials and the final of one utterance share `id`. For the agent, the words that played.
1023
+ * @public
1024
+ */
1025
+ transcription?: MediaTranscriptionFrame | undefined;
1026
+ /**
1027
+ * Opens an agent audio stream. `MediaCloudAudio` messages of the stream follow until `audio.end`. Streams do not interleave.
1028
+ * @public
1029
+ */
1030
+ audioBegin?: MediaAudioBeginFrame | undefined;
1031
+ /**
1032
+ * One binary audio message. In the describe answer it is base64; on the socket it is raw bytes.
1033
+ * @public
1034
+ */
1035
+ audio?: Uint8Array | undefined;
1036
+ /**
1037
+ * Closes an agent audio stream.
1038
+ * @public
1039
+ */
1040
+ audioEnd?: MediaAudioEndFrame | undefined;
1041
+ /**
1042
+ * Stop every agent audio stream of the run: the one that plays and the ones that wait.
1043
+ * @public
1044
+ */
1045
+ stop?: MediaStopFrame | undefined;
1046
+ /**
1047
+ * Lower the volume of a playing reply.
1048
+ * @public
1049
+ */
1050
+ duck?: MediaDuckFrame | undefined;
1051
+ /**
1052
+ * Return a reply to full volume.
1053
+ * @public
1054
+ */
1055
+ restore?: MediaRestoreFrame | undefined;
1056
+ /**
1057
+ * The call continues in another language.
1058
+ * @public
1059
+ */
1060
+ language?: MediaLanguageFrame | undefined;
1061
+ /**
1062
+ * Transfer the call after the queued agent audio plays. Terminal: the PBX answers with `finish`.
1063
+ * @public
1064
+ */
1065
+ transfer?: MediaTransferFrame | undefined;
1066
+ /**
1067
+ * Hang up the call after the queued agent audio plays. Terminal: the PBX answers with `finish`.
1068
+ * @public
1069
+ */
1070
+ hangup?: MediaHangupFrame | undefined;
1071
+ /**
1072
+ * An error on the run. When `retryable` is false, the socket closes after it.
1073
+ * @public
1074
+ */
1075
+ error?: MediaErrorFrame | undefined;
1076
+ /**
1077
+ * Answer to `finish`: the cloud processed all audio. The socket closes with 1000 after it.
1078
+ * @public
1079
+ */
1080
+ finished?: MediaFinishedFrame | undefined;
1081
+ }
1082
+ /**
1083
+ * DTMF input that the PBX collected. The cloud takes `digits` as the caller's reply.
1084
+ * @public
1085
+ */
1086
+ export interface MediaDtmfFrame {
1087
+ type: MediaDtmfFrameType;
1088
+ /**
1089
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
1090
+ * @public
1091
+ */
1092
+ id: string;
1093
+ digits: string;
1094
+ }
1095
+ /**
1096
+ * The run ended on the PBX. The PBX sends no audio after it and waits up to 3 s for `finished`.
1097
+ * @public
1098
+ */
1099
+ export interface MediaFinishFrame {
1100
+ type: MediaFinishFrameType;
1101
+ /**
1102
+ * Who ended the run on the PBX.
1103
+ * @public
1104
+ */
1105
+ reason: MediaFinishReason;
1106
+ }
1107
+ /**
1108
+ * An agent audio stream changed state on the PBX.
1109
+ * @public
1110
+ */
1111
+ export interface MediaPlaybackFrame {
1112
+ type: MediaPlaybackFrameType;
1113
+ /**
1114
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
1115
+ * @public
1116
+ */
1117
+ replyId: string;
1118
+ /**
1119
+ * Id of a reply, a stream, an utterance or a DTMF input, unique in the run.
1120
+ * @public
1121
+ */
1122
+ streamId: string;
1123
+ /**
1124
+ * Event of an agent audio stream.
1125
+ * @public
1126
+ */
1127
+ event: MediaPlaybackEvent;
1128
+ /**
1129
+ * Run-clock time or duration in ms of PBX audio since the run started. It continues across reconnects.
1130
+ * @public
1131
+ */
1132
+ atMs: number;
1133
+ /**
1134
+ * Audio of the stream that played, in ms. Present with `finished` and `stopped`.
1135
+ * @public
1136
+ */
1137
+ playedMs?: number | undefined;
1138
+ /**
1139
+ * Present with `stopped`.
1140
+ * @public
1141
+ */
1142
+ cause?: MediaPlaybackStopCause | undefined;
1143
+ }
1144
+ /**
1145
+ * The agent of a media run. At most one of `draft` and `version` is set.
1146
+ * @public
1147
+ */
1148
+ export interface MediaStartAgent {
1149
+ /**
1150
+ * Agent id.
1151
+ * @public
1152
+ */
1153
+ id: string;
1154
+ /**
1155
+ * True to run the unpublished draft. Absent or null: false.
1156
+ * @public
1157
+ */
1158
+ draft?: boolean | undefined;
1159
+ /**
1160
+ * Published version to run. Absent or null: the version the agent routing selects.
1161
+ * @public
1162
+ */
1163
+ version?: number | undefined;
1164
+ }
1165
+ /**
1166
+ * Format of the binary PBX audio (`MediaPbxAudio`). Channel 0 is the caller; channel 1, when present, is the callee. Samples interleave.
1167
+ * @public
1168
+ */
1169
+ export interface MediaAudioFormat {
1170
+ /**
1171
+ * Sample encoding of PBX audio.
1172
+ * @public
1173
+ */
1174
+ encoding: MediaAudioEncoding;
1175
+ /**
1176
+ * Sample rate in Hz.
1177
+ * @public
1178
+ */
1179
+ sampleRate: number;
1180
+ /**
1181
+ * Number of channels.
1182
+ * @public
1183
+ */
1184
+ channels: number;
1185
+ }
1186
+ /**
1187
+ * Caller identity. Each member is absent, null or empty when unknown.
1188
+ * @public
1189
+ */
1190
+ export interface MediaStartCaller {
1191
+ name?: string | undefined;
1192
+ number?: string | undefined;
1193
+ email?: string | undefined;
1194
+ company?: string | undefined;
1195
+ }
1196
+ /**
1197
+ * First text frame of a socket, sent within 10 s of the upgrade. Opens a run, or attaches a reconnect to it.
1198
+ * @public
1199
+ */
1200
+ export interface MediaStartFrame {
1201
+ type: MediaStartFrameType;
1202
+ /**
1203
+ * Purpose of a media run.
1204
+ * @public
1205
+ */
1206
+ purpose: MediaRunPurpose;
1207
+ /**
1208
+ * Id of the PBX call. Use it to correlate the call events of the run.
1209
+ * @public
1210
+ */
1211
+ callId: string;
1212
+ /**
1213
+ * Index of this run on the call, from 0.
1214
+ * @public
1215
+ */
1216
+ flowIndex: number;
1217
+ /**
1218
+ * Id of this run. The same on every connection of the run; the cloud attaches a reconnect and settles a takeover by it.
1219
+ * @public
1220
+ */
1221
+ sessionId: string;
1222
+ /**
1223
+ * True when an earlier connection of this run got `started`: the cloud continues that session without a new greeting.
1224
+ * @public
1225
+ */
1226
+ resume: boolean;
1227
+ /**
1228
+ * Run-clock time of the first audio byte of this connection: 0 on the first connection.
1229
+ * @public
1230
+ */
1231
+ resumeAtMs: number;
1232
+ /**
1233
+ * Format of the binary PBX audio (`MediaPbxAudio`). Channel 0 is the caller; channel 1, when present, is the callee. Samples interleave.
1234
+ * @public
1235
+ */
1236
+ audio: MediaAudioFormat;
1237
+ /**
1238
+ * Present when `purpose` is `agent`.
1239
+ * @public
1240
+ */
1241
+ agent?: MediaStartAgent | undefined;
1242
+ /**
1243
+ * Languages to recognise when `purpose` is `transcription`. May be empty only when `autoDetect` is true. Ignored when `purpose` is `agent`: the agent settings give the languages.
1244
+ * @public
1245
+ */
1246
+ languages?: string[] | undefined;
1247
+ /**
1248
+ * Language of the call. Required when `purpose` is `agent`: the agent starts in its configured language that matches it. With `transcription`, absent or null means the first of `languages`.
1249
+ * @public
1250
+ */
1251
+ preferredLanguage?: string | undefined;
1252
+ /**
1253
+ * True to identify the caller's language among `languages` when `purpose` is `transcription`. Absent: false. Ignored when `purpose` is `agent`.
1254
+ * @public
1255
+ */
1256
+ autoDetect?: boolean | undefined;
1257
+ /**
1258
+ * Caller identity. Each member is absent, null or empty when unknown.
1259
+ * @public
1260
+ */
1261
+ caller: MediaStartCaller;
1262
+ /**
1263
+ * Number that the caller dialled. Absent, null or empty when unknown.
1264
+ * @public
1265
+ */
1266
+ dialedNumber?: string | undefined;
1267
+ /**
1268
+ * Base64 of a JSON object of the `VOICEBOT_*` channel variables. Absent, null or empty when there are none.
1269
+ * @public
1270
+ */
1271
+ variables?: string | undefined;
1272
+ }
1273
+ /**
1274
+ * Voice activity of a party as the PBX detects it. Sent when the state changes, and every 100 ms while agent audio plays.
1275
+ * @public
1276
+ */
1277
+ export interface MediaVadFrame {
1278
+ type: MediaVadFrameType;
1279
+ /**
1280
+ * Party whose audio the report describes.
1281
+ * @public
1282
+ */
1283
+ party: MediaParty;
1284
+ /**
1285
+ * True while the party speaks.
1286
+ * @public
1287
+ */
1288
+ speaking: boolean;
1289
+ /**
1290
+ * Energy of the audio frame that produced the report, in dBFS.
1291
+ * @public
1292
+ */
1293
+ energyDb: number;
1294
+ /**
1295
+ * Run-clock time or duration in ms of PBX audio since the run started. It continues across reconnects.
1296
+ * @public
1297
+ */
1298
+ atMs: number;
1299
+ }
1300
+ /**
1301
+ * One example of each message that the PBX sends.
1302
+ * @public
1303
+ */
1304
+ export interface MediaPbxFrames {
1305
+ /**
1306
+ * First text frame of a socket, sent within 10 s of the upgrade. Opens a run, or attaches a reconnect to it.
1307
+ * @public
1308
+ */
1309
+ start?: MediaStartFrame | undefined;
1310
+ /**
1311
+ * One binary audio message. In the describe answer it is base64; on the socket it is raw bytes.
1312
+ * @public
1313
+ */
1314
+ audio?: Uint8Array | undefined;
1315
+ /**
1316
+ * Voice activity of a party as the PBX detects it. Sent when the state changes, and every 100 ms while agent audio plays.
1317
+ * @public
1318
+ */
1319
+ vad?: MediaVadFrame | undefined;
1320
+ /**
1321
+ * DTMF input that the PBX collected. The cloud takes `digits` as the caller's reply.
1322
+ * @public
1323
+ */
1324
+ dtmf?: MediaDtmfFrame | undefined;
1325
+ /**
1326
+ * An agent audio stream changed state on the PBX.
1327
+ * @public
1328
+ */
1329
+ playback?: MediaPlaybackFrame | undefined;
1330
+ /**
1331
+ * The run ended on the PBX. The PBX sends no audio after it and waits up to 3 s for `finished`.
1332
+ * @public
1333
+ */
1334
+ finish?: MediaFinishFrame | undefined;
1335
+ }
1336
+ /**
1337
+ * One example of each message of the PBX media socket.
1338
+ * @public
1339
+ */
1340
+ export interface MediaProtocolFrames {
1341
+ /**
1342
+ * Messages that the PBX sends.
1343
+ * @public
1344
+ */
1345
+ pbx?: MediaPbxFrames | undefined;
1346
+ /**
1347
+ * Messages that the cloud sends.
1348
+ * @public
1349
+ */
1350
+ cloud?: MediaCloudFrames | undefined;
1351
+ }
767
1352
  /**
768
1353
  * Client-reported progress of an in-flight reply playback.
769
1354
  * @public
@@ -1273,18 +1858,111 @@ export interface DescribeVoiceProtocolOutput {
1273
1858
  * @public
1274
1859
  */
1275
1860
  callEvent?: VoiceCallEvent | undefined;
1861
+ /**
1862
+ * Messages of the PBX media socket `/v2/voice/media/ws` (subprotocol `wilma-media-v2`): one example of each. The binary audio messages are base64 here and raw bytes on the socket.
1863
+ * @public
1864
+ */
1865
+ media?: MediaProtocolFrames | undefined;
1866
+ }
1867
+ /**
1868
+ * @public
1869
+ */
1870
+ export interface GetVoiceDefaultsInput {
1871
+ }
1872
+ /**
1873
+ * Defaults of the tuning members of `VoiceChannelSettings.interruptions`.
1874
+ * @public
1875
+ */
1876
+ export interface VoiceInterruptionDefaults {
1877
+ /**
1878
+ * Minimum number of caller words that count as an interruption.
1879
+ * @public
1880
+ */
1881
+ minWords: number;
1882
+ /**
1883
+ * Minimum recognition confidence, from 0 to 1, of the caller words that count as an interruption.
1884
+ * @public
1885
+ */
1886
+ minConfidence: number;
1887
+ /**
1888
+ * Caller speech in ms before the agent's reply is lowered.
1889
+ * @public
1890
+ */
1891
+ duckAfterMs: number;
1892
+ /**
1893
+ * Volume in dB of a lowered reply.
1894
+ * @public
1895
+ */
1896
+ duckVolumeDb: number;
1897
+ /**
1898
+ * Caller silence in ms before a lowered reply gets its volume back.
1899
+ * @public
1900
+ */
1901
+ restoreAfterMs: number;
1902
+ }
1903
+ /**
1904
+ * Defaults of `VoiceChannelSettings.turnEnd`.
1905
+ * @public
1906
+ */
1907
+ export interface VoiceTurnEndDefaults {
1908
+ /**
1909
+ * Wait in ms after the recogniser marks the end of a caller phrase, before the agent answers.
1910
+ * @public
1911
+ */
1912
+ holdMs: number;
1913
+ }
1914
+ /**
1915
+ * Defaults of `VoiceChannelSettings.voiceDetection`.
1916
+ * @public
1917
+ */
1918
+ export interface VoiceDetectionDefaults {
1919
+ /**
1920
+ * Silence in ms that ends the caller speech.
1921
+ * @public
1922
+ */
1923
+ silenceMs: number;
1924
+ /**
1925
+ * Level in dBFS below which caller audio is silence.
1926
+ * @public
1927
+ */
1928
+ silenceLevelDb: number;
1929
+ /**
1930
+ * Mean frame level in dBFS from which caller audio is speech.
1931
+ * @public
1932
+ */
1933
+ speechLevelDb: number;
1934
+ }
1935
+ /**
1936
+ * @public
1937
+ */
1938
+ export interface GetVoiceDefaultsOutput {
1939
+ /**
1940
+ * Defaults of `VoiceChannelSettings.voiceDetection`.
1941
+ * @public
1942
+ */
1943
+ voiceDetection: VoiceDetectionDefaults;
1944
+ /**
1945
+ * Defaults of the tuning members of `VoiceChannelSettings.interruptions`.
1946
+ * @public
1947
+ */
1948
+ interruptions: VoiceInterruptionDefaults;
1949
+ /**
1950
+ * Defaults of `VoiceChannelSettings.turnEnd`.
1951
+ * @public
1952
+ */
1953
+ turnEnd: VoiceTurnEndDefaults;
1276
1954
  }
1277
1955
  /**
1278
1956
  * @public
1279
1957
  */
1280
1958
  export interface ListVoicesInput {
1281
1959
  /**
1282
- * Provider whose catalog to read: 'elevenlabs', 'google', 'amazon_polly'. This is the scheme of the URIs answered on `voices`.
1960
+ * Provider whose catalog to read: 'elevenlabs', 'google', 'amazon_polly', 'soniox'. This is the scheme of the URIs answered on `voices`.
1283
1961
  * @public
1284
1962
  */
1285
1963
  provider: string;
1286
1964
  /**
1287
- * Server-side filter for language-bound providers: only voices whose language SET CONTAINS this code. Ignored for ElevenLabs, whose voices are not language bound.
1965
+ * Server-side filter for language-bound providers: only voices whose language SET CONTAINS this code. Ignored for ElevenLabs, whose voices are not language bound. For Soniox it keeps the voices whose model speaks the language.
1288
1966
  * @public
1289
1967
  */
1290
1968
  language?: string | undefined;