@voicenter-team/opensips-js 1.0.76 → 1.0.78
Sign up to get free protection for your applications and to get access to all the features.
- 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 +11618 -8632
- 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
|