@vkontakte/calls-sdk 2.8.11-dev.323eff83.0 → 2.8.11-dev.346fd1fc.0
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.
- package/CallsSDK.d.ts +53 -34
- package/abstract/BaseApi.d.ts +2 -3
- package/abstract/BaseSignaling.d.ts +5 -7
- package/calls-sdk.cjs.js +11 -11
- package/calls-sdk.esm.js +6042 -5334
- package/classes/AudioFix.d.ts +5 -1
- package/classes/AudioOutput.d.ts +5 -1
- package/classes/CallRegistry.d.ts +26 -0
- package/classes/Conversation.d.ts +28 -8
- package/classes/ConversationResponseValidator.d.ts +3 -0
- package/classes/DebugInfo.d.ts +3 -0
- package/classes/DisplayLayoutRequester.d.ts +39 -0
- package/classes/ExternalIdCache.d.ts +19 -0
- package/classes/MediaSource.d.ts +12 -1
- package/classes/ParticipantIdRegistry.d.ts +3 -0
- package/classes/ProducerCommandSerializationService.d.ts +3 -0
- package/classes/SignalingActor.d.ts +3 -1
- package/classes/SpeakerDetector.d.ts +2 -1
- package/classes/SpecListener.d.ts +10 -1
- package/classes/{Logger.d.ts → StatsLogger.d.ts} +3 -10
- package/classes/VideoEffectsFpsLimiter.d.ts +3 -0
- package/classes/asr/AsrReceiver.d.ts +3 -1
- package/classes/codec/LibVPxDecoder.d.ts +3 -0
- package/classes/codec/LibVPxEncoder.d.ts +3 -1
- package/classes/codec/WebCodecsDecoder.d.ts +3 -0
- package/classes/codec/WebCodecsEncoder.d.ts +3 -1
- package/classes/codec/WorkerBase.d.ts +5 -0
- package/classes/screenshare/BaseStreamBuilder.d.ts +4 -1
- package/classes/screenshare/CanvasRenderer.d.ts +3 -1
- package/classes/screenshare/ScreenCaptureReceiver.d.ts +7 -1
- package/classes/screenshare/ScreenCaptureSender.d.ts +5 -1
- package/classes/screenshare/ScreenCongestionControl.d.ts +3 -1
- package/classes/screenshare/StreamBuilder.d.ts +5 -1
- package/classes/screenshare/TrackGeneratorRenderer.d.ts +3 -1
- package/classes/screenshare/WebmBuilder.d.ts +3 -1
- package/classes/stat/CodecStatsAggregator.d.ts +7 -7
- package/classes/stat/ConversationStats.d.ts +21 -0
- package/classes/stat/StatAggregator.d.ts +6 -6
- package/classes/stat/StatFirstMediaReceived.d.ts +6 -2
- package/classes/stat/StatPings.d.ts +9 -9
- package/classes/stat/StatScreenShareFirstFrame.d.ts +3 -1
- package/classes/stat/StatSignalingCommands.d.ts +8 -8
- package/classes/transport/BaseTransport.d.ts +1 -1
- package/classes/transport/DirectStatReporter.d.ts +3 -1
- package/classes/transport/DirectTransport.d.ts +9 -1
- package/classes/transport/PerfStatReporter.d.ts +5 -1
- package/classes/transport/ServerTransport.d.ts +10 -2
- package/classes/transport/Transport.d.ts +11 -17
- package/default/Api.d.ts +3 -11
- package/default/Signaling.d.ts +39 -45
- package/default/SignalingTransport.d.ts +68 -0
- package/enums/HangupType.d.ts +2 -1
- package/enums/SignalingNotification.d.ts +2 -1
- package/enums/TransportState.d.ts +10 -0
- package/enums/TransportTopology.d.ts +5 -0
- package/package.json +2 -2
- package/static/Capabilities.d.ts +5 -0
- package/static/Debug.d.ts +27 -8
- package/static/External.d.ts +146 -71
- package/static/Params.d.ts +99 -83
- package/static/Utils.d.ts +3 -2
- package/static/WebRTCUtils.d.ts +6 -4
- package/types/Capabilities.d.ts +24 -0
- package/types/Conversation.d.ts +1 -1
- package/types/FastStart.d.ts +1 -0
- package/types/Participant.d.ts +1 -0
- package/types/ParticipantLayout.d.ts +33 -0
- package/types/SignalingMessage.d.ts +7 -1
- package/types/Statistics.d.ts +1 -1
- package/types/WebTransport.d.ts +4 -0
- package/utils/DebugStorage.d.ts +100 -1
- package/classes/stat/EventMetricsService.d.ts +0 -9
- package/static/ConversationDebugLogger.d.ts +0 -13
package/static/Params.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { VideoEffects } from '@vkontakte/calls-video-effects';
|
|
2
|
-
import type { EffectVoiceChange
|
|
2
|
+
import type { EffectVoiceChange } from '@vkontakte/calls-audio-effects';
|
|
3
3
|
import type * as Vmoji from '@vkontakte/calls-vmoji';
|
|
4
4
|
import { IAsrData } from '../types/Asr';
|
|
5
5
|
import { ConversationData } from '../types/Conversation';
|
|
@@ -188,14 +188,6 @@ export type ParamsObject = {
|
|
|
188
188
|
* Можно установить позднее методом `setAudioEffects`
|
|
189
189
|
*/
|
|
190
190
|
audioEffects: EffectVoiceChange | null;
|
|
191
|
-
/**
|
|
192
|
-
* Namespace библиотеки VAD из `@vkontakte/calls-audio-effects`.
|
|
193
|
-
*
|
|
194
|
-
* Можно установить методом `setVad`
|
|
195
|
-
*/
|
|
196
|
-
vad: VadLib | null;
|
|
197
|
-
/** Настройки VAD (threshold, hangoverMs, enabled) */
|
|
198
|
-
vadOptions: VadControllerOptions;
|
|
199
191
|
/**
|
|
200
192
|
* Максимальная ширина видео в пикселях для видео эффекта
|
|
201
193
|
*
|
|
@@ -314,6 +306,12 @@ export type ParamsObject = {
|
|
|
314
306
|
* _По умолчанию: `30`_
|
|
315
307
|
*/
|
|
316
308
|
videoTracksCount: number;
|
|
309
|
+
/**
|
|
310
|
+
* Минимальный интервал отправки diff для requestDisplayLayout в миллисекундах.
|
|
311
|
+
*
|
|
312
|
+
* _По умолчанию: `250`_
|
|
313
|
+
*/
|
|
314
|
+
requestDisplayLayoutThrottleMs: number;
|
|
317
315
|
/** @hidden */
|
|
318
316
|
movieShare: boolean;
|
|
319
317
|
/** @hidden */
|
|
@@ -351,7 +349,14 @@ export type ParamsObject = {
|
|
|
351
349
|
* Включает поддержку режима WAIT_FOR_ADMIN в звонках.
|
|
352
350
|
*/
|
|
353
351
|
waitForAdminInGroupCalls: boolean;
|
|
352
|
+
/**
|
|
353
|
+
* Включает поддержку удержания звонка
|
|
354
|
+
*/
|
|
354
355
|
hold: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* Максимальное количество параллельных звонков
|
|
358
|
+
*/
|
|
359
|
+
maxParallelCalls: number;
|
|
355
360
|
/**
|
|
356
361
|
* Индекс участника для первого chunk'а который придет при установке соединения с сервером
|
|
357
362
|
*
|
|
@@ -498,104 +503,104 @@ export type ParamsObject = {
|
|
|
498
503
|
/**
|
|
499
504
|
* Получен локальный стрим с камеры/микрофона
|
|
500
505
|
*/
|
|
501
|
-
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
506
|
+
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
502
507
|
/**
|
|
503
508
|
* Локальный стрим изменился
|
|
504
509
|
*/
|
|
505
|
-
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind) => void;
|
|
510
|
+
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind, conversationId?: string) => void;
|
|
506
511
|
/**
|
|
507
512
|
* Локальный стрим с экрана добавлен/удалён
|
|
508
513
|
*/
|
|
509
|
-
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
514
|
+
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
510
515
|
/**
|
|
511
516
|
* Локальный стрим вимоджи добавлен/удалён
|
|
512
517
|
*/
|
|
513
|
-
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
518
|
+
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
514
519
|
/**
|
|
515
520
|
* Произошла ошибка вимоджи
|
|
516
521
|
*/
|
|
517
|
-
onVmojiError?: (error: VmojiError) => void;
|
|
522
|
+
onVmojiError?: (error: VmojiError, conversationId?: string) => void;
|
|
518
523
|
/**
|
|
519
524
|
* Изменился статус локального соединения
|
|
520
525
|
*/
|
|
521
|
-
onLocalStatus?: (status: ParticipantStatus) => void;
|
|
526
|
+
onLocalStatus?: (status: ParticipantStatus, conversationId?: string) => void;
|
|
522
527
|
/**
|
|
523
528
|
* Получен стрим собеседника.
|
|
524
529
|
* Если сервер закончил стримить собеседника, вместо стрима будет передан null
|
|
525
530
|
*/
|
|
526
|
-
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
531
|
+
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
527
532
|
/**
|
|
528
533
|
* Cтрим собеседника приостановлен/возобновлен.
|
|
529
534
|
*/
|
|
530
|
-
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean) => void;
|
|
535
|
+
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean, conversationId?: string) => void;
|
|
531
536
|
/**
|
|
532
537
|
* Получен стрим с экрана собеседника.
|
|
533
538
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
534
539
|
*/
|
|
535
|
-
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
540
|
+
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
536
541
|
/**
|
|
537
542
|
* Получен стрим вимоджи собеседника.
|
|
538
543
|
* Если сервер закончил стримить вимоджи собеседника, вместо стрима будет передан null
|
|
539
544
|
*/
|
|
540
|
-
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
545
|
+
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
541
546
|
/**
|
|
542
547
|
* Получен стрим трансляция или мувик от собеседника.
|
|
543
548
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
544
549
|
*/
|
|
545
|
-
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
550
|
+
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string) => void;
|
|
546
551
|
/**
|
|
547
552
|
* Получен собственный стрим трансляция или мувик.
|
|
548
553
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
549
554
|
*/
|
|
550
|
-
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
555
|
+
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string) => void;
|
|
551
556
|
/**
|
|
552
557
|
* Получено обновление стрима или лайва от собеседника.
|
|
553
558
|
*/
|
|
554
|
-
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
559
|
+
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string) => void;
|
|
555
560
|
/**
|
|
556
561
|
* Получено обновление собственного стрима или лайва.
|
|
557
562
|
*/
|
|
558
|
-
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
563
|
+
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string) => void;
|
|
559
564
|
/**
|
|
560
565
|
* Начат звонок
|
|
561
566
|
*/
|
|
562
|
-
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms) => void;
|
|
567
|
+
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms, conversationId?: string) => void;
|
|
563
568
|
/**
|
|
564
569
|
* Начальный список участников для постраничного звонка
|
|
565
570
|
*/
|
|
566
|
-
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk) => void;
|
|
571
|
+
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk, conversationId?: string) => void;
|
|
567
572
|
/**
|
|
568
573
|
* Изменились данные стрима собеседника
|
|
569
574
|
*/
|
|
570
|
-
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null) => void;
|
|
575
|
+
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
571
576
|
/**
|
|
572
577
|
* Изменились данные стрима собеседника
|
|
573
578
|
*/
|
|
574
|
-
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings) => void;
|
|
579
|
+
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
575
580
|
/**
|
|
576
581
|
* Полученны данные по стримам (лайв/мувик) от собеседника
|
|
577
582
|
*/
|
|
578
|
-
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
583
|
+
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
579
584
|
/**
|
|
580
585
|
* Полученны данные по остановленным стримам (лайв/мувик) от собеседника
|
|
581
586
|
*/
|
|
582
|
-
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
587
|
+
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
583
588
|
/**
|
|
584
589
|
* Полученны данные по собственным стримам (лайв/мувик)
|
|
585
590
|
*/
|
|
586
|
-
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
591
|
+
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
587
592
|
/**
|
|
588
593
|
* Полученны данные по собственным остановленным стримам (лайв/мувик)
|
|
589
594
|
*/
|
|
590
|
-
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
595
|
+
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
591
596
|
/**
|
|
592
597
|
* Добавили участника
|
|
593
598
|
*/
|
|
594
|
-
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
599
|
+
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
595
600
|
/**
|
|
596
601
|
* Участник присоединился к звонку
|
|
597
602
|
*/
|
|
598
|
-
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers) => void;
|
|
603
|
+
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers, conversationId?: string) => void;
|
|
599
604
|
/**
|
|
600
605
|
* Получены данные по изменению локальных состояний со стороны админа
|
|
601
606
|
* Например, принудительно опущена рука
|
|
@@ -603,19 +608,19 @@ export type ParamsObject = {
|
|
|
603
608
|
* @param participantState Полный объект состояния участника, полученный от SDK/сервера.
|
|
604
609
|
* @param global `true` – действие глобальное (для всех участников), `false` – действие локальное (только у текущего пользователя).
|
|
605
610
|
*/
|
|
606
|
-
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean) => void;
|
|
611
|
+
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean, conversationId?: string) => void;
|
|
607
612
|
/**
|
|
608
613
|
* Изменились данные состояний собеседника
|
|
609
614
|
*/
|
|
610
|
-
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null) => void;
|
|
615
|
+
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
611
616
|
/**
|
|
612
617
|
* Изменились данные состояний нескольких собеседников
|
|
613
618
|
*/
|
|
614
|
-
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId) => void;
|
|
619
|
+
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId, conversationId?: string) => void;
|
|
615
620
|
/**
|
|
616
621
|
* Изменился статус соединения собеседников
|
|
617
622
|
*/
|
|
618
|
-
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any) => void;
|
|
623
|
+
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any, conversationId?: string) => void;
|
|
619
624
|
/**
|
|
620
625
|
* Разрешения на доступы были запрошены в браузере
|
|
621
626
|
*/
|
|
@@ -627,56 +632,56 @@ export type ParamsObject = {
|
|
|
627
632
|
/**
|
|
628
633
|
* Пользователь отключился от звонка
|
|
629
634
|
*/
|
|
630
|
-
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
635
|
+
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
631
636
|
/**
|
|
632
637
|
* Изменилось состояние звонка
|
|
633
638
|
*/
|
|
634
|
-
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData) => void;
|
|
639
|
+
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData, conversationId?: string) => void;
|
|
635
640
|
/**
|
|
636
641
|
* Изменилось состояние камеры или микрофона
|
|
637
642
|
*/
|
|
638
|
-
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean) => void;
|
|
643
|
+
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean, conversationId?: string) => void;
|
|
639
644
|
/**
|
|
640
645
|
* Изменились состояния устройств пользователя или разрешения включать камеру/микрофон
|
|
641
646
|
*/
|
|
642
|
-
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null) => void;
|
|
647
|
+
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null, conversationId?: string) => void;
|
|
643
648
|
/**
|
|
644
649
|
* Изменились роли собеседника в звонке
|
|
645
650
|
*/
|
|
646
|
-
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean) => void;
|
|
651
|
+
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean, conversationId?: string) => void;
|
|
647
652
|
/**
|
|
648
653
|
* Изменились свои роли в звонке
|
|
649
654
|
*/
|
|
650
|
-
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean) => void;
|
|
655
|
+
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean, conversationId?: string) => void;
|
|
651
656
|
/**
|
|
652
657
|
* Закрепляет/открепляет собеседника для всех
|
|
653
658
|
*/
|
|
654
|
-
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null) => void;
|
|
659
|
+
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null, conversationId?: string) => void;
|
|
655
660
|
/**
|
|
656
661
|
* Закрепляет/открепляет текущего пользователя у других собеседников
|
|
657
662
|
*/
|
|
658
|
-
onLocalPin?: (unpin: boolean) => void;
|
|
663
|
+
onLocalPin?: (unpin: boolean, conversationId?: string) => void;
|
|
659
664
|
/**
|
|
660
665
|
* Изменились опции звонка
|
|
661
666
|
*/
|
|
662
|
-
onOptionsChanged?: (options: ConversationOption[]) => void;
|
|
663
|
-
onRateNeeded?:
|
|
667
|
+
onOptionsChanged?: (options: ConversationOption[], conversationId?: string) => void;
|
|
668
|
+
onRateNeeded?: (conversationId?: string) => void;
|
|
664
669
|
/**
|
|
665
670
|
* Изменился говорящий в звонке
|
|
666
671
|
*/
|
|
667
|
-
onSpeakerChanged?: (userId: ExternalParticipantId) => void;
|
|
672
|
+
onSpeakerChanged?: (userId: ExternalParticipantId, conversationId?: string) => void;
|
|
668
673
|
/**
|
|
669
674
|
* Громкость собеседников
|
|
670
675
|
*/
|
|
671
676
|
onVolumesDetected?: (volumes: {
|
|
672
677
|
uid: ExternalParticipantId;
|
|
673
678
|
volume: number;
|
|
674
|
-
}[]) => void;
|
|
679
|
+
}[], conversationId?: string) => void;
|
|
675
680
|
/**
|
|
676
681
|
* Громкость своего микрофона
|
|
677
682
|
*/
|
|
678
683
|
onLocalVolume?: (volume: number, isMicEnabled: boolean) => void;
|
|
679
|
-
onJoinStatus?:
|
|
684
|
+
onJoinStatus?: (available: boolean, chatId: string, conversationId?: string) => void;
|
|
680
685
|
/**
|
|
681
686
|
* Звонок был завершен
|
|
682
687
|
*/
|
|
@@ -684,12 +689,12 @@ export type ParamsObject = {
|
|
|
684
689
|
/**
|
|
685
690
|
* Входящий звонок был принят мной
|
|
686
691
|
*/
|
|
687
|
-
onCallAccepted?: () => void;
|
|
692
|
+
onCallAccepted?: (conversationId?: string) => void;
|
|
688
693
|
/**
|
|
689
694
|
* Исходящий звонок был принят кем-то
|
|
690
695
|
* @param userId
|
|
691
696
|
*/
|
|
692
|
-
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => void;
|
|
697
|
+
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities, conversationId?: string) => void;
|
|
693
698
|
/**
|
|
694
699
|
* Список устройств изменился
|
|
695
700
|
*/
|
|
@@ -706,25 +711,25 @@ export type ParamsObject = {
|
|
|
706
711
|
/**
|
|
707
712
|
* Получено сообщение чата
|
|
708
713
|
*/
|
|
709
|
-
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean) => void;
|
|
714
|
+
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean, conversationId?: string) => void;
|
|
710
715
|
/**
|
|
711
716
|
* Получены данные от собеседника
|
|
712
717
|
*/
|
|
713
|
-
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean) => void;
|
|
718
|
+
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean, conversationId?: string) => void;
|
|
714
719
|
/**
|
|
715
720
|
* Начата трансляция/запись звонка
|
|
716
721
|
*/
|
|
717
|
-
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null) => void;
|
|
722
|
+
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null, conversationId?: string) => void;
|
|
718
723
|
/**
|
|
719
724
|
* Закончена трансляция/запись звонка
|
|
720
725
|
*/
|
|
721
|
-
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null) => void;
|
|
726
|
+
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null, conversationId?: string) => void;
|
|
722
727
|
/**
|
|
723
728
|
* Состояние своей сети
|
|
724
729
|
*
|
|
725
730
|
* @param rating Оценка качества соединения от 0 до 1
|
|
726
731
|
*/
|
|
727
|
-
onLocalNetworkStatusChanged?: (rating: number) => void;
|
|
732
|
+
onLocalNetworkStatusChanged?: (rating: number, conversationId?: string) => void;
|
|
728
733
|
/**
|
|
729
734
|
* Состояние сети участников
|
|
730
735
|
*
|
|
@@ -733,11 +738,17 @@ export type ParamsObject = {
|
|
|
733
738
|
onNetworkStatusChanged?: (status: {
|
|
734
739
|
uid: ExternalParticipantId;
|
|
735
740
|
rating: number;
|
|
736
|
-
}[]) => void;
|
|
741
|
+
}[], conversationId?: string) => void;
|
|
737
742
|
/**
|
|
738
743
|
* Получено отладочное сообщение. Работает только при выключенном режиме отладки
|
|
739
744
|
*/
|
|
740
745
|
onDebugMessage?: (type: DebugMessageType, ...args: any[]) => void;
|
|
746
|
+
/**
|
|
747
|
+
* Получено отладочное сообщение с контекстом звонка. Работает только при выключенном режиме отладки
|
|
748
|
+
*/
|
|
749
|
+
onDebugMessageWithContext?: (type: DebugMessageType, context: {
|
|
750
|
+
conversationId: string | null;
|
|
751
|
+
}, ...args: any[]) => void;
|
|
741
752
|
/**
|
|
742
753
|
* Статистика звонка
|
|
743
754
|
*/
|
|
@@ -755,74 +766,74 @@ export type ParamsObject = {
|
|
|
755
766
|
* @param addedParticipantIds Некоторое количество участников, добавленных в зал
|
|
756
767
|
* @param removedParticipantIds Некоторое количество участников, убранных из зала
|
|
757
768
|
*/
|
|
758
|
-
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]) => void;
|
|
769
|
+
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[], conversationId?: string) => void;
|
|
759
770
|
/**
|
|
760
771
|
* Получен микшированный аудио стрим.
|
|
761
772
|
* @hidden
|
|
762
773
|
* @param stream стрим от WebRTC
|
|
763
774
|
*/
|
|
764
|
-
onRemoteMixedAudioStream?: (stream: MediaStream) => void;
|
|
775
|
+
onRemoteMixedAudioStream?: (stream: MediaStream, conversationId?: string) => void;
|
|
765
776
|
/**
|
|
766
777
|
* Получена новая ссылка на звонок
|
|
767
778
|
* @param joinLink токен присоединения к звонку
|
|
768
779
|
*/
|
|
769
|
-
onJoinLinkChanged?: (joinLink: string) => void;
|
|
780
|
+
onJoinLinkChanged?: (joinLink: string, conversationId?: string) => void;
|
|
770
781
|
/**
|
|
771
782
|
* Получено обновление списка сессионных залов
|
|
772
783
|
* @param updates список обновлений по залам
|
|
773
784
|
*/
|
|
774
|
-
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate
|
|
785
|
+
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate>>, conversationId?: string) => void;
|
|
775
786
|
/**
|
|
776
787
|
* Получено обновление сессионных зало
|
|
777
788
|
* @param eventTypes список событий
|
|
778
789
|
* @param roomId номер сессионного зала
|
|
779
790
|
* @param room сессионный зал
|
|
780
791
|
*/
|
|
781
|
-
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null) => void;
|
|
792
|
+
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null, conversationId?: string) => void;
|
|
782
793
|
/**
|
|
783
794
|
* Получение обновление списка участников в сессионном зале
|
|
784
795
|
* @param update обновление списка участников
|
|
785
796
|
*/
|
|
786
|
-
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate) => void;
|
|
797
|
+
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate, conversationId?: string) => void;
|
|
787
798
|
/**
|
|
788
799
|
* Получение информации о смене зала
|
|
789
800
|
* @param roomId номер сессионного зала
|
|
790
801
|
*/
|
|
791
|
-
onRoomSwitched?: (roomId: number | null) => void;
|
|
802
|
+
onRoomSwitched?: (roomId: number | null, conversationId?: string) => void;
|
|
792
803
|
/**
|
|
793
804
|
* Установить id сессионного зала на старте звонка
|
|
794
805
|
* @param roomId номер сессионного зала
|
|
795
806
|
*/
|
|
796
|
-
onRoomStart?: (roomId: number | null) => void;
|
|
807
|
+
onRoomStart?: (roomId: number | null, conversationId?: string) => void;
|
|
797
808
|
/**
|
|
798
809
|
* Получены новые реакции в звонке
|
|
799
810
|
* @param feedback массив с реакциями
|
|
800
811
|
*/
|
|
801
|
-
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => void;
|
|
812
|
+
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null, conversationId?: string) => void;
|
|
802
813
|
/**
|
|
803
814
|
* Изменился список ролей, которым доступны ConversationFeatures
|
|
804
815
|
*
|
|
805
816
|
* @param featuresPerRole Объект вида ключ: ConversationFeature = значение: UserRole[]
|
|
806
817
|
* (если ключ фичи отсутствует, или в ролях пустой массив, считаем фичу доступной для всех пользователей)
|
|
807
818
|
*/
|
|
808
|
-
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole) => void;
|
|
819
|
+
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole, conversationId?: string) => void;
|
|
809
820
|
/**
|
|
810
821
|
* Изменился Vmoji-аватар пользователя
|
|
811
822
|
* @param externalId Id пользователя, у которого изменился аватар
|
|
812
823
|
*/
|
|
813
|
-
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId) => void;
|
|
824
|
+
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId, conversationId?: string) => void;
|
|
814
825
|
/**
|
|
815
826
|
* Начата текстовая расшифровка звонка
|
|
816
827
|
* @param initiatorId Id пользователя, запустившего расшифровку звонка
|
|
817
828
|
* @param movieId Id расшифровки
|
|
818
829
|
* @param roomId Id комнаты
|
|
819
830
|
*/
|
|
820
|
-
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null) => void;
|
|
831
|
+
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null, conversationId?: string) => void;
|
|
821
832
|
/**
|
|
822
833
|
* Закончена текстовая расшифровка звонка
|
|
823
834
|
* @param roomId Id комнаты
|
|
824
835
|
*/
|
|
825
|
-
onAsrStopped?: (roomId: number | null) => void;
|
|
836
|
+
onAsrStopped?: (roomId: number | null, conversationId?: string) => void;
|
|
826
837
|
/**
|
|
827
838
|
* Получена расшифровка речи
|
|
828
839
|
* @param id Id пользователя, произнесшего реплику
|
|
@@ -830,47 +841,53 @@ export type ParamsObject = {
|
|
|
830
841
|
* @param timestamp Время расшифровки
|
|
831
842
|
* @param duration Длительность реплики в расшифровке
|
|
832
843
|
*/
|
|
833
|
-
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number) => void;
|
|
844
|
+
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number, conversationId?: string) => void;
|
|
834
845
|
/**
|
|
835
846
|
* Установка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
|
|
836
847
|
* @param data Начальная информация по ASR
|
|
837
848
|
* @param roomId Id Комнаты
|
|
838
849
|
*/
|
|
839
|
-
onAsrSet?: (data: IAsrData | null, roomId: number | null) => void;
|
|
850
|
+
onAsrSet?: (data: IAsrData | null, roomId: number | null, conversationId?: string) => void;
|
|
840
851
|
/**
|
|
841
852
|
* Админ начал/остановил совместное использование стороннего web-приложения
|
|
842
853
|
* @param userId id участника-админа
|
|
843
854
|
* @param sharedUrl url страницы
|
|
844
855
|
*/
|
|
845
|
-
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId) => void;
|
|
856
|
+
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId, conversationId?: string) => void;
|
|
846
857
|
/**
|
|
847
858
|
* Изменился id участника (деанонимизация)
|
|
848
859
|
* @param prevId
|
|
849
860
|
* @param newId
|
|
850
861
|
*/
|
|
851
|
-
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId) => void;
|
|
862
|
+
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId, conversationId?: string) => void;
|
|
852
863
|
/**
|
|
853
864
|
* Предложение включить режим автоматического отключения приёма видео
|
|
854
865
|
* в плохой сети
|
|
855
866
|
* @param bandwidth текущая полоса пропускания, kbps
|
|
856
867
|
*/
|
|
857
|
-
onVideoSuspendSuggest?: (bandwidth: number) => void;
|
|
868
|
+
onVideoSuspendSuggest?: (bandwidth: number, conversationId?: string) => void;
|
|
858
869
|
/**
|
|
859
870
|
* Одобрено повышение пользователя в зале ожидания/зале в режиме Audience
|
|
860
871
|
*
|
|
861
872
|
* @param adminParticipantId админ, одобривший повышение
|
|
862
873
|
*/
|
|
863
|
-
onPromotionApproved?: (adminParticipantId: ExternalParticipantId) => void;
|
|
874
|
+
onPromotionApproved?: (adminParticipantId: ExternalParticipantId, conversationId?: string) => void;
|
|
864
875
|
/**
|
|
865
876
|
* Участник повышен/разжалован в зале ожидания/зале в режиме Audience
|
|
866
877
|
*
|
|
867
878
|
* @param demoted участник разжалован
|
|
868
879
|
*/
|
|
869
|
-
onPromoted?: (demoted: boolean) => void;
|
|
880
|
+
onPromoted?: (demoted: boolean, conversationId?: string) => void;
|
|
881
|
+
/**
|
|
882
|
+
* Активным установлен определенный звонок
|
|
883
|
+
*
|
|
884
|
+
* @param conversationId ID звонка
|
|
885
|
+
*/
|
|
886
|
+
onCallActive?: (conversationId: string) => void;
|
|
870
887
|
/**
|
|
871
888
|
* Собеседник подключился к сигналлингу
|
|
872
889
|
*/
|
|
873
|
-
onPeerRegistered?: () => void;
|
|
890
|
+
onPeerRegistered?: (conversationId?: string) => void;
|
|
874
891
|
};
|
|
875
892
|
export default abstract class Params {
|
|
876
893
|
private static _params;
|
|
@@ -937,10 +954,6 @@ export default abstract class Params {
|
|
|
937
954
|
static get displaySurface(): DisplayCaptureSurfaceType;
|
|
938
955
|
static get audioEffects(): EffectVoiceChange | null;
|
|
939
956
|
static set audioEffects(value: EffectVoiceChange | null);
|
|
940
|
-
static get vad(): VadLib | null;
|
|
941
|
-
static set vad(value: VadLib | null);
|
|
942
|
-
static get vadOptions(): VadControllerOptions;
|
|
943
|
-
static set vadOptions(value: VadControllerOptions);
|
|
944
957
|
static get videoEffects(): VideoEffects | null;
|
|
945
958
|
static set videoEffects(value: VideoEffects | null);
|
|
946
959
|
static get videoEffectMaxWidth(): number;
|
|
@@ -975,6 +988,7 @@ export default abstract class Params {
|
|
|
975
988
|
static get audioNack(): boolean;
|
|
976
989
|
static get movieShare(): boolean;
|
|
977
990
|
static get videoTracksCount(): number;
|
|
991
|
+
static get requestDisplayLayoutThrottleMs(): number;
|
|
978
992
|
static get breakVideoPayloadTypes(): boolean;
|
|
979
993
|
static get useCallsToContacts(): boolean;
|
|
980
994
|
static get useParticipantListChunk(): boolean;
|
|
@@ -983,6 +997,7 @@ export default abstract class Params {
|
|
|
983
997
|
static get addParticipant(): boolean;
|
|
984
998
|
static get waitForAdminInGroupCalls(): boolean;
|
|
985
999
|
static get hold(): boolean;
|
|
1000
|
+
static get maxParallelCalls(): number;
|
|
986
1001
|
static get participantListChunkInitIndex(): number;
|
|
987
1002
|
static get participantListChunkInitCount(): number | null;
|
|
988
1003
|
static get filterObservers(): boolean;
|
|
@@ -1022,6 +1037,7 @@ export default abstract class Params {
|
|
|
1022
1037
|
screenShareCongestionControl: boolean;
|
|
1023
1038
|
screenShareCongestionControlThreshold: number;
|
|
1024
1039
|
videoTracksCount: number;
|
|
1040
|
+
requestDisplayLayoutThrottleMs: number;
|
|
1025
1041
|
asrDataChannel: boolean;
|
|
1026
1042
|
videoMaxHeight: number;
|
|
1027
1043
|
videoMaxWidth: number;
|
package/static/Utils.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ExternalParticipant, ExternalParticipantListMarker } from '../types/Ext
|
|
|
3
3
|
import { CompositeUserId, OkUserId, Participant, ParticipantId, ParticipantStateMapped } from '../types/Participant';
|
|
4
4
|
import SignalingMessage from '../types/SignalingMessage';
|
|
5
5
|
import VideoSettings from '../types/VideoSettings';
|
|
6
|
+
import { type DebugLogger } from './Debug';
|
|
6
7
|
export declare const PARAMETERS_SEPARATOR = ":";
|
|
7
8
|
export declare const DEVICE_IDX_PARAMETER = "d";
|
|
8
9
|
/** @hidden */
|
|
@@ -36,8 +37,8 @@ declare namespace Utils {
|
|
|
36
37
|
function delay(time: number, { signal }?: {
|
|
37
38
|
signal?: AbortSignal;
|
|
38
39
|
}): Promise<void>;
|
|
39
|
-
function applySettings(pc: RTCPeerConnection, videoSettings: VideoSettings, prevSettings: any): any;
|
|
40
|
-
function applyVideoTrackSettings(videoSettings: VideoSettings, s: RTCRtpSender, track: MediaStreamTrack | null, prevSettings: any, retSettings: any): void;
|
|
40
|
+
function applySettings(pc: RTCPeerConnection, videoSettings: VideoSettings, prevSettings: any, debug?: DebugLogger): any;
|
|
41
|
+
function applyVideoTrackSettings(videoSettings: VideoSettings, s: RTCRtpSender, track: MediaStreamTrack | null, prevSettings: any, retSettings: any, debug?: DebugLogger): void;
|
|
41
42
|
/**
|
|
42
43
|
* Проверяет, есть ли в первом массиве хотя бы один элемент из второго массива
|
|
43
44
|
* @param arr Где ищем
|
package/static/WebRTCUtils.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Вспомогательный плагин для работы с WebRTC
|
|
3
3
|
*/
|
|
4
4
|
import { IVideoDimentions } from '../types/MediaSettings';
|
|
5
|
+
import type StatsLogger from '../classes/StatsLogger';
|
|
6
|
+
import { type DebugLogger } from './Debug';
|
|
5
7
|
/**
|
|
6
8
|
* Тип камеры мобильного устройства
|
|
7
9
|
*/
|
|
@@ -83,24 +85,24 @@ declare namespace WebRTCUtils {
|
|
|
83
85
|
* @param needAudio Нужно ли аудио
|
|
84
86
|
* @param needEmptyTracks Добавлять ли в стрим пустые треки для отключенного видео/аудио
|
|
85
87
|
*/
|
|
86
|
-
function getUserMedia(needVideo?: boolean, needAudio?: boolean, needEmptyTracks?: boolean): Promise<MediaStream>;
|
|
88
|
+
function getUserMedia(needVideo?: boolean, needAudio?: boolean, needEmptyTracks?: boolean, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
87
89
|
/**
|
|
88
90
|
* Запрашивает трансляцию экрана пользователя с опциональным захватом звука
|
|
89
91
|
*/
|
|
90
|
-
function getScreenMedia(fastScreenShare: boolean, withAudioShare: boolean): Promise<MediaStream>;
|
|
92
|
+
function getScreenMedia(fastScreenShare: boolean, withAudioShare: boolean, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
91
93
|
/**
|
|
92
94
|
* Запрашивает камеру пользователя
|
|
93
95
|
*
|
|
94
96
|
* @param deviceId ID устройства
|
|
95
97
|
* @param resolution Размеры видео
|
|
96
98
|
*/
|
|
97
|
-
function getUserVideo(deviceId?: string, resolution?: IVideoDimentions): Promise<MediaStream>;
|
|
99
|
+
function getUserVideo(deviceId?: string, resolution?: IVideoDimentions, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
98
100
|
/**
|
|
99
101
|
* Запрашивает микрофон пользователя
|
|
100
102
|
*
|
|
101
103
|
* @param deviceId ID устройства
|
|
102
104
|
*/
|
|
103
|
-
function getUserAudio(deviceId?: string): Promise<MediaStream>;
|
|
105
|
+
function getUserAudio(deviceId?: string, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
104
106
|
/**
|
|
105
107
|
* Устанавливает размер видео в стриме
|
|
106
108
|
*
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type TCapabilities = {
|
|
2
|
+
estimatedPerformanceIndex: number;
|
|
3
|
+
audioMix: boolean;
|
|
4
|
+
consumerUpdate: boolean;
|
|
5
|
+
producerNotificationDataChannelVersion: number;
|
|
6
|
+
producerCommandDataChannelVersion: number;
|
|
7
|
+
consumerScreenDataChannelVersion: number;
|
|
8
|
+
producerScreenDataChannelVersion: number;
|
|
9
|
+
asrDataChannelVersion: number;
|
|
10
|
+
animojiDataChannelVersion: number;
|
|
11
|
+
animojiBackendRender: boolean;
|
|
12
|
+
onDemandTracks: boolean;
|
|
13
|
+
unifiedPlan: boolean;
|
|
14
|
+
singleSession: boolean;
|
|
15
|
+
videoTracksCount: number;
|
|
16
|
+
red: boolean;
|
|
17
|
+
audioShare: boolean;
|
|
18
|
+
fastScreenShare: boolean;
|
|
19
|
+
videoSuspend: boolean;
|
|
20
|
+
simulcast: boolean;
|
|
21
|
+
consumerFastScreenShare: boolean;
|
|
22
|
+
consumerFastScreenShareQualityOnDemand: boolean;
|
|
23
|
+
transparentAudio: boolean;
|
|
24
|
+
};
|
package/types/Conversation.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TransportTopology from '../enums/TransportTopology';
|
|
2
2
|
import CallDirection from '../enums/CallDirection';
|
|
3
3
|
import CallType from '../enums/CallType';
|
|
4
4
|
import ConversationFeature from '../enums/ConversationFeature';
|
package/types/FastStart.d.ts
CHANGED
package/types/Participant.d.ts
CHANGED