opensips-js 0.1.11 → 0.1.13

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opensips-js",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "The JS package for opensips",
5
5
  "default": "src/index.ts",
6
6
  "jsdelivr": "dist/opensips-js.iife.js",
@@ -59,6 +59,7 @@
59
59
  "vue": "3.2.25"
60
60
  },
61
61
  "dependencies": {
62
+ "@ricky0123/vad-web": "^0.0.28",
62
63
  "@types/mime": "^3.0.1",
63
64
  "generate-unique-id": "^2.0.1",
64
65
  "jssip": "3.10.0",
@@ -16,6 +16,11 @@ export type ChangeVolumeEventType = {
16
16
  volume: number
17
17
  }
18
18
 
19
+ export type NoiseReductionStateEventType = {
20
+ sessionId: string
21
+ enabled: boolean
22
+ }
23
+
19
24
  export type readyListener = (value: boolean) => void
20
25
  export type connectionListener = (value: boolean) => void
21
26
  export type reconnectionListener = (value: boolean) => void
@@ -46,6 +51,7 @@ export type changeCallStatusListener = (event: { [key: string]: ICallStatus }) =
46
51
  export type changeCallTimeListener = (event: { [key: string]: ITimeData }) => void
47
52
  export type changeCallMetricsListener = (event: { [key: string]: any }) => void
48
53
  export type changeCallVolumeListener = (event: ChangeVolumeEventType) => void
54
+ export type changeNoiseReductionStateListener = (event: NoiseReductionStateEventType) => void
49
55
  export type conferenceStartListener = () => void
50
56
  export type conferenceEndListener = (sessionId) => void
51
57
  export type changeMainVideoStreamListener = (event: { name: string, event: MediaStream }) => void
@@ -86,6 +92,7 @@ export interface OpenSIPSEventMap extends UAEventMap {
86
92
  changeCallTime: changeCallTimeListener
87
93
  changeCallMetrics: changeCallMetricsListener
88
94
  changeCallVolume: changeCallVolumeListener
95
+ changeNoiseReductionState: changeNoiseReductionStateListener
89
96
  newMSRPMessage: MSRPMessageListener
90
97
  newMSRPSession: MSRPSessionListener
91
98
  // JANUS
@@ -13,6 +13,7 @@ import {
13
13
  IncomingRequest
14
14
  } from 'jssip/lib/SIPMessage'
15
15
  import { UAConfiguration } from 'jssip/lib/UA'
16
+ import { RealTimeVADOptions } from '@ricky0123/vad-web'
16
17
 
17
18
  import { MODULES } from '@/enum/modules'
18
19
 
@@ -136,9 +137,33 @@ export type Modules = AudioModuleName | VideoModuleName | MSRPModuleName
136
137
 
137
138
  export type OnTransportCallback = (parsed: object, message: string) => void
138
139
 
140
+ export interface VADOptions {
141
+ model: 'v5' | 'legacy'
142
+ positiveSpeechThreshold: number
143
+ negativeSpeechThreshold: number
144
+ minSpeechFrames: number
145
+ preSpeechPadFrames: number
146
+ }
147
+
148
+ export interface VADSessionState {
149
+ isSpeaking: boolean
150
+ currentMode: 'clean' | 'noisy'
151
+ }
152
+
153
+ export type NoiseReductionMode = 'disabled' | 'enabled' | 'dynamic'
154
+
155
+ export interface NoiseReductionOptions {
156
+ mode: NoiseReductionMode,
157
+ vadConfig?: Partial<VADOptions>
158
+ noiseThreshold?: number
159
+ checkEveryMs?: number
160
+ noiseCheckInterval?: number
161
+ }
162
+
139
163
  type UAConfigurationExtended = UAConfiguration & {
140
164
  reconnectionAttemptsLimit?: number
141
165
  overrideUserAgent?: (userAgent: string) => string
166
+ noiseReductionOptions?: NoiseReductionOptions
142
167
  onTransportCallback?: OnTransportCallback
143
168
  }
144
169