@voicenter-team/opensips-js 1.0.13 → 1.0.15
Sign up to get free protection for your applications and to get access to all the features.
- package/build/index.js +8 -1
- package/package.json +1 -1
- package/src/types/listeners.d.ts +3 -1
package/build/index.js
CHANGED
@@ -316,6 +316,7 @@ class OpenSIPSJS extends UA_1.default {
|
|
316
316
|
isTransferring: false,
|
317
317
|
isMerging: false
|
318
318
|
} });
|
319
|
+
this.emit('changeCallStatus', this.state.callStatus);
|
319
320
|
}
|
320
321
|
_updateCallStatus(value) {
|
321
322
|
const prevStatus = Object.assign({}, this.state.callStatus[value.callId]);
|
@@ -330,11 +331,13 @@ class OpenSIPSJS extends UA_1.default {
|
|
330
331
|
newStatus.isMerging = value.isMerging;
|
331
332
|
}
|
332
333
|
this.state.callStatus = Object.assign(Object.assign({}, this.state.callStatus), { [value.callId]: Object.assign({}, newStatus) });
|
334
|
+
this.emit('changeCallStatus', this.state.callStatus);
|
333
335
|
}
|
334
336
|
_removeCallStatus(callId) {
|
335
337
|
const callStatusCopy = Object.assign({}, this.state.callStatus);
|
336
338
|
delete callStatusCopy[callId];
|
337
339
|
this.state.callStatus = Object.assign({}, callStatusCopy);
|
340
|
+
this.emit('changeCallStatus', this.state.callStatus);
|
338
341
|
}
|
339
342
|
_addRoom(value) {
|
340
343
|
this.state.activeRooms = Object.assign(Object.assign({}, this.state.activeRooms), { [value.roomId]: value });
|
@@ -567,8 +570,12 @@ class OpenSIPSJS extends UA_1.default {
|
|
567
570
|
if (target.toString().length === 0) {
|
568
571
|
return console.error('Target must be passed');
|
569
572
|
}
|
570
|
-
this._updateCallStatus({ callId, isTransferring: true });
|
571
573
|
const call = activeCalls[callId];
|
574
|
+
if (!call._is_confirmed && !call._is_canceled) {
|
575
|
+
call.refer(`sip:${target}@${this.sipDomain}`);
|
576
|
+
return;
|
577
|
+
}
|
578
|
+
this._updateCallStatus({ callId, isTransferring: true });
|
572
579
|
call.refer(`sip:${target}@${this.sipDomain}`);
|
573
580
|
this.updateCall(call);
|
574
581
|
}
|
package/package.json
CHANGED
package/src/types/listeners.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ICall, RoomChangeEmitType } from '@/types/rtc'
|
1
|
+
import { ICall, RoomChangeEmitType, ICallStatus } from '@/types/rtc'
|
2
2
|
import { UAEventMap } from 'jssip/lib/UA'
|
3
3
|
|
4
4
|
export type readyListener = (value: boolean) => void
|
@@ -17,6 +17,7 @@ export type changeOriginalStreamListener = (value: MediaStream) => void
|
|
17
17
|
export type addRoomListener = (value: RoomChangeEmitType) => void
|
18
18
|
export type updateRoomListener = (value: RoomChangeEmitType) => void
|
19
19
|
export type removeRoomListener = (value: RoomChangeEmitType) => void
|
20
|
+
export type changeCallStatusListener = (event: { [key: string]: ICallStatus }) => void
|
20
21
|
|
21
22
|
export interface OpenSIPSEventMap extends UAEventMap {
|
22
23
|
ready: readyListener
|
@@ -35,6 +36,7 @@ export interface OpenSIPSEventMap extends UAEventMap {
|
|
35
36
|
addRoom: addRoomListener
|
36
37
|
updateRoom: updateRoomListener
|
37
38
|
removeRoom: removeRoomListener
|
39
|
+
changeCallStatus: changeCallStatusListener
|
38
40
|
}
|
39
41
|
|
40
42
|
export type ListenersKeyType = keyof OpenSIPSEventMap
|