@voicenter-team/opensips-js 1.0.77 → 1.0.78
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/README.md +129 -37
- package/dist/index.d.ts +247 -164
- package/dist/opensips-js.cjs.js +102 -102
- package/dist/opensips-js.es.js +11612 -8631
- package/dist/opensips-js.iife.js +102 -102
- package/dist/opensips-js.umd.js +102 -102
- package/package.json +3 -2
- package/src/types/rtc.d.ts +10 -1
- package/src/types/timer.d.ts +6 -0
package/README.md
CHANGED
@@ -23,37 +23,25 @@ const openSIPSJS = new OpenSIPSJS({
|
|
23
23
|
extraHeaders: [ 'X-Bar: bar' ],
|
24
24
|
pcConfig: {},
|
25
25
|
},
|
26
|
+
modules: [ 'audio', 'video', 'msrp' ]
|
26
27
|
})
|
27
28
|
```
|
28
29
|
|
29
|
-
Then you
|
30
|
+
Then you can work with appropriate modules:
|
31
|
+
```javascript
|
32
|
+
openSIPSJS.audio
|
33
|
+
openSIPSJS.video
|
34
|
+
openSIPSJS.msrp
|
35
|
+
```
|
30
36
|
|
31
|
-
|
37
|
+
# OpensipsJS
|
38
|
+
### OpensipsJS instance methods
|
32
39
|
- `begin(): OpensipsInstance` - start opensips
|
33
|
-
- `
|
34
|
-
- `holdCall(callId: String, automatic?: Boolean): Promise<void>` - put call on hold
|
35
|
-
- `unholdCall(callId: String): Promise<void>` - unhold a call
|
36
|
-
- `terminateCall(callId: String): void` - terminate call
|
37
|
-
- `moveCall(callId: String, roomId: Number): Promise<void>` - Same as callChangeRoom. Move call to the specific room
|
38
|
-
- `transferCall(callId: String, target: String): void` - transfer call to target
|
39
|
-
- `mergeCall(roomId: Number): void` - merge calls in specific room. Works only for rooms with 2 calls inside
|
40
|
-
- `answerCall(callId: String): void` - answer a call
|
41
|
-
- `mute(): void` - mute ourself
|
42
|
-
- `unmute(): void` - unmute ourself
|
43
|
-
- `muteCaller(callId: String): void` - mute caller
|
44
|
-
- `unmuteCaller(callId: String): void` - unmute caller
|
45
|
-
- `setMicrophone(deviceId: String): Promise<void>` - set passed device as input device for calls
|
46
|
-
- `setSpeaker(deviceId: String): Promise<void>` - set passed device as output device for calls
|
47
|
-
- `setActiveRoom(roomId: Number): Promise<void>` - switch to the room
|
48
|
-
- `setMicrophoneSensitivity(value: Number): void` - set sensitivity of microphone. Value should be in range from 0 to 1
|
49
|
-
- `setSpeakerVolume(value: Number): void` - set volume of callers. Value should be in range from 0 to 1
|
50
|
-
- `setDND(value: Boolean): void` - set the agent "Do not disturb" status
|
40
|
+
- `on(event: OpensipsEvent, callback): void` - remove event listener
|
51
41
|
- `subscribe({type: String, listener: function}): void` - subscribe to an event. Available events: `new_call`, `ended`, `progress`, `failed`, `confirmed`
|
52
42
|
- `removeIListener(type: String): void` - remove event listener
|
53
|
-
- `on(event: OpensipsEvent, callback): void` - remove event listener
|
54
|
-
- `setMetricsConfig(config: WebrtcMetricsConfigType): void` - set the metric config (used for audio quality indicator)
|
55
43
|
|
56
|
-
###
|
44
|
+
### OpensipsJS events
|
57
45
|
|
58
46
|
| Event | Callback interface | Description |
|
59
47
|
|----------------|---------|---------------|
|
@@ -75,20 +63,47 @@ Then you will be able to call next methods on openSIPSJS instance:
|
|
75
63
|
|
76
64
|
WebrtcMetricsConfigType
|
77
65
|
|
78
|
-
| Parameter | Type
|
79
|
-
|
80
|
-
| `refreshEvery` | `number
|
81
|
-
| `startAfter` | `number
|
82
|
-
| `startAfter` | `number
|
83
|
-
| `verbose` | `boolean
|
84
|
-
| `pname` | `string
|
85
|
-
| `cid` | `string
|
86
|
-
| `uid` | `string
|
87
|
-
| `record` | `boolean
|
88
|
-
| `ticket` | `boolean
|
89
|
-
|
90
|
-
Also there are next public fields on
|
91
|
-
###
|
66
|
+
| Parameter | Type | Default |
|
67
|
+
|----------------|-----------|----------|
|
68
|
+
| `refreshEvery` | `number` | `undefined` |
|
69
|
+
| `startAfter` | `number` | `undefined` |
|
70
|
+
| `startAfter` | `number` | `undefined` |
|
71
|
+
| `verbose` | `boolean` | `undefined` |
|
72
|
+
| `pname` | `string` | `undefined` |
|
73
|
+
| `cid` | `string` | `undefined` |
|
74
|
+
| `uid` | `string` | `undefined` |
|
75
|
+
| `record` | `boolean` | `undefined` |
|
76
|
+
| `ticket` | `boolean` | `undefined` |
|
77
|
+
|
78
|
+
Also, there are next public fields on OpensipsJS instance:
|
79
|
+
### OpensipsJS instance fields
|
80
|
+
- `sipDomain: String` - returns sip domain
|
81
|
+
|
82
|
+
# Audio
|
83
|
+
|
84
|
+
### Audio methods
|
85
|
+
- `initCall(target: String, addToCurrentRoom: Boolean): void` - call to the target. If addToCurrentRoom is true then the call will be added to the user's current room
|
86
|
+
- `holdCall(callId: String, automatic?: Boolean): Promise<void>` - put call on hold
|
87
|
+
- `unholdCall(callId: String): Promise<void>` - unhold a call
|
88
|
+
- `terminateCall(callId: String): void` - terminate call
|
89
|
+
- `moveCall(callId: String, roomId: Number): Promise<void>` - Same as callChangeRoom. Move call to the specific room
|
90
|
+
- `transferCall(callId: String, target: String): void` - transfer call to target
|
91
|
+
- `mergeCall(roomId: Number): void` - merge calls in specific room. Works only for rooms with 2 calls inside
|
92
|
+
- `answerCall(callId: String): void` - answer a call
|
93
|
+
- `mute(): void` - mute ourself
|
94
|
+
- `unmute(): void` - unmute ourself
|
95
|
+
- `muteCaller(callId: String): void` - mute caller
|
96
|
+
- `unmuteCaller(callId: String): void` - unmute caller
|
97
|
+
- `setMicrophone(deviceId: String): Promise<void>` - set passed device as input device for calls
|
98
|
+
- `setSpeaker(deviceId: String): Promise<void>` - set passed device as output device for calls
|
99
|
+
- `setActiveRoom(roomId: Number): Promise<void>` - switch to the room
|
100
|
+
- `setMicrophoneSensitivity(value: Number): void` - set sensitivity of microphone. Value should be in range from 0 to 1
|
101
|
+
- `setSpeakerVolume(value: Number): void` - set volume of callers. Value should be in range from 0 to 1
|
102
|
+
- `setDND(value: Boolean): void` - set the agent "Do not disturb" status
|
103
|
+
- `setMetricsConfig(config: WebrtcMetricsConfigType): void` - set the metric config (used for audio quality indicator)
|
104
|
+
|
105
|
+
### Audio instance fields
|
106
|
+
- `sipOptions: Object` - returns sip options
|
92
107
|
- `getActiveRooms: { [key: number]: IRoom }` - returns an object of active rooms where key is room id and value is room data
|
93
108
|
- `sipDomain: String` - returns sip domain
|
94
109
|
- `sipOptions: Object` - returns sip options
|
@@ -99,3 +114,80 @@ Also there are next public fields on openSIPSJS instance:
|
|
99
114
|
- `selectedOutputDevice: String` - returns current selected output device id
|
100
115
|
- `isDND: Boolean` - returns if the agent is in "Do not disturb" status
|
101
116
|
- `isMuted: Boolean` - returns if the agent is muted
|
117
|
+
|
118
|
+
# MSRP
|
119
|
+
|
120
|
+
### MSRP methods
|
121
|
+
- `initMSRP(target: String, body: String): void` - initialize connection with target contact. Body is the initial message to this target.
|
122
|
+
- `sendMSRP(sessionId: String, body: String): Promise<void>` - send message
|
123
|
+
- `msrpAnswer(sessionId: String)` - accept MSRP session invitation
|
124
|
+
- `messageTerminate(sessionId: String)` - terminate message session
|
125
|
+
|
126
|
+
### MSRP instance fields
|
127
|
+
- `getActiveMessages: { [key: string]: IMessage }` - returns an object of active message sessions where key is session id and value is message session data.
|
128
|
+
|
129
|
+
|
130
|
+
# Video
|
131
|
+
|
132
|
+
### Video methods
|
133
|
+
- `joinRoom(roomId: String, displayName: String, mediaConstraints: Object): void` - join conference room
|
134
|
+
- `hangup()` - exit room
|
135
|
+
- `startVideo()` - turn on camera
|
136
|
+
- `stopVideo()` - turn off camera
|
137
|
+
- `startAudio()` - mute
|
138
|
+
- `stopAudio()` - unmute
|
139
|
+
- `startScreenShare()` - start screen sharing
|
140
|
+
- `stopScreenShare()` - stop screen sharing
|
141
|
+
- `enableScreenShareWhiteboard(enable: boolean, stream: MediaStream)` - enable screen share whiteboard. stream parameter is screen share stream
|
142
|
+
- `enableBokehEffectMask(): Promise<MediaStream>` - enable bokeh mask effect
|
143
|
+
- `enableBackgroundImgEffectMask(): Promise<MediaStream>` - enable background image mask effect
|
144
|
+
- `disableMask(): Promise<MediaStream>` - turn off mask effect. Returns stream without masking
|
145
|
+
- `restartMasking(): Promise<void>` - rerun mask effect
|
146
|
+
- `setupMaskVisualizationConfig(config: VisualizationConfigType)` - setup mask config
|
147
|
+
- `startNoiseFilter()` - start noise filter
|
148
|
+
- `stopNoiseFilter()` - stop noise filter
|
149
|
+
- `setBitrate(bitrate: number)` - set bitrate for video
|
150
|
+
- `enableWhiteboard(mode: 'whiteboard' | 'imageWhiteboard', enable: boolean, base64Image?: string)` - enable whiteboard. if mode is 'imageWhiteboard' then third parameter base64Image is required
|
151
|
+
- `setupDrawerOptions(options: KonvaDrawerOptions)` - setup option for drawer
|
152
|
+
- `setupScreenShareDrawerOptions(options: KonvaScreenShareDrawerOptions)` - setup option for screen share drawer
|
153
|
+
|
154
|
+
VisualizationConfigType
|
155
|
+
|
156
|
+
| Parameter | Type | Default |
|
157
|
+
|----------------|------------------------|---------|
|
158
|
+
| `foregroundThreshold` | `number` | `0.5` |
|
159
|
+
| `maskOpacity` | `number`| `0.5` |
|
160
|
+
| `maskBlur` | `number`| `0` |
|
161
|
+
| `pixelCellWidth` | `number`| `10` |
|
162
|
+
| `backgroundBlur` | `number`| `15` |
|
163
|
+
| `edgeBlur` | `number`| `3` |
|
164
|
+
|
165
|
+
KonvaDrawerOptions
|
166
|
+
|
167
|
+
| Parameter | Type |
|
168
|
+
|----------------|-----------|
|
169
|
+
| `container` | `number` |
|
170
|
+
| `width` | `number` |
|
171
|
+
| `height` | `number` |
|
172
|
+
|
173
|
+
KonvaScreenShareDrawerOptions
|
174
|
+
|
175
|
+
| Parameter | Type |
|
176
|
+
|----------------|-----------|
|
177
|
+
| `strokeWidth` | `number` |
|
178
|
+
| `strokeColor` | `string` |
|
179
|
+
|
180
|
+
### Video events
|
181
|
+
|
182
|
+
| Event | Callback interface | Description |
|
183
|
+
|----------------|---------|---------------|
|
184
|
+
| `member:join` | `(data) => {}` | Emitted when new member is joined |
|
185
|
+
| `member:update` | `(data) => {}` | Emitted when member data is changed |
|
186
|
+
| `member:hangup` | `(data) => {}` | Emitted when member leaves the conference |
|
187
|
+
| `hangup` | `() => {}` | Emitted when we leave the conference |
|
188
|
+
| `screenShare:start` | `() => {}` | Emitted when we share a screen |
|
189
|
+
| `screenShare:stop` | `() => {}` | Emitted when we stop a screen sharing |
|
190
|
+
| `reconnect` | `() => {}` | Emitted when reconnecting |
|
191
|
+
| `mediaConstraintsChange` | `() => {}` | Emitted when media constraints change |
|
192
|
+
| `metrics:report` | `() => {}` | Emitted on metric report |
|
193
|
+
| `metrics:stop` | `() => {}` | Emitted when metrics are stopped |
|
package/dist/index.d.ts
CHANGED
@@ -39,6 +39,145 @@ declare interface AnswerOptionsExtended_2 extends AnswerOptions {
|
|
39
39
|
mediaConstraints?: MediaConstraints | ExactConstraints_2
|
40
40
|
}
|
41
41
|
|
42
|
+
declare class AudioModule {
|
43
|
+
private context;
|
44
|
+
private currentActiveRoomIdValue;
|
45
|
+
private isAutoAnswer;
|
46
|
+
private isCallAddingInProgress;
|
47
|
+
private muteWhenJoinEnabled;
|
48
|
+
private isDNDEnabled;
|
49
|
+
private muted;
|
50
|
+
private microphoneInputLevelValue;
|
51
|
+
private speakerVolumeValue;
|
52
|
+
private activeRooms;
|
53
|
+
private activeCalls;
|
54
|
+
private extendedCalls;
|
55
|
+
private availableMediaDevices;
|
56
|
+
private selectedMediaDevices;
|
57
|
+
private callStatus;
|
58
|
+
private callTime;
|
59
|
+
private callMetrics;
|
60
|
+
private timeIntervals;
|
61
|
+
private metricConfig;
|
62
|
+
private activeStreamValue;
|
63
|
+
private initialStreamValue;
|
64
|
+
private VUMeter;
|
65
|
+
constructor(context: OpenSIPSJS);
|
66
|
+
get sipOptions(): {
|
67
|
+
mediaConstraints: {
|
68
|
+
audio: {
|
69
|
+
deviceId: {
|
70
|
+
exact: string;
|
71
|
+
};
|
72
|
+
};
|
73
|
+
video: boolean;
|
74
|
+
};
|
75
|
+
session_timers: boolean;
|
76
|
+
extraHeaders: [string];
|
77
|
+
pcConfig: RTCConfiguration_2;
|
78
|
+
};
|
79
|
+
get currentActiveRoomId(): number | undefined;
|
80
|
+
private set currentActiveRoomId(value);
|
81
|
+
get autoAnswer(): boolean;
|
82
|
+
get callAddingInProgress(): string | undefined;
|
83
|
+
private set callAddingInProgress(value);
|
84
|
+
get muteWhenJoin(): boolean;
|
85
|
+
get isDND(): boolean;
|
86
|
+
get speakerVolume(): number;
|
87
|
+
get microphoneInputLevel(): number;
|
88
|
+
get getActiveCalls(): {
|
89
|
+
[key: string]: ICall;
|
90
|
+
};
|
91
|
+
get hasActiveCalls(): boolean;
|
92
|
+
get getActiveRooms(): {
|
93
|
+
[key: number]: IRoom;
|
94
|
+
};
|
95
|
+
get isMuted(): boolean;
|
96
|
+
get getInputDeviceList(): MediaDeviceInfo[];
|
97
|
+
get getOutputDeviceList(): MediaDeviceInfo[];
|
98
|
+
get getUserMediaConstraints(): {
|
99
|
+
audio: {
|
100
|
+
deviceId: {
|
101
|
+
exact: string;
|
102
|
+
};
|
103
|
+
};
|
104
|
+
video: boolean;
|
105
|
+
};
|
106
|
+
get selectedInputDevice(): string;
|
107
|
+
get selectedOutputDevice(): string;
|
108
|
+
get activeStream(): MediaStream;
|
109
|
+
private setAvailableMediaDevices;
|
110
|
+
updateDeviceList(): Promise<void>;
|
111
|
+
private initializeMediaDevices;
|
112
|
+
setCallTime(value: ITimeData): void;
|
113
|
+
removeCallTime(callId: string): void;
|
114
|
+
private setTimeInterval;
|
115
|
+
private removeTimeInterval;
|
116
|
+
private stopCallTimer;
|
117
|
+
private emitVolumeChange;
|
118
|
+
setMetricsConfig(config: WebrtcMetricsConfigType): void;
|
119
|
+
sendDTMF(callId: string, value: string): void;
|
120
|
+
private setIsMuted;
|
121
|
+
private processMute;
|
122
|
+
mute(): void;
|
123
|
+
unmute(): void;
|
124
|
+
private processHold;
|
125
|
+
holdCall(callId: string, automatic?: boolean): Promise<void>;
|
126
|
+
unholdCall(callId: string): Promise<void>;
|
127
|
+
private cancelAllOutgoingUnanswered;
|
128
|
+
answerCall(callId: string): void;
|
129
|
+
moveCall(callId: string, roomId: number): Promise<void>;
|
130
|
+
updateCall(value: ICall): void;
|
131
|
+
updateRoom(value: IRoomUpdate): void;
|
132
|
+
private hasAutoAnswerHeaders;
|
133
|
+
private addCall;
|
134
|
+
private addCallStatus;
|
135
|
+
private updateCallStatus;
|
136
|
+
private removeCallStatus;
|
137
|
+
private addRoom;
|
138
|
+
private getActiveStream;
|
139
|
+
setMicrophone(dId: string): Promise<void>;
|
140
|
+
private setActiveStream;
|
141
|
+
setSpeaker(dId: string): Promise<void>;
|
142
|
+
private removeRoom;
|
143
|
+
private deleteRoomIfEmpty;
|
144
|
+
private checkInitialized;
|
145
|
+
private muteReconfigure;
|
146
|
+
private roomReconfigure;
|
147
|
+
private doConference;
|
148
|
+
private processCallerMute;
|
149
|
+
muteCaller(callId: string): void;
|
150
|
+
unmuteCaller(callId: string): void;
|
151
|
+
terminateCall(callId: string): void;
|
152
|
+
transferCall(callId: string, target: string): Error;
|
153
|
+
mergeCall(roomId: number): void;
|
154
|
+
setDND(value: boolean): void;
|
155
|
+
private startCallTimer;
|
156
|
+
setActiveRoom(roomId: number | undefined): Promise<void>;
|
157
|
+
private getNewRoomId;
|
158
|
+
private setupCall;
|
159
|
+
private removeCall;
|
160
|
+
private activeCallListRemove;
|
161
|
+
private newRTCSessionCallback;
|
162
|
+
setMuteWhenJoin(value: boolean): void;
|
163
|
+
setMicrophoneSensitivity(value: number): void;
|
164
|
+
setSpeakerVolume(value: number): void;
|
165
|
+
setAutoAnswer(value: boolean): void;
|
166
|
+
private setSelectedInputDevice;
|
167
|
+
private setSelectedOutputDevice;
|
168
|
+
private setCallMetrics;
|
169
|
+
private removeCallMetrics;
|
170
|
+
private getCallQuality;
|
171
|
+
private setupVUMeter;
|
172
|
+
private stopVUMeter;
|
173
|
+
setupStream(): Promise<void>;
|
174
|
+
private triggerAddStream;
|
175
|
+
initCall(target: string, addToCurrentRoom: boolean): void;
|
176
|
+
private processRoomChange;
|
177
|
+
}
|
178
|
+
|
179
|
+
declare type AudioModuleName = typeof MODULES.AUDIO
|
180
|
+
|
42
181
|
declare type CallAddingProgressListener = (callId: string | undefined) => void
|
43
182
|
|
44
183
|
declare interface CallOptionsExtended extends AnswerOptionsExtended {
|
@@ -147,7 +286,8 @@ declare interface IOpenSIPSJSOptions {
|
|
147
286
|
session_timers: boolean
|
148
287
|
extraHeaders: [ string ]
|
149
288
|
pcConfig: RTCConfiguration_2
|
150
|
-
}
|
289
|
+
},
|
290
|
+
modules: Array<Modules>
|
151
291
|
}
|
152
292
|
|
153
293
|
declare interface IRoom {
|
@@ -168,14 +308,62 @@ declare interface ITimeData {
|
|
168
308
|
formatted: string
|
169
309
|
}
|
170
310
|
|
311
|
+
declare interface JanusOptions extends AnswerOptions {
|
312
|
+
eventHandlers?: Partial<JanusSessionEventMap>
|
313
|
+
anonymous?: boolean;
|
314
|
+
fromUserName?: string;
|
315
|
+
fromDisplayName?: string;
|
316
|
+
}
|
317
|
+
|
318
|
+
declare interface JanusSessionEventMap {
|
319
|
+
'peerconnection': PeerConnectionListener;
|
320
|
+
'connecting': ConnectingListener;
|
321
|
+
'sending': SendingListener;
|
322
|
+
'progress': CallListener;
|
323
|
+
'accepted': CallListener;
|
324
|
+
'confirmed': ConfirmedListener;
|
325
|
+
'ended': EndListener;
|
326
|
+
'failed': EndListener;
|
327
|
+
'newDTMF': DTMFListener;
|
328
|
+
'newInfo': InfoListener;
|
329
|
+
'hold': HoldListener;
|
330
|
+
'unhold': HoldListener;
|
331
|
+
'muted': MuteListener;
|
332
|
+
'unmuted': MuteListener;
|
333
|
+
'reinvite': ReInviteListener;
|
334
|
+
'update': UpdateListener;
|
335
|
+
'refer': ReferListener;
|
336
|
+
'replaces': ReferListener;
|
337
|
+
'sdp': SDPListener;
|
338
|
+
'icecandidate': IceCandidateListener;
|
339
|
+
'getusermediafailed': Listener_2;
|
340
|
+
'active' : Listener_2;
|
341
|
+
'msgHistoryUpdate' : Listener_2;
|
342
|
+
'newMessage' : Listener_2;
|
343
|
+
'peerconnection:createofferfailed': Listener_2;
|
344
|
+
'peerconnection:createanswerfailed': Listener_2;
|
345
|
+
'peerconnection:setlocaldescriptionfailed': Listener_2;
|
346
|
+
'peerconnection:setremotedescriptionfailed': Listener_2;
|
347
|
+
}
|
348
|
+
|
171
349
|
declare type Listener = (event: unknown) => void
|
172
350
|
|
173
351
|
declare type Listener_2 = (event: unknown) => void
|
174
352
|
|
353
|
+
declare type Listener_3 = (event: unknown) => void
|
354
|
+
|
175
355
|
declare type ListenerCallbackFnType<T extends ListenersKeyType> = OpenSIPSEventMap[T]
|
176
356
|
|
177
357
|
declare type ListenersKeyType = keyof OpenSIPSEventMap
|
178
358
|
|
359
|
+
declare const MODULES: {
|
360
|
+
readonly AUDIO: "audio";
|
361
|
+
readonly VIDEO: "video";
|
362
|
+
readonly MSRP: "msrp";
|
363
|
+
};
|
364
|
+
|
365
|
+
declare type Modules = AudioModuleName | VideoModuleName | MSRPModuleName
|
366
|
+
|
179
367
|
declare type MSRPInitializingListener = (sessionId: string | undefined) => void
|
180
368
|
|
181
369
|
declare class MSRPMessage {
|
@@ -200,6 +388,34 @@ declare type MSRPMessageEventType = {
|
|
200
388
|
|
201
389
|
declare type MSRPMessageListener = (event: MSRPMessageEventType) => void;
|
202
390
|
|
391
|
+
declare class MSRPModule {
|
392
|
+
private context;
|
393
|
+
private activeMessages;
|
394
|
+
private extendedMessages;
|
395
|
+
private msrpHistory;
|
396
|
+
private isMSRPInitializingValue;
|
397
|
+
constructor(context: any);
|
398
|
+
get isMSRPInitializing(): boolean;
|
399
|
+
get getActiveMessages(): {
|
400
|
+
[key: string]: IMessage;
|
401
|
+
};
|
402
|
+
msrpAnswer(callId: string): void;
|
403
|
+
updateMSRPSession(value: IMessage): void;
|
404
|
+
private addMMSRPSession;
|
405
|
+
private addMSRPMessage;
|
406
|
+
messageTerminate(callId: string): void;
|
407
|
+
private addMessageSession;
|
408
|
+
private triggerMSRPListener;
|
409
|
+
private removeMMSRPSession;
|
410
|
+
private activeMessageListRemove;
|
411
|
+
private newMSRPSessionCallback;
|
412
|
+
private setIsMSRPInitializing;
|
413
|
+
initMSRP(target: string, body: string, options: any): void;
|
414
|
+
sendMSRP(msrpSessionId: string, body: string): void;
|
415
|
+
}
|
416
|
+
|
417
|
+
declare type MSRPModuleName = typeof MODULES.MSRP
|
418
|
+
|
203
419
|
declare interface MSRPOptions extends AnswerOptions {
|
204
420
|
eventHandlers?: Partial<MSRPSessionEventMap>
|
205
421
|
anonymous?: boolean;
|
@@ -348,14 +564,14 @@ declare interface MSRPSessionEventMap_2 {
|
|
348
564
|
'replaces': ReferListener;
|
349
565
|
'sdp': SDPListener;
|
350
566
|
'icecandidate': IceCandidateListener;
|
351
|
-
'getusermediafailed':
|
352
|
-
'active' :
|
353
|
-
'msgHistoryUpdate' :
|
354
|
-
'newMessage' :
|
355
|
-
'peerconnection:createofferfailed':
|
356
|
-
'peerconnection:createanswerfailed':
|
357
|
-
'peerconnection:setlocaldescriptionfailed':
|
358
|
-
'peerconnection:setremotedescriptionfailed':
|
567
|
+
'getusermediafailed': Listener_3;
|
568
|
+
'active' : Listener_3;
|
569
|
+
'msgHistoryUpdate' : Listener_3;
|
570
|
+
'newMessage' : Listener_3;
|
571
|
+
'peerconnection:createofferfailed': Listener_3;
|
572
|
+
'peerconnection:createanswerfailed': Listener_3;
|
573
|
+
'peerconnection:setlocaldescriptionfailed': Listener_3;
|
574
|
+
'peerconnection:setremotedescriptionfailed': Listener_3;
|
359
575
|
}
|
360
576
|
|
361
577
|
declare interface MSRPSessionExtended extends MSRPSession_2 {
|
@@ -412,179 +628,31 @@ declare interface OpenSIPSEventMap extends UAEventMap {
|
|
412
628
|
|
413
629
|
declare class OpenSIPSJS extends UAExtended {
|
414
630
|
private initialized;
|
415
|
-
|
631
|
+
readonly options: IOpenSIPSJSOptions;
|
416
632
|
private logger;
|
417
|
-
|
418
|
-
private readonly newRTCSessionEventName;
|
633
|
+
readonly newRTCSessionEventName: ListenersKeyType;
|
419
634
|
private readonly registeredEventName;
|
420
635
|
private readonly unregisteredEventName;
|
421
636
|
private readonly disconnectedEventName;
|
422
637
|
private readonly connectedEventName;
|
423
638
|
private readonly newMSRPSessionEventName;
|
424
|
-
private muted;
|
425
|
-
private isAutoAnswer;
|
426
|
-
private isDNDEnabled;
|
427
|
-
private muteWhenJoinEnabled;
|
428
|
-
private activeRooms;
|
429
|
-
private activeCalls;
|
430
|
-
private extendedCalls;
|
431
|
-
private activeMessages;
|
432
|
-
private extendedMessages;
|
433
|
-
private msrpHistory;
|
434
|
-
private microphoneInputLevelValue;
|
435
|
-
private speakerVolumeValue;
|
436
|
-
private availableMediaDevices;
|
437
|
-
private selectedMediaDevices;
|
438
|
-
private callStatus;
|
439
|
-
private callTime;
|
440
|
-
private callMetrics;
|
441
|
-
private timeIntervals;
|
442
|
-
private metricConfig;
|
443
|
-
private activeStreamValue;
|
444
|
-
private initialStreamValue;
|
445
|
-
private currentActiveRoomIdValue;
|
446
|
-
private isCallAddingInProgress;
|
447
639
|
private isMSRPInitializingValue;
|
448
640
|
private isReconnecting;
|
641
|
+
audio: AudioModule;
|
642
|
+
msrp: MSRPModule;
|
643
|
+
video: VideoModule;
|
449
644
|
private listenersList;
|
645
|
+
private modules;
|
450
646
|
constructor(options: IOpenSIPSJSOptions, logger?: CustomLoggerType);
|
451
647
|
on<T extends ListenersKeyType>(type: T, listener: ListenerCallbackFnType<T>): this;
|
452
648
|
off<T extends ListenersKeyType>(type: T, listener: ListenerCallbackFnType<T>): this;
|
453
649
|
emit(type: ListenersKeyType, args: any): boolean;
|
454
650
|
get sipDomain(): string;
|
455
|
-
|
456
|
-
mediaConstraints: {
|
457
|
-
audio: {
|
458
|
-
deviceId: {
|
459
|
-
exact: string;
|
460
|
-
};
|
461
|
-
};
|
462
|
-
video: boolean;
|
463
|
-
};
|
464
|
-
session_timers: boolean;
|
465
|
-
extraHeaders: [string];
|
466
|
-
pcConfig: RTCConfiguration_2;
|
467
|
-
};
|
468
|
-
get currentActiveRoomId(): number | undefined;
|
469
|
-
private set currentActiveRoomId(value);
|
470
|
-
get autoAnswer(): boolean;
|
471
|
-
get callAddingInProgress(): string | undefined;
|
472
|
-
private set callAddingInProgress(value);
|
473
|
-
get isMSRPInitializing(): boolean;
|
474
|
-
get muteWhenJoin(): boolean;
|
475
|
-
get isDND(): boolean;
|
476
|
-
get speakerVolume(): number;
|
477
|
-
get microphoneInputLevel(): number;
|
478
|
-
get getActiveCalls(): {
|
479
|
-
[key: string]: ICall;
|
480
|
-
};
|
481
|
-
get hasActiveCalls(): boolean;
|
482
|
-
get getActiveMessages(): {
|
483
|
-
[key: string]: IMessage;
|
484
|
-
};
|
485
|
-
get getActiveRooms(): {
|
486
|
-
[key: number]: IRoom;
|
487
|
-
};
|
488
|
-
get isMuted(): boolean;
|
489
|
-
get getInputDeviceList(): MediaDeviceInfo[];
|
490
|
-
get getOutputDeviceList(): MediaDeviceInfo[];
|
491
|
-
get getUserMediaConstraints(): {
|
492
|
-
audio: {
|
493
|
-
deviceId: {
|
494
|
-
exact: string;
|
495
|
-
};
|
496
|
-
};
|
497
|
-
video: boolean;
|
498
|
-
};
|
499
|
-
get selectedInputDevice(): string;
|
500
|
-
get selectedOutputDevice(): string;
|
501
|
-
get activeStream(): MediaStream;
|
502
|
-
private setAvailableMediaDevices;
|
503
|
-
updateDeviceList(): Promise<void>;
|
504
|
-
private initializeMediaDevices;
|
505
|
-
setCallTime(value: ITimeData): void;
|
506
|
-
removeCallTime(callId: string): void;
|
507
|
-
private setTimeInterval;
|
508
|
-
private removeTimeInterval;
|
509
|
-
private stopCallTimer;
|
510
|
-
private emitVolumeChange;
|
511
|
-
setMetricsConfig(config: WebrtcMetricsConfigType): void;
|
512
|
-
sendDTMF(callId: string, value: string): void;
|
513
|
-
private setIsMuted;
|
514
|
-
private processMute;
|
515
|
-
mute(): void;
|
516
|
-
unmute(): void;
|
517
|
-
private processHold;
|
518
|
-
holdCall(callId: string, automatic?: boolean): Promise<void>;
|
519
|
-
unholdCall(callId: string): Promise<void>;
|
520
|
-
private cancelAllOutgoingUnanswered;
|
521
|
-
answerCall(callId: string): void;
|
522
|
-
msrpAnswer(callId: string): void;
|
523
|
-
moveCall(callId: string, roomId: number): Promise<void>;
|
524
|
-
updateCall(value: ICall): void;
|
525
|
-
updateMSRPSession(value: IMessage): void;
|
526
|
-
updateRoom(value: IRoomUpdate): void;
|
527
|
-
private hasAutoAnswerHeaders;
|
528
|
-
private addCall;
|
529
|
-
private addCallStatus;
|
530
|
-
private addMMSRPSession;
|
531
|
-
private addMSRPMessage;
|
532
|
-
private updateCallStatus;
|
533
|
-
private removeCallStatus;
|
534
|
-
private addRoom;
|
535
|
-
private getActiveStream;
|
536
|
-
setMicrophone(dId: string): Promise<void>;
|
537
|
-
private setActiveStream;
|
538
|
-
setSpeaker(dId: string): Promise<void>;
|
539
|
-
private removeRoom;
|
540
|
-
private deleteRoomIfEmpty;
|
541
|
-
private checkInitialized;
|
542
|
-
private muteReconfigure;
|
543
|
-
private roomReconfigure;
|
544
|
-
private doConference;
|
545
|
-
private processCallerMute;
|
546
|
-
muteCaller(callId: string): void;
|
547
|
-
unmuteCaller(callId: string): void;
|
548
|
-
terminateCall(callId: string): void;
|
549
|
-
messageTerminate(callId: string): void;
|
550
|
-
transferCall(callId: string, target: string): Error;
|
551
|
-
mergeCall(roomId: number): void;
|
552
|
-
setDND(value: boolean): void;
|
553
|
-
private startCallTimer;
|
554
|
-
setActiveRoom(roomId: number | undefined): Promise<void>;
|
555
|
-
private getNewRoomId;
|
651
|
+
begin(): this;
|
556
652
|
subscribe(type: string, listener: (c: RTCSessionExtended) => void): void;
|
557
653
|
removeIListener(value: string): void;
|
558
|
-
private setupCall;
|
559
|
-
private addMessageSession;
|
560
654
|
private triggerListener;
|
561
|
-
private triggerMSRPListener;
|
562
|
-
private removeCall;
|
563
|
-
private removeMMSRPSession;
|
564
|
-
private activeCallListRemove;
|
565
|
-
private activeMessageListRemove;
|
566
|
-
private newRTCSessionCallback;
|
567
|
-
private newMSRPSessionCallback;
|
568
655
|
private setInitialized;
|
569
|
-
begin(): this;
|
570
|
-
setMuteWhenJoin(value: boolean): void;
|
571
|
-
setMicrophoneSensitivity(value: number): void;
|
572
|
-
setSpeakerVolume(value: number): void;
|
573
|
-
setAutoAnswer(value: boolean): void;
|
574
|
-
private setSelectedInputDevice;
|
575
|
-
private setSelectedOutputDevice;
|
576
|
-
private setIsMSRPInitializing;
|
577
|
-
private setCallMetrics;
|
578
|
-
private removeCallMetrics;
|
579
|
-
private getCallQuality;
|
580
|
-
private setupVUMeter;
|
581
|
-
private stopVUMeter;
|
582
|
-
setupStream(): Promise<void>;
|
583
|
-
private triggerAddStream;
|
584
|
-
initCall(target: string, addToCurrentRoom: boolean): void;
|
585
|
-
initMSRP(target: string, body: string, options: any): void;
|
586
|
-
sendMSRP(msrpSessionId: string, body: string): void;
|
587
|
-
private processRoomChange;
|
588
656
|
}
|
589
657
|
export default OpenSIPSJS;
|
590
658
|
|
@@ -673,19 +741,25 @@ declare class UAExtended extends UAConstructor implements UAExtendedInterface {
|
|
673
741
|
ist: {};
|
674
742
|
ict: {};
|
675
743
|
};
|
744
|
+
_janus_sessions: any[];
|
676
745
|
constructor(configuration: UAConfiguration);
|
677
746
|
call(target: string, options?: CallOptionsExtended): RTCSession;
|
747
|
+
joinVideoCall(target: any, options: any): any;
|
678
748
|
/**
|
679
749
|
* new MSRPSession
|
680
750
|
*/
|
681
751
|
newMSRPSession(session: MSRPSession, data: object): void;
|
752
|
+
newJanusSession(session: any, data: any): void;
|
682
753
|
/**
|
683
754
|
* MSRPSession destroyed.
|
684
755
|
*/
|
685
756
|
destroyMSRPSession(session: MSRPSession): void;
|
757
|
+
destroyJanusSession(session: any): void;
|
686
758
|
receiveRequest(request: any): void;
|
687
759
|
startMSRP(target: string, options: MSRPOptions): MSRPSession;
|
760
|
+
startJanus(target: string, options: JanusOptions): MSRPSession;
|
688
761
|
terminateMSRPSessions(options: object): void;
|
762
|
+
terminateJanusSessions(options: any): void;
|
689
763
|
stop(): void;
|
690
764
|
}
|
691
765
|
|
@@ -727,6 +801,15 @@ declare interface UAExtendedInterface_2 extends UA {
|
|
727
801
|
|
728
802
|
declare type updateRoomListener = (value: RoomChangeEmitType) => void
|
729
803
|
|
804
|
+
declare class VideoModule {
|
805
|
+
private context;
|
806
|
+
constructor(context: any);
|
807
|
+
get sipOptions(): any;
|
808
|
+
initCall(target: string): void;
|
809
|
+
}
|
810
|
+
|
811
|
+
declare type VideoModuleName = typeof MODULES.VIDEO
|
812
|
+
|
730
813
|
declare interface WebrtcMetricsConfigType {
|
731
814
|
refreshEvery?: number
|
732
815
|
startAfter?: number
|