@voicenter-team/opensips-js 1.0.13 → 1.0.15

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/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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voicenter-team/opensips-js",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "The JS package for opensips",
5
5
  "default": "src/index.ts",
6
6
  "main": "build/index.js",
@@ -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