@wazo/sdk 1.0.0-alpha.2 → 1.0.0-alpha.4
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/dist/wazo-sdk.js +2 -2
- package/esm/__tests__/__voice__/call.test.js +1 -0
- package/esm/domain/Phone/CTIPhone.js +2 -2
- package/esm/index.js +3 -1
- package/esm/service/CallApi.js +4 -4
- package/esm/simple/index.js +2 -1
- package/esm/state-machine/call-state-machine.js +1 -1
- package/esm/types/domain/Phone/CTIPhone.d.ts.map +1 -1
- package/esm/types/index.d.ts +3 -1
- package/esm/types/index.d.ts.map +1 -1
- package/esm/types/service/CallApi.d.ts +5 -5
- package/esm/types/service/CallApi.d.ts.map +1 -1
- package/esm/types/simple/index.d.ts +3 -1
- package/esm/types/simple/index.d.ts.map +1 -1
- package/esm/types/state-machine/softphone-state-machine.d.ts +1 -1
- package/esm/types/voice/call.d.ts +10 -2
- package/esm/types/voice/call.d.ts.map +1 -1
- package/esm/types/voice/softphone.d.ts +4 -0
- package/esm/types/voice/softphone.d.ts.map +1 -1
- package/esm/voice/call.js +33 -8
- package/esm/voice/softphone.js +11 -2
- package/lib/__tests__/__voice__/call.test.js +1 -0
- package/lib/domain/Phone/CTIPhone.js +2 -2
- package/lib/index.js +7 -3
- package/lib/service/CallApi.js +2 -2
- package/lib/simple/index.js +2 -1
- package/lib/state-machine/call-state-machine.js +1 -1
- package/lib/types/domain/Phone/CTIPhone.d.ts.map +1 -1
- package/lib/types/index.d.ts +3 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/service/CallApi.d.ts +5 -5
- package/lib/types/service/CallApi.d.ts.map +1 -1
- package/lib/types/simple/index.d.ts +3 -1
- package/lib/types/simple/index.d.ts.map +1 -1
- package/lib/types/state-machine/softphone-state-machine.d.ts +1 -1
- package/lib/types/voice/call.d.ts +10 -2
- package/lib/types/voice/call.d.ts.map +1 -1
- package/lib/types/voice/softphone.d.ts +4 -0
- package/lib/types/voice/softphone.d.ts.map +1 -1
- package/lib/voice/call.js +35 -9
- package/lib/voice/softphone.js +14 -2
- package/package.json +1 -1
- package/src/__tests__/__voice__/call.test.ts +1 -0
- package/src/domain/Phone/CTIPhone.ts +3 -2
- package/src/index.ts +4 -1
- package/src/service/CallApi.ts +7 -7
- package/src/simple/index.ts +2 -1
- package/src/state-machine/call-state-machine.ts +1 -1
- package/src/voice/call.ts +42 -10
- package/src/voice/softphone.ts +15 -2
|
@@ -69,6 +69,7 @@ describe('Call', () => {
|
|
|
69
69
|
expect(call.answerTime).toStrictEqual(apiCall.startingTime);
|
|
70
70
|
expect(call.isMuted()).toBeTruthy();
|
|
71
71
|
expect(call.state).toStrictEqual({ [States.ESTABLISHED]: EstablishedStates.MUTED });
|
|
72
|
+
expect(call.isEstablished()).toBeTruthy();
|
|
72
73
|
});
|
|
73
74
|
});
|
|
74
75
|
describe('accept', () => {
|
|
@@ -105,7 +105,7 @@ export default class CTIPhone extends Emitter {
|
|
|
105
105
|
number: callSession.number,
|
|
106
106
|
});
|
|
107
107
|
try {
|
|
108
|
-
await CallApi.cancelCall(callSession);
|
|
108
|
+
await CallApi.cancelCall({ apiId: callSession.getId() });
|
|
109
109
|
if (this.currentCall && callSession.callId === this.currentCall.id) {
|
|
110
110
|
this.endCurrentCall(callSession);
|
|
111
111
|
}
|
|
@@ -127,7 +127,7 @@ export default class CTIPhone extends Emitter {
|
|
|
127
127
|
callId: callSession.getId(),
|
|
128
128
|
number: callSession.number,
|
|
129
129
|
});
|
|
130
|
-
await CallApi.cancelCall(callSession);
|
|
130
|
+
await CallApi.cancelCall({ id: callSession.getId() });
|
|
131
131
|
this.eventEmitter.emit('onCallEnded', callSession);
|
|
132
132
|
}
|
|
133
133
|
async transfer(callSession, number) {
|
package/esm/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { default as ServerError } from './domain/ServerError';
|
|
|
6
6
|
export { default as InvalidStateTransition } from './domain/InvalidStateTransition';
|
|
7
7
|
export { default as InvalidState } from './domain/InvalidState';
|
|
8
8
|
export { default as SFUNotAvailableError } from './domain/SFUNotAvailableError';
|
|
9
|
-
export { default as
|
|
9
|
+
export { default as ApiCall } from './domain/Call';
|
|
10
10
|
export { default as CallLog } from './domain/CallLog';
|
|
11
11
|
export { default as Recording } from './domain/Recording';
|
|
12
12
|
export { default as ChatMessage } from './domain/ChatMessage';
|
|
@@ -45,6 +45,8 @@ export { default as WazoApiClient } from './api-client';
|
|
|
45
45
|
export { default as Agent } from './domain/Agent';
|
|
46
46
|
export { default as ExternalApp } from './domain/ExternalApp';
|
|
47
47
|
export { default as SessionDescriptionHandler } from './lib/WazoSessionDescriptionHandler';
|
|
48
|
+
export { default as Call } from './voice/call';
|
|
49
|
+
export { Softphone } from './voice/softphone';
|
|
48
50
|
export * from './types/WebSocketMessage';
|
|
49
51
|
export * from './utils/PhoneNumberUtil';
|
|
50
52
|
export * from './utils/string';
|
package/esm/service/CallApi.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ApiCall from '../domain/Call';
|
|
2
2
|
import getApiClient from './getApiClient';
|
|
3
3
|
export default class CallApi {
|
|
4
4
|
static async fetchCallLogs(offset, limit) {
|
|
@@ -23,13 +23,13 @@ export default class CallApi {
|
|
|
23
23
|
const lineToUse = line || session.primaryLine();
|
|
24
24
|
return getApiClient().confd.getUserLineSip(session.uuid, lineToUse ? lineToUse.id : '');
|
|
25
25
|
}
|
|
26
|
-
static async cancelCall(
|
|
27
|
-
return getApiClient().calld.cancelCall(
|
|
26
|
+
static async cancelCall(call) {
|
|
27
|
+
return getApiClient().calld.cancelCall(call.apiId || '');
|
|
28
28
|
}
|
|
29
29
|
static async makeCall(callFromLine, extension, isMobile = false, callbackAllLines = false) {
|
|
30
30
|
const lineId = callFromLine ? callFromLine.id : null;
|
|
31
31
|
const response = await getApiClient().calld.makeCall(extension, isMobile, lineId, callbackAllLines);
|
|
32
|
-
return
|
|
32
|
+
return ApiCall.parse(response);
|
|
33
33
|
}
|
|
34
34
|
static async relocateCall(callId, line, contactIdentifier) {
|
|
35
35
|
return getApiClient().calld.relocateCall(callId, 'line', line, contactIdentifier);
|
package/esm/simple/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import IssueReporter from '../service/IssueReporter';
|
|
|
40
40
|
import Features from '../domain/Features';
|
|
41
41
|
import Meeting from '../domain/Meeting';
|
|
42
42
|
import Checker from '../checker/Checker';
|
|
43
|
-
import Softphone from '../voice/softphone';
|
|
43
|
+
import Softphone, { Softphone as SoftphoneClass } from '../voice/softphone';
|
|
44
44
|
import Call from '../voice/call';
|
|
45
45
|
const Wazo = {
|
|
46
46
|
Auth,
|
|
@@ -89,6 +89,7 @@ const Wazo = {
|
|
|
89
89
|
SwitchboardCall,
|
|
90
90
|
WebRTCPhone,
|
|
91
91
|
Meeting,
|
|
92
|
+
SoftphoneClass,
|
|
92
93
|
},
|
|
93
94
|
// Api
|
|
94
95
|
get api() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTIPhone.d.ts","sourceRoot":"","sources":["../../../../src/domain/Phone/CTIPhone.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"CTIPhone.d.ts","sourceRoot":"","sources":["../../../../src/domain/Phone/CTIPhone.ts"],"names":[],"mappings":"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"}
|
package/esm/types/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { default as ServerError } from './domain/ServerError';
|
|
|
6
6
|
export { default as InvalidStateTransition } from './domain/InvalidStateTransition';
|
|
7
7
|
export { default as InvalidState } from './domain/InvalidState';
|
|
8
8
|
export { default as SFUNotAvailableError } from './domain/SFUNotAvailableError';
|
|
9
|
-
export { default as
|
|
9
|
+
export { default as ApiCall } from './domain/Call';
|
|
10
10
|
export { default as CallLog } from './domain/CallLog';
|
|
11
11
|
export { default as Recording } from './domain/Recording';
|
|
12
12
|
export { default as ChatMessage } from './domain/ChatMessage';
|
|
@@ -52,6 +52,8 @@ export { default as WazoApiClient } from './api-client';
|
|
|
52
52
|
export { default as Agent, AgentResponse, AgentArguments } from './domain/Agent';
|
|
53
53
|
export { default as ExternalApp } from './domain/ExternalApp';
|
|
54
54
|
export { default as SessionDescriptionHandler } from './lib/WazoSessionDescriptionHandler';
|
|
55
|
+
export { default as Call } from './voice/call';
|
|
56
|
+
export { Softphone } from './voice/softphone';
|
|
55
57
|
export * from './types/WebSocketMessage';
|
|
56
58
|
export * from './utils/PhoneNumberUtil';
|
|
57
59
|
export * from './utils/string';
|
package/esm/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ApiCall from '../domain/Call';
|
|
2
|
+
import Call from '../voice/call';
|
|
2
3
|
import CallLog from '../domain/CallLog';
|
|
3
4
|
import Line from '../domain/Line';
|
|
4
5
|
import Session from '../domain/Session';
|
|
5
6
|
import Relocation from '../domain/Relocation';
|
|
6
|
-
import CallSession from '../domain/CallSession';
|
|
7
7
|
import Transfer from '../domain/IndirectTransfer';
|
|
8
8
|
export default class CallApi {
|
|
9
9
|
static fetchCallLogs(offset: number, limit?: number): Promise<CallLog[]>;
|
|
10
10
|
static fetchDistinctCallLogs(offset: number, limit: number, distinct?: string): Promise<CallLog[]>;
|
|
11
|
-
static fetchActiveCalls(): Promise<
|
|
11
|
+
static fetchActiveCalls(): Promise<ApiCall[]>;
|
|
12
12
|
static fetchCallLogsFromDate(from: Date, number: string): Promise<CallLog[]>;
|
|
13
13
|
static search(query: string, limit?: number): Promise<CallLog[]>;
|
|
14
14
|
static searchBy(field: string, value: string, limit?: number): Promise<CallLog[]>;
|
|
15
15
|
static fetchSIP(session: Session, line: Line | null | undefined): Promise<any>;
|
|
16
|
-
static cancelCall(
|
|
17
|
-
static makeCall(callFromLine: Line, extension: string, isMobile?: boolean, callbackAllLines?: boolean): Promise<
|
|
16
|
+
static cancelCall(call: Call): Promise<boolean>;
|
|
17
|
+
static makeCall(callFromLine: Line, extension: string, isMobile?: boolean, callbackAllLines?: boolean): Promise<ApiCall | null | undefined>;
|
|
18
18
|
static relocateCall(callId: string, line: number, contactIdentifier?: string): Promise<Relocation>;
|
|
19
19
|
static hold(callId: string): Promise<boolean>;
|
|
20
20
|
static resume(callId: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallApi.d.ts","sourceRoot":"","sources":["../../../src/service/CallApi.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CallApi.d.ts","sourceRoot":"","sources":["../../../src/service/CallApi.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,OAAO;WACb,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;WAIjE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;WAIjG,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;WAItC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;WAIrE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;WAIzD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;WAI1E,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;WAKvE,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;WAIxC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,UAAQ,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;WAMhI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;WAI3F,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAItC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAIxC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAItC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAI1D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAIxC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;WAI7E,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAIxD,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIvE"}
|
|
@@ -30,6 +30,7 @@ import IndirectTransfer from '../domain/IndirectTransfer';
|
|
|
30
30
|
import SwitchboardCall from '../domain/SwitchboardCall';
|
|
31
31
|
import Meeting from '../domain/Meeting';
|
|
32
32
|
import Checker from '../checker/Checker';
|
|
33
|
+
import { Softphone as SoftphoneClass } from '../voice/softphone';
|
|
33
34
|
import Call from '../voice/call';
|
|
34
35
|
declare const Wazo: {
|
|
35
36
|
Auth: import("./Auth").Auth;
|
|
@@ -107,7 +108,7 @@ declare const Wazo: {
|
|
|
107
108
|
};
|
|
108
109
|
Checker: typeof Checker;
|
|
109
110
|
Voice: {
|
|
110
|
-
Softphone:
|
|
111
|
+
Softphone: SoftphoneClass;
|
|
111
112
|
Call: typeof Call;
|
|
112
113
|
};
|
|
113
114
|
domain: {
|
|
@@ -133,6 +134,7 @@ declare const Wazo: {
|
|
|
133
134
|
SwitchboardCall: typeof SwitchboardCall;
|
|
134
135
|
WebRTCPhone: typeof WebRTCPhone;
|
|
135
136
|
Meeting: typeof Meeting;
|
|
137
|
+
SoftphoneClass: typeof SoftphoneClass;
|
|
136
138
|
};
|
|
137
139
|
readonly api: import("..").WazoApiClient;
|
|
138
140
|
readonly agentd: import("../api/agentd").AgentD;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGhJ,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGhJ,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,OAAkB,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
|
|
@@ -13,7 +13,7 @@ export declare const Actions: {
|
|
|
13
13
|
readonly TRANSPORT_CLOSED: "transportClosed";
|
|
14
14
|
};
|
|
15
15
|
export type ActionTypes = typeof Actions[keyof typeof Actions];
|
|
16
|
-
declare const softphoneMachine: import("xstate").StateMachine<import("xstate").MachineContext, import("xstate").AnyEventObject, {}, never, never, never, never, "
|
|
16
|
+
declare const softphoneMachine: import("xstate").StateMachine<import("xstate").MachineContext, import("xstate").AnyEventObject, {}, never, never, never, never, "unregistered" | "registering" | "registered", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("xstate").AnyEventObject, never, never, never, never, string, import("xstate").EventObject>>;
|
|
17
17
|
export type SoftphoneActorRef = ActorRefFrom<typeof softphoneMachine>;
|
|
18
18
|
export default softphoneMachine;
|
|
19
19
|
//# sourceMappingURL=softphone-state-machine.d.ts.map
|
|
@@ -15,7 +15,8 @@ export type ReinviteOptions = {
|
|
|
15
15
|
audioOnly?: boolean;
|
|
16
16
|
iceRestart?: boolean;
|
|
17
17
|
};
|
|
18
|
-
export declare const
|
|
18
|
+
export declare const EVENT_CALL_REMOTLY_ACCEPTED = "remotelyAccepted";
|
|
19
|
+
export declare const EVENT_CALL_LOCALLY_ACCEPTED = "locallyAccepted";
|
|
19
20
|
export declare const EVENT_CALL_CANCELED = "canceled";
|
|
20
21
|
export declare const EVENT_PROGRESS = "progress";
|
|
21
22
|
export declare const EVENT_EARLY_MEDIA = "earlyMedia";
|
|
@@ -55,6 +56,7 @@ declare class Call extends EventEmitter {
|
|
|
55
56
|
displayName: string | null;
|
|
56
57
|
number: string | null;
|
|
57
58
|
currentScreenShare: Record<string, any> | null;
|
|
59
|
+
static newFrom(call: Call): any;
|
|
58
60
|
static parseCall(apiCall: ApiCall): Call;
|
|
59
61
|
constructor(sipCall: SipCall, phone: Softphone);
|
|
60
62
|
accept(options?: AcceptOptions): Promise<string | null>;
|
|
@@ -71,7 +73,11 @@ declare class Call extends EventEmitter {
|
|
|
71
73
|
isMuted(): boolean;
|
|
72
74
|
isCameraMuted(): boolean;
|
|
73
75
|
isHeld(): boolean;
|
|
76
|
+
isEstablishing(): boolean;
|
|
74
77
|
isEstablished(): boolean;
|
|
78
|
+
isRinging(): boolean;
|
|
79
|
+
isOutgoing(): boolean;
|
|
80
|
+
isIncoming(): boolean;
|
|
75
81
|
isConference(): boolean;
|
|
76
82
|
transfer(target: string): void;
|
|
77
83
|
atxfer(): Record<string, any> | null | undefined;
|
|
@@ -102,8 +108,10 @@ declare class Call extends EventEmitter {
|
|
|
102
108
|
getLocalVideoStream(): MediaStream | null | undefined;
|
|
103
109
|
hasALocalVideoTrack(): boolean;
|
|
104
110
|
isVideoRemotelyHeld(): boolean;
|
|
105
|
-
isRinging(): boolean;
|
|
106
111
|
onReinvite(request: IncomingRequestMessage, updatedCalleeName: string, updatedNumber: string, hadRemoteVideo: boolean): void;
|
|
112
|
+
updateFrom(call: Call): void;
|
|
113
|
+
is(otherCall: Call): boolean | "";
|
|
114
|
+
shouldAutoAnswer(): boolean;
|
|
107
115
|
get id(): string;
|
|
108
116
|
get state(): StateTypes | Record<StateTypes, EstablishedStateTypes>;
|
|
109
117
|
private _hasEstablishedState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../src/voice/call.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAEhG,OAAyB,EAAsF,KAAK,UAAU,EAAqB,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC9O,OAAO,EAAE,OAAO,EAAkB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,OAAO,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../src/voice/call.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ export type CallOptions = {
|
|
|
30
30
|
withCamera?: boolean;
|
|
31
31
|
audioOnly?: boolean;
|
|
32
32
|
conference?: boolean;
|
|
33
|
+
extraHeaders?: Record<string, any>;
|
|
33
34
|
};
|
|
34
35
|
export declare class Softphone extends EventEmitter {
|
|
35
36
|
audioOutputDeviceId?: string;
|
|
@@ -46,6 +47,7 @@ export declare class Softphone extends EventEmitter {
|
|
|
46
47
|
ringingEnabled: boolean;
|
|
47
48
|
constructor();
|
|
48
49
|
connect(options?: Partial<WebRtcConfig>): Promise<void>;
|
|
50
|
+
hangupAllCalls(): Promise<boolean[]>;
|
|
49
51
|
disconnect(): Promise<void | null>;
|
|
50
52
|
getPrimaryWebRtcLine(): SipLine | null;
|
|
51
53
|
connectWithCredentials(server: string, sipLine: SipLine, displayName: string, rawOptions?: Partial<WebRtcConfig>): Promise<void>;
|
|
@@ -67,8 +69,10 @@ export declare class Softphone extends EventEmitter {
|
|
|
67
69
|
changeAudioVolume(volume: number): void;
|
|
68
70
|
changeRingVolume(volume: number): void;
|
|
69
71
|
getCurrentCall(): Call | undefined;
|
|
72
|
+
getActiveCalls(): Call[];
|
|
70
73
|
getIncomingCalls(): Call[];
|
|
71
74
|
get state(): StateTypes;
|
|
75
|
+
get user(): string | undefined;
|
|
72
76
|
getUserAgent(): string;
|
|
73
77
|
isRegistered(): boolean;
|
|
74
78
|
_bindEvents(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softphone.d.ts","sourceRoot":"","sources":["../../../src/voice/softphone.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAI7C,OAA8B,EAAE,KAAK,iBAAiB,EAAW,KAAK,UAAU,EAAuB,MAAM,0CAA0C,CAAC;AACxJ,OAAO,EAAE,YAAY,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AAGjD,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AACrD,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AACpE,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"softphone.d.ts","sourceRoot":"","sources":["../../../src/voice/softphone.ts"],"names":[],"mappings":"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"}
|
package/esm/voice/call.js
CHANGED
|
@@ -4,6 +4,8 @@ import { createActor } from 'xstate';
|
|
|
4
4
|
import { Invitation } from 'sip.js/lib/api/invitation';
|
|
5
5
|
import { SessionState } from 'sip.js/lib/api/session-state';
|
|
6
6
|
import callStateMachine, { Actions, EstablishedActions, States, EstablishedStates } from '../state-machine/call-state-machine';
|
|
7
|
+
import newFrom from '../utils/new-from';
|
|
8
|
+
import updateFrom from '../utils/update-from';
|
|
7
9
|
import IssueReporter from '../service/IssueReporter';
|
|
8
10
|
import softphone, { EVENT_TERMINATE_SOUND } from './softphone';
|
|
9
11
|
import { getCallDisplayName, getCallNumber, getSipSessionId } from '../utils/sdp';
|
|
@@ -11,7 +13,8 @@ import { assertCan, assertState, getState } from '../state-machine/utils';
|
|
|
11
13
|
import { downgradeToAudio, getLocalStream, getLocalVideoStream, getPeerConnection, getRemoteStream, getRemoteVideoStream, getStreamFromConstraints, getWebRtcStats, hasALocalVideoTrack, hasLocalVideo, hasRemoteVideo, isVideoMuted, isVideoRemotelyHeld, setLocalMediaStream, toggleVideo, upgradeToVideo } from '../utils/webrtc';
|
|
12
14
|
const logger = IssueReporter.loggerFor('call');
|
|
13
15
|
// Events
|
|
14
|
-
export const
|
|
16
|
+
export const EVENT_CALL_REMOTLY_ACCEPTED = 'remotelyAccepted';
|
|
17
|
+
export const EVENT_CALL_LOCALLY_ACCEPTED = 'locallyAccepted';
|
|
15
18
|
export const EVENT_CALL_CANCELED = 'canceled';
|
|
16
19
|
export const EVENT_PROGRESS = 'progress';
|
|
17
20
|
export const EVENT_EARLY_MEDIA = 'earlyMedia';
|
|
@@ -52,6 +55,9 @@ class Call extends EventEmitter {
|
|
|
52
55
|
displayName;
|
|
53
56
|
number;
|
|
54
57
|
currentScreenShare;
|
|
58
|
+
static newFrom(call) {
|
|
59
|
+
return newFrom(call, Call);
|
|
60
|
+
}
|
|
55
61
|
static parseCall(apiCall) {
|
|
56
62
|
const sipCall = {
|
|
57
63
|
id: apiCall.sipCallId,
|
|
@@ -114,6 +120,7 @@ class Call extends EventEmitter {
|
|
|
114
120
|
this.answerTime = new Date();
|
|
115
121
|
return this.phone.client.answer(this.sipCall, options.withCamera).then(() => {
|
|
116
122
|
logger.info('call - accepted', { id: this.id, ...options });
|
|
123
|
+
this.emit(EVENT_CALL_LOCALLY_ACCEPTED, this);
|
|
117
124
|
return this.id;
|
|
118
125
|
}).catch(e => {
|
|
119
126
|
logger.error(e);
|
|
@@ -243,16 +250,28 @@ class Call extends EventEmitter {
|
|
|
243
250
|
isHeld() {
|
|
244
251
|
return this._hasEstablishedState(EstablishedStates.HELD);
|
|
245
252
|
}
|
|
253
|
+
isEstablishing() {
|
|
254
|
+
return this.sipCall.state === SessionState.Establishing;
|
|
255
|
+
}
|
|
246
256
|
isEstablished() {
|
|
247
257
|
return States.ESTABLISHED in this.state;
|
|
248
258
|
}
|
|
259
|
+
isRinging() {
|
|
260
|
+
return this.state === States.RINGING;
|
|
261
|
+
}
|
|
262
|
+
isOutgoing() {
|
|
263
|
+
return this.sipCall instanceof Invitation;
|
|
264
|
+
}
|
|
265
|
+
isIncoming() {
|
|
266
|
+
return !this.isOutgoing();
|
|
267
|
+
}
|
|
249
268
|
isConference() {
|
|
250
269
|
return getPeerConnection(this.sipCall)?.sfu;
|
|
251
270
|
}
|
|
252
271
|
transfer(target) {
|
|
253
272
|
assertState(this.callActor, States.ESTABLISHED);
|
|
254
273
|
logger.info('call - transfer', { id: this.id, target });
|
|
255
|
-
this.phone.client.transfer(this.sipCall, target);
|
|
274
|
+
return this.phone.client.transfer(this.sipCall, target);
|
|
256
275
|
}
|
|
257
276
|
atxfer() {
|
|
258
277
|
assertState(this.callActor, States.ESTABLISHED);
|
|
@@ -383,7 +402,7 @@ class Call extends EventEmitter {
|
|
|
383
402
|
}
|
|
384
403
|
onAccepted() {
|
|
385
404
|
this._sendAction(Actions.REMOTLY_ACCEPTED);
|
|
386
|
-
this.emit(
|
|
405
|
+
this.emit(EVENT_CALL_REMOTLY_ACCEPTED);
|
|
387
406
|
}
|
|
388
407
|
onProgress() {
|
|
389
408
|
this.emit(EVENT_PROGRESS);
|
|
@@ -432,12 +451,18 @@ class Call extends EventEmitter {
|
|
|
432
451
|
isVideoRemotelyHeld() {
|
|
433
452
|
return isVideoRemotelyHeld(this.sipCall);
|
|
434
453
|
}
|
|
435
|
-
isRinging() {
|
|
436
|
-
return this.state === States.RINGING;
|
|
437
|
-
}
|
|
438
454
|
onReinvite(request, updatedCalleeName, updatedNumber, hadRemoteVideo) {
|
|
439
455
|
this.emit(EVENT_REINVITE, request, updatedCalleeName, updatedNumber, hadRemoteVideo);
|
|
440
456
|
}
|
|
457
|
+
updateFrom(call) {
|
|
458
|
+
updateFrom(this, call);
|
|
459
|
+
}
|
|
460
|
+
is(otherCall) {
|
|
461
|
+
return otherCall && this.id && this.id === otherCall.id;
|
|
462
|
+
}
|
|
463
|
+
shouldAutoAnswer() {
|
|
464
|
+
return !!this.sipCall.request.getHeader('alert-info');
|
|
465
|
+
}
|
|
441
466
|
get id() {
|
|
442
467
|
return getSipSessionId(this.sipCall);
|
|
443
468
|
}
|
|
@@ -446,7 +471,7 @@ class Call extends EventEmitter {
|
|
|
446
471
|
}
|
|
447
472
|
_hasEstablishedState(establishedState) {
|
|
448
473
|
const state = this.state;
|
|
449
|
-
return States.ESTABLISHED in state && state[States.ESTABLISHED] === establishedState;
|
|
474
|
+
return typeof state === 'object' && States.ESTABLISHED in state && state[States.ESTABLISHED] === establishedState;
|
|
450
475
|
}
|
|
451
476
|
_bindEvents() {
|
|
452
477
|
if (this.sipCall instanceof Invitation) {
|
|
@@ -459,7 +484,7 @@ class Call extends EventEmitter {
|
|
|
459
484
|
this.emit(EVENT_CALL_CANCELED, elsewhere);
|
|
460
485
|
};
|
|
461
486
|
}
|
|
462
|
-
this.sipCall
|
|
487
|
+
this.sipCall?.stateChange?.addListener((newState) => {
|
|
463
488
|
switch (newState) {
|
|
464
489
|
case SessionState.Terminating:
|
|
465
490
|
logger.info('call - terminating', { id: this.id });
|
package/esm/voice/softphone.js
CHANGED
|
@@ -64,13 +64,16 @@ export class Softphone extends EventEmitter {
|
|
|
64
64
|
this.options.userUuid = session.uuid || '';
|
|
65
65
|
return this.connectWithCredentials(server, this.sipLine, session.displayName(), options);
|
|
66
66
|
}
|
|
67
|
+
async hangupAllCalls() {
|
|
68
|
+
return Promise.all(this.calls.map(call => call.hangup()));
|
|
69
|
+
}
|
|
67
70
|
async disconnect() {
|
|
68
71
|
assertCan(this.softphoneActor, Actions.UNREGISTER);
|
|
69
72
|
if (!this.client) {
|
|
70
73
|
return null;
|
|
71
74
|
}
|
|
72
75
|
// Terminate all calls
|
|
73
|
-
await
|
|
76
|
+
await this.hangupAllCalls();
|
|
74
77
|
return this.client.unregister();
|
|
75
78
|
}
|
|
76
79
|
getPrimaryWebRtcLine() {
|
|
@@ -248,7 +251,10 @@ export class Softphone extends EventEmitter {
|
|
|
248
251
|
this.audioRingVolume = volume;
|
|
249
252
|
}
|
|
250
253
|
getCurrentCall() {
|
|
251
|
-
return this.
|
|
254
|
+
return this.getActiveCalls()[0];
|
|
255
|
+
}
|
|
256
|
+
getActiveCalls() {
|
|
257
|
+
return this.calls.filter(call => call.isEstablished());
|
|
252
258
|
}
|
|
253
259
|
getIncomingCalls() {
|
|
254
260
|
return this.calls.filter(call => call.isRinging());
|
|
@@ -256,6 +262,9 @@ export class Softphone extends EventEmitter {
|
|
|
256
262
|
get state() {
|
|
257
263
|
return getState(this.softphoneActor);
|
|
258
264
|
}
|
|
265
|
+
get user() {
|
|
266
|
+
return this.client?.userAgent?.contact?.uri?.user;
|
|
267
|
+
}
|
|
259
268
|
getUserAgent() {
|
|
260
269
|
return this.client?.config?.userAgentString || 'softphone';
|
|
261
270
|
}
|
|
@@ -83,6 +83,7 @@ describe('Call', () => {
|
|
|
83
83
|
expect(call.answerTime).toStrictEqual(apiCall.startingTime);
|
|
84
84
|
expect(call.isMuted()).toBeTruthy();
|
|
85
85
|
expect(call.state).toStrictEqual({ [call_state_machine_1.States.ESTABLISHED]: call_state_machine_1.EstablishedStates.MUTED });
|
|
86
|
+
expect(call.isEstablished()).toBeTruthy();
|
|
86
87
|
}));
|
|
87
88
|
});
|
|
88
89
|
describe('accept', () => {
|
|
@@ -119,7 +119,7 @@ class CTIPhone extends Emitter_1.default {
|
|
|
119
119
|
number: callSession.number,
|
|
120
120
|
});
|
|
121
121
|
try {
|
|
122
|
-
yield CallApi_1.default.cancelCall(callSession);
|
|
122
|
+
yield CallApi_1.default.cancelCall({ apiId: callSession.getId() });
|
|
123
123
|
if (this.currentCall && callSession.callId === this.currentCall.id) {
|
|
124
124
|
this.endCurrentCall(callSession);
|
|
125
125
|
}
|
|
@@ -143,7 +143,7 @@ class CTIPhone extends Emitter_1.default {
|
|
|
143
143
|
callId: callSession.getId(),
|
|
144
144
|
number: callSession.number,
|
|
145
145
|
});
|
|
146
|
-
yield CallApi_1.default.cancelCall(callSession);
|
|
146
|
+
yield CallApi_1.default.cancelCall({ id: callSession.getId() });
|
|
147
147
|
this.eventEmitter.emit('onCallEnded', callSession);
|
|
148
148
|
});
|
|
149
149
|
}
|
package/lib/index.js
CHANGED
|
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.SOCKET_EVENTS = exports.WebSocketClient = exports.AdHocAPIConference = exports.CallApi = exports.setIsMobile = exports.setOnRefreshTokenError = exports.setOnRefreshToken = exports.setCurrentServer = exports.setApiToken = exports.getApiClient = exports.SipLine = exports.MeetingAuthorization = exports.MeetingStatus = exports.ApiRequester = exports.Checker = exports.DebugDevice = exports.Meeting = exports.CTIPhone = exports.WebRTCPhone = exports.CallerID = exports.SwitchboardCall = exports.IndirectTransfer = exports.CallSession = exports.Room = exports.Relocation = exports.Voicemail = exports.Session = exports.LINE_STATE = exports.PROFILE_STATE = exports.Profile = exports.NotificationOptions = exports.Line = exports.Incall = exports.FORWARD_KEYS = exports.ForwardOption = exports.Features = exports.COUNTRIES = exports.Contact = exports.ChatRoom = exports.ChatMessage = exports.Recording = exports.CallLog = exports.
|
|
21
|
-
exports.SessionDescriptionHandler = exports.ExternalApp = exports.Agent = exports.WazoApiClient = exports.WebRTCClient = void 0;
|
|
20
|
+
exports.SOCKET_EVENTS = exports.WebSocketClient = exports.AdHocAPIConference = exports.CallApi = exports.setIsMobile = exports.setOnRefreshTokenError = exports.setOnRefreshToken = exports.setCurrentServer = exports.setApiToken = exports.getApiClient = exports.SipLine = exports.MeetingAuthorization = exports.MeetingStatus = exports.ApiRequester = exports.Checker = exports.DebugDevice = exports.Meeting = exports.CTIPhone = exports.WebRTCPhone = exports.CallerID = exports.SwitchboardCall = exports.IndirectTransfer = exports.CallSession = exports.Room = exports.Relocation = exports.Voicemail = exports.Session = exports.LINE_STATE = exports.PROFILE_STATE = exports.Profile = exports.NotificationOptions = exports.Line = exports.Incall = exports.FORWARD_KEYS = exports.ForwardOption = exports.Features = exports.COUNTRIES = exports.Contact = exports.ChatRoom = exports.ChatMessage = exports.Recording = exports.CallLog = exports.ApiCall = exports.SFUNotAvailableError = exports.InvalidState = exports.InvalidStateTransition = exports.ServerError = exports.BadResponse = exports.IssueReporter = exports.Emitter = void 0;
|
|
21
|
+
exports.Softphone = exports.Call = exports.SessionDescriptionHandler = exports.ExternalApp = exports.Agent = exports.WazoApiClient = exports.WebRTCClient = void 0;
|
|
22
22
|
const index_1 = __importDefault(require("./simple/index"));
|
|
23
23
|
var Emitter_1 = require("./utils/Emitter");
|
|
24
24
|
Object.defineProperty(exports, "Emitter", { enumerable: true, get: function () { return __importDefault(Emitter_1).default; } });
|
|
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "InvalidState", { enumerable: true, get: function
|
|
|
35
35
|
var SFUNotAvailableError_1 = require("./domain/SFUNotAvailableError");
|
|
36
36
|
Object.defineProperty(exports, "SFUNotAvailableError", { enumerable: true, get: function () { return __importDefault(SFUNotAvailableError_1).default; } });
|
|
37
37
|
var Call_1 = require("./domain/Call");
|
|
38
|
-
Object.defineProperty(exports, "
|
|
38
|
+
Object.defineProperty(exports, "ApiCall", { enumerable: true, get: function () { return __importDefault(Call_1).default; } });
|
|
39
39
|
var CallLog_1 = require("./domain/CallLog");
|
|
40
40
|
Object.defineProperty(exports, "CallLog", { enumerable: true, get: function () { return __importDefault(CallLog_1).default; } });
|
|
41
41
|
var Recording_1 = require("./domain/Recording");
|
|
@@ -121,6 +121,10 @@ var ExternalApp_1 = require("./domain/ExternalApp");
|
|
|
121
121
|
Object.defineProperty(exports, "ExternalApp", { enumerable: true, get: function () { return __importDefault(ExternalApp_1).default; } });
|
|
122
122
|
var WazoSessionDescriptionHandler_1 = require("./lib/WazoSessionDescriptionHandler");
|
|
123
123
|
Object.defineProperty(exports, "SessionDescriptionHandler", { enumerable: true, get: function () { return __importDefault(WazoSessionDescriptionHandler_1).default; } });
|
|
124
|
+
var call_1 = require("./voice/call");
|
|
125
|
+
Object.defineProperty(exports, "Call", { enumerable: true, get: function () { return __importDefault(call_1).default; } });
|
|
126
|
+
var softphone_1 = require("./voice/softphone");
|
|
127
|
+
Object.defineProperty(exports, "Softphone", { enumerable: true, get: function () { return softphone_1.Softphone; } });
|
|
124
128
|
__exportStar(require("./types/WebSocketMessage"), exports);
|
|
125
129
|
__exportStar(require("./utils/PhoneNumberUtil"), exports);
|
|
126
130
|
__exportStar(require("./utils/string"), exports);
|
package/lib/service/CallApi.js
CHANGED
|
@@ -51,9 +51,9 @@ class CallApi {
|
|
|
51
51
|
return (0, getApiClient_1.default)().confd.getUserLineSip(session.uuid, lineToUse ? lineToUse.id : '');
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
static cancelCall(
|
|
54
|
+
static cancelCall(call) {
|
|
55
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
return (0, getApiClient_1.default)().calld.cancelCall(
|
|
56
|
+
return (0, getApiClient_1.default)().calld.cancelCall(call.apiId || '');
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
static makeCall(callFromLine_1, extension_1) {
|
package/lib/simple/index.js
CHANGED
|
@@ -68,7 +68,7 @@ const IssueReporter_1 = __importDefault(require("../service/IssueReporter"));
|
|
|
68
68
|
const Features_1 = __importDefault(require("../domain/Features"));
|
|
69
69
|
const Meeting_1 = __importDefault(require("../domain/Meeting"));
|
|
70
70
|
const Checker_1 = __importDefault(require("../checker/Checker"));
|
|
71
|
-
const softphone_1 =
|
|
71
|
+
const softphone_1 = __importStar(require("../voice/softphone"));
|
|
72
72
|
const call_1 = __importDefault(require("../voice/call"));
|
|
73
73
|
const Wazo = {
|
|
74
74
|
Auth: Auth_1.default,
|
|
@@ -117,6 +117,7 @@ const Wazo = {
|
|
|
117
117
|
SwitchboardCall: SwitchboardCall_1.default,
|
|
118
118
|
WebRTCPhone: WebRTCPhone_1.default,
|
|
119
119
|
Meeting: Meeting_1.default,
|
|
120
|
+
SoftphoneClass: softphone_1.Softphone,
|
|
120
121
|
},
|
|
121
122
|
// Api
|
|
122
123
|
get api() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTIPhone.d.ts","sourceRoot":"","sources":["../../../../src/domain/Phone/CTIPhone.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"CTIPhone.d.ts","sourceRoot":"","sources":["../../../../src/domain/Phone/CTIPhone.ts"],"names":[],"mappings":"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"}
|