@cemscale-voip/voip-sdk 1.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { useVoIP } from './useVoIP.js';
2
+ export type { UseVoIPConfig, UseVoIPReturn } from './useVoIP.js';
3
+ export { usePresence } from './usePresence.js';
4
+ export type { UsePresenceConfig, UsePresenceReturn } from './usePresence.js';
5
+ export { useCallStatus } from './useCallStatus.js';
6
+ export type { UseCallStatusConfig, UseCallStatusReturn, ActiveCallEntry } from './useCallStatus.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // @cemscale/voip-sdk — React hooks barrel export
2
+ export { useVoIP } from './useVoIP.js';
3
+ export { usePresence } from './usePresence.js';
4
+ export { useCallStatus } from './useCallStatus.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { VoIPClient } from '../client.js';
2
+ import type { CallStats } from '../types.js';
3
+ export interface ActiveCallEntry {
4
+ callUuid: string;
5
+ caller: string;
6
+ destination: string;
7
+ direction: string;
8
+ state: 'ringing' | 'answered' | 'ended';
9
+ startedAt: Date;
10
+ answeredAt: Date | null;
11
+ endedAt: Date | null;
12
+ duration: number | null;
13
+ hangupCause: string | null;
14
+ }
15
+ export interface UseCallStatusConfig {
16
+ /** The VoIPClient instance */
17
+ client: VoIPClient;
18
+ /** Max number of recent (ended) calls to keep in memory (default 50) */
19
+ maxRecent?: number;
20
+ /** Fetch server-side stats periodically (default false) */
21
+ fetchStats?: boolean;
22
+ /** Stats refresh interval in ms (default 60000) */
23
+ statsInterval?: number;
24
+ }
25
+ export interface UseCallStatusReturn {
26
+ /** Currently active (ringing or answered) calls */
27
+ activeCalls: ActiveCallEntry[];
28
+ /** Recently ended calls (in-memory, most recent first) */
29
+ recentCalls: ActiveCallEntry[];
30
+ /** Server-side call stats (if fetchStats is true) */
31
+ stats: CallStats['stats'] | null;
32
+ /** Total active call count */
33
+ activeCount: number;
34
+ /** Force refresh stats from server */
35
+ refreshStats: () => Promise<void>;
36
+ }
37
+ export declare function useCallStatus(configOrClient: UseCallStatusConfig | VoIPClient): UseCallStatusReturn;
38
+ //# sourceMappingURL=useCallStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCallStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useCallStatus.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAwC,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,0DAA0D;IAC1D,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,qDAAqD;IACrD,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACjC,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,cAAc,EAAE,mBAAmB,GAAG,UAAU,GAAG,mBAAmB,CA0GnG"}
@@ -0,0 +1,98 @@
1
+ // ============================================================
2
+ // @cemscale/voip-sdk — useCallStatus React Hook
3
+ // ============================================================
4
+ //
5
+ // Real-time call event tracking via WebSocket. Monitors call_start,
6
+ // call_answer, call_end events for the tenant.
7
+ //
8
+ // Usage:
9
+ // const { activeCalls, recentCalls, stats } = useCallStatus(client);
10
+ import { useState, useEffect, useCallback, useRef } from 'react';
11
+ export function useCallStatus(configOrClient) {
12
+ const client = 'client' in configOrClient ? configOrClient.client : configOrClient;
13
+ const maxRecent = 'maxRecent' in configOrClient ? configOrClient.maxRecent ?? 50 : 50;
14
+ const fetchStats = 'fetchStats' in configOrClient ? configOrClient.fetchStats ?? false : false;
15
+ const statsInterval = 'statsInterval' in configOrClient ? configOrClient.statsInterval ?? 60000 : 60000;
16
+ const [activeCalls, setActiveCalls] = useState([]);
17
+ const [recentCalls, setRecentCalls] = useState([]);
18
+ const [stats, setStats] = useState(null);
19
+ const statsTimerRef = useRef(null);
20
+ const refreshStats = useCallback(async () => {
21
+ try {
22
+ const result = await client.getCallStats('today');
23
+ setStats(result.stats);
24
+ }
25
+ catch {
26
+ // Non-critical
27
+ }
28
+ }, [client]);
29
+ useEffect(() => {
30
+ const unsubscribers = [];
31
+ // call_start
32
+ unsubscribers.push(client.onWsEvent('call_start', (msg) => {
33
+ const entry = {
34
+ callUuid: msg.callUuid,
35
+ caller: msg.caller,
36
+ destination: msg.destination,
37
+ direction: msg.direction,
38
+ state: 'ringing',
39
+ startedAt: new Date(),
40
+ answeredAt: null,
41
+ endedAt: null,
42
+ duration: null,
43
+ hangupCause: null,
44
+ };
45
+ setActiveCalls((prev) => {
46
+ // Avoid duplicates
47
+ if (prev.some((c) => c.callUuid === msg.callUuid))
48
+ return prev;
49
+ return [...prev, entry];
50
+ });
51
+ }));
52
+ // call_answer
53
+ unsubscribers.push(client.onWsEvent('call_answer', (msg) => {
54
+ setActiveCalls((prev) => prev.map((c) => c.callUuid === msg.callUuid
55
+ ? { ...c, state: 'answered', answeredAt: new Date() }
56
+ : c));
57
+ }));
58
+ // call_end
59
+ unsubscribers.push(client.onWsEvent('call_end', (msg) => {
60
+ setActiveCalls((prev) => {
61
+ const call = prev.find((c) => c.callUuid === msg.callUuid);
62
+ if (call) {
63
+ const ended = {
64
+ ...call,
65
+ state: 'ended',
66
+ endedAt: new Date(),
67
+ duration: msg.duration,
68
+ hangupCause: msg.hangupCause,
69
+ };
70
+ // Add to recent calls
71
+ setRecentCalls((recent) => [ended, ...recent].slice(0, maxRecent));
72
+ }
73
+ return prev.filter((c) => c.callUuid !== msg.callUuid);
74
+ });
75
+ }));
76
+ // Fetch stats periodically
77
+ if (fetchStats) {
78
+ refreshStats();
79
+ statsTimerRef.current = setInterval(refreshStats, statsInterval);
80
+ }
81
+ return () => {
82
+ for (const unsub of unsubscribers)
83
+ unsub();
84
+ if (statsTimerRef.current) {
85
+ clearInterval(statsTimerRef.current);
86
+ statsTimerRef.current = null;
87
+ }
88
+ };
89
+ }, [client, maxRecent, fetchStats, statsInterval, refreshStats]);
90
+ return {
91
+ activeCalls,
92
+ recentCalls,
93
+ stats,
94
+ activeCount: activeCalls.length,
95
+ refreshStats,
96
+ };
97
+ }
98
+ //# sourceMappingURL=useCallStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCallStatus.js","sourceRoot":"","sources":["../../src/hooks/useCallStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { VoIPClient } from '../client.js';
2
+ import type { PresenceMap, PresenceStatus } from '../types.js';
3
+ export interface UsePresenceConfig {
4
+ /** The VoIPClient instance (must have token set) */
5
+ client: VoIPClient;
6
+ /** Polling interval in ms when WebSocket is not available (default 10000) */
7
+ pollInterval?: number;
8
+ /** Disable polling entirely (only use WebSocket) */
9
+ disablePolling?: boolean;
10
+ }
11
+ export interface UsePresenceReturn {
12
+ /** Map of extension -> status */
13
+ presence: PresenceMap;
14
+ /** Get the status of a specific extension */
15
+ getStatus: (extension: string) => PresenceStatus;
16
+ /** Whether we're receiving real-time updates via WS */
17
+ isRealtime: boolean;
18
+ /** Force refresh from REST API */
19
+ refresh: () => Promise<void>;
20
+ }
21
+ export declare function usePresence(configOrClient: UsePresenceConfig | VoIPClient): UsePresenceReturn;
22
+ //# sourceMappingURL=usePresence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePresence.d.ts","sourceRoot":"","sources":["../../src/hooks/usePresence.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAwC,MAAM,aAAa,CAAC;AAErG,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,MAAM,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,6CAA6C;IAC7C,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAC;IACjD,uDAAuD;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,iBAAiB,GAAG,UAAU,GAAG,iBAAiB,CAwF7F"}
@@ -0,0 +1,81 @@
1
+ // ============================================================
2
+ // @cemscale/voip-sdk — usePresence React Hook
3
+ // ============================================================
4
+ //
5
+ // Subscribes to real-time presence updates via WebSocket.
6
+ // Falls back to polling REST API if WS is not connected.
7
+ //
8
+ // Usage:
9
+ // const { presence, getStatus } = usePresence(client);
10
+ // // presence = { '1001': 'available', '1002': 'oncall', ... }
11
+ // // getStatus('1001') => 'available'
12
+ import { useState, useEffect, useCallback, useRef } from 'react';
13
+ export function usePresence(configOrClient) {
14
+ const client = 'client' in configOrClient ? configOrClient.client : configOrClient;
15
+ const pollInterval = 'pollInterval' in configOrClient ? configOrClient.pollInterval ?? 10000 : 10000;
16
+ const disablePolling = 'disablePolling' in configOrClient ? configOrClient.disablePolling ?? false : false;
17
+ const [presence, setPresence] = useState({});
18
+ const [isRealtime, setIsRealtime] = useState(false);
19
+ const pollRef = useRef(null);
20
+ // Fetch presence via REST
21
+ const refresh = useCallback(async () => {
22
+ try {
23
+ const result = await client.getPresence();
24
+ setPresence(result.presence);
25
+ }
26
+ catch {
27
+ // Silently fail — presence is non-critical
28
+ }
29
+ }, [client]);
30
+ // Subscribe to WebSocket events
31
+ useEffect(() => {
32
+ const unsubscribers = [];
33
+ // Presence snapshot (sent on WS auth)
34
+ unsubscribers.push(client.onWsEvent('presence_snapshot', (msg) => {
35
+ setPresence(msg.data);
36
+ setIsRealtime(true);
37
+ }));
38
+ // Individual presence changes
39
+ unsubscribers.push(client.onWsEvent('presence_change', (msg) => {
40
+ setPresence((prev) => ({
41
+ ...prev,
42
+ [msg.extension]: msg.status,
43
+ }));
44
+ }));
45
+ // Track WS connection state
46
+ unsubscribers.push(client.onWsEvent('auth_success', () => {
47
+ setIsRealtime(true);
48
+ }));
49
+ unsubscribers.push(client.onWsEvent('disconnected', () => {
50
+ setIsRealtime(false);
51
+ }));
52
+ // Initial fetch
53
+ refresh();
54
+ // Polling fallback
55
+ if (!disablePolling) {
56
+ pollRef.current = setInterval(() => {
57
+ if (!client.isWebSocketConnected()) {
58
+ refresh();
59
+ }
60
+ }, pollInterval);
61
+ }
62
+ return () => {
63
+ for (const unsub of unsubscribers)
64
+ unsub();
65
+ if (pollRef.current) {
66
+ clearInterval(pollRef.current);
67
+ pollRef.current = null;
68
+ }
69
+ };
70
+ }, [client, refresh, pollInterval, disablePolling]);
71
+ const getStatus = useCallback((extension) => {
72
+ return presence[extension] || 'offline';
73
+ }, [presence]);
74
+ return {
75
+ presence,
76
+ getStatus,
77
+ isRealtime,
78
+ refresh,
79
+ };
80
+ }
81
+ //# sourceMappingURL=usePresence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePresence.js","sourceRoot":"","sources":["../../src/hooks/usePresence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { VoIPClient } from '../client.js';
2
+ import { WebRTCPhone } from '../webrtc.js';
3
+ import type { WebRTCCallInfo, LoginParams, AdminLoginParams, AuthResponse, TurnCredentials, OriginateParams, OriginateResponse } from '../types.js';
4
+ export interface UseVoIPConfig {
5
+ /** API base URL */
6
+ apiUrl: string;
7
+ /** SIP domain (e.g. sip.cemscale.com) */
8
+ sipDomain?: string;
9
+ /** WebSocket SIP URI (e.g. wss://sip.cemscale.com:5065/ws) */
10
+ wsUri?: string;
11
+ /** Pre-existing JWT token */
12
+ token?: string;
13
+ /** Tenant ID */
14
+ tenantId?: string;
15
+ /** Auto-connect WebSocket after login */
16
+ autoConnectWs?: boolean;
17
+ /** Auto-answer incoming calls */
18
+ autoAnswer?: boolean;
19
+ /** Audio element for remote audio playback */
20
+ audioElement?: HTMLAudioElement;
21
+ }
22
+ export interface UseVoIPReturn {
23
+ /** The low-level API client */
24
+ client: VoIPClient;
25
+ /** The WebRTC phone instance (null until startPhone is called) */
26
+ phone: WebRTCPhone | null;
27
+ isLoggedIn: boolean;
28
+ isRegistered: boolean;
29
+ currentCall: WebRTCCallInfo | null;
30
+ error: string | null;
31
+ login: (params: LoginParams) => Promise<AuthResponse>;
32
+ adminLogin: (params: AdminLoginParams) => Promise<AuthResponse>;
33
+ logout: () => void;
34
+ startPhone: (extension: string, password: string, displayName?: string) => Promise<void>;
35
+ stopPhone: () => Promise<void>;
36
+ call: (target: string) => Promise<WebRTCCallInfo>;
37
+ answer: () => Promise<void>;
38
+ reject: () => Promise<void>;
39
+ hangup: () => Promise<void>;
40
+ toggleHold: () => Promise<boolean>;
41
+ toggleMute: () => boolean;
42
+ sendDtmf: (tone: string) => void;
43
+ blindTransfer: (target: string) => Promise<void>;
44
+ originate: (params: OriginateParams) => Promise<OriginateResponse>;
45
+ getTurnCredentials: () => Promise<TurnCredentials>;
46
+ clearError: () => void;
47
+ }
48
+ export declare function useVoIP(config: UseVoIPConfig): UseVoIPReturn;
49
+ //# sourceMappingURL=useVoIP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoIP.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoIP.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAGV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,aAAa;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,kEAAkE;IAClE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAG1B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,EAAE,MAAM,IAAI,CAAC;IAGnB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG/B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjD,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAGnE,kBAAkB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAsP5D"}
@@ -0,0 +1,250 @@
1
+ // ============================================================
2
+ // @cemscale/voip-sdk — useVoIP React Hook
3
+ // ============================================================
4
+ //
5
+ // All-in-one hook: API client + WebRTC phone + WebSocket events.
6
+ //
7
+ // Usage:
8
+ // const { client, phone, login, call, hangup, answer, ... } = useVoIP({
9
+ // apiUrl: 'https://voip-api.cemscale.com',
10
+ // sipDomain: 'sip.cemscale.com',
11
+ // wsUri: 'wss://sip.cemscale.com:5065/ws',
12
+ // });
13
+ import { useState, useRef, useCallback, useEffect } from 'react';
14
+ import { VoIPClient } from '../client.js';
15
+ import { WebRTCPhone } from '../webrtc.js';
16
+ export function useVoIP(config) {
17
+ const clientRef = useRef(null);
18
+ const phoneRef = useRef(null);
19
+ const [isLoggedIn, setIsLoggedIn] = useState(!!config.token);
20
+ const [isRegistered, setIsRegistered] = useState(false);
21
+ const [currentCall, setCurrentCall] = useState(null);
22
+ const [error, setError] = useState(null);
23
+ // Stable reference to the client (created once)
24
+ if (!clientRef.current) {
25
+ clientRef.current = new VoIPClient({
26
+ apiUrl: config.apiUrl,
27
+ token: config.token,
28
+ tenantId: config.tenantId,
29
+ });
30
+ }
31
+ const client = clientRef.current;
32
+ // Cleanup on unmount
33
+ useEffect(() => {
34
+ return () => {
35
+ phoneRef.current?.destroy();
36
+ clientRef.current?.destroy();
37
+ };
38
+ }, []);
39
+ // ----- Auth -----
40
+ const login = useCallback(async (params) => {
41
+ try {
42
+ const result = await client.login(params);
43
+ setIsLoggedIn(true);
44
+ setError(null);
45
+ if (config.autoConnectWs !== false) {
46
+ client.connectWebSocket();
47
+ }
48
+ return result;
49
+ }
50
+ catch (err) {
51
+ setError(err.message);
52
+ throw err;
53
+ }
54
+ }, [client, config.autoConnectWs]);
55
+ const adminLogin = useCallback(async (params) => {
56
+ try {
57
+ const result = await client.adminLogin(params);
58
+ setIsLoggedIn(true);
59
+ setError(null);
60
+ if (config.autoConnectWs !== false) {
61
+ client.connectWebSocket();
62
+ }
63
+ return result;
64
+ }
65
+ catch (err) {
66
+ setError(err.message);
67
+ throw err;
68
+ }
69
+ }, [client, config.autoConnectWs]);
70
+ const logout = useCallback(() => {
71
+ phoneRef.current?.destroy();
72
+ phoneRef.current = null;
73
+ client.destroy();
74
+ setIsLoggedIn(false);
75
+ setIsRegistered(false);
76
+ setCurrentCall(null);
77
+ setError(null);
78
+ }, [client]);
79
+ // ----- Phone lifecycle -----
80
+ const startPhone = useCallback(async (extension, password, displayName) => {
81
+ if (phoneRef.current) {
82
+ await phoneRef.current.stop();
83
+ }
84
+ try {
85
+ // Fetch TURN credentials from the API
86
+ let turnServers;
87
+ try {
88
+ const creds = await client.getTurnCredentials();
89
+ turnServers = [
90
+ {
91
+ urls: creds.urls,
92
+ username: creds.username,
93
+ credential: creds.credential,
94
+ },
95
+ ];
96
+ }
97
+ catch {
98
+ // Fallback to public STUN if TURN fetch fails
99
+ turnServers = [{ urls: 'stun:stun.l.google.com:19302' }];
100
+ }
101
+ const phone = new WebRTCPhone({
102
+ sipDomain: config.sipDomain || 'sip.cemscale.com',
103
+ wsUri: config.wsUri || `wss://${config.sipDomain || 'sip.cemscale.com'}:5065/ws`,
104
+ extension,
105
+ password,
106
+ displayName,
107
+ turnServers,
108
+ audioElement: config.audioElement,
109
+ autoAnswer: config.autoAnswer,
110
+ });
111
+ phone.on('registered', () => setIsRegistered(true));
112
+ phone.on('unregistered', () => setIsRegistered(false));
113
+ phone.on('registrationFailed', (err) => setError(`Registration failed: ${err.message}`));
114
+ phone.on('incomingCall', (callInfo) => setCurrentCall(callInfo));
115
+ phone.on('callStateChanged', (callInfo) => setCurrentCall({ ...callInfo }));
116
+ phone.on('callEnded', () => setCurrentCall(null));
117
+ phone.on('error', (err) => setError(err.message));
118
+ phoneRef.current = phone;
119
+ await phone.start();
120
+ setError(null);
121
+ }
122
+ catch (err) {
123
+ setError(`Phone start failed: ${err.message}`);
124
+ throw err;
125
+ }
126
+ }, [client, config.sipDomain, config.wsUri, config.audioElement, config.autoAnswer]);
127
+ const stopPhone = useCallback(async () => {
128
+ if (phoneRef.current) {
129
+ await phoneRef.current.stop();
130
+ phoneRef.current = null;
131
+ }
132
+ setIsRegistered(false);
133
+ setCurrentCall(null);
134
+ }, []);
135
+ // ----- Call actions -----
136
+ const callAction = useCallback(async (target) => {
137
+ if (!phoneRef.current)
138
+ throw new Error('Phone not started');
139
+ try {
140
+ const info = await phoneRef.current.call(target);
141
+ setCurrentCall(info);
142
+ setError(null);
143
+ return info;
144
+ }
145
+ catch (err) {
146
+ setError(err.message);
147
+ throw err;
148
+ }
149
+ }, []);
150
+ const answerAction = useCallback(async () => {
151
+ if (!phoneRef.current)
152
+ throw new Error('Phone not started');
153
+ try {
154
+ await phoneRef.current.answer();
155
+ setError(null);
156
+ }
157
+ catch (err) {
158
+ setError(err.message);
159
+ throw err;
160
+ }
161
+ }, []);
162
+ const rejectAction = useCallback(async () => {
163
+ if (!phoneRef.current)
164
+ throw new Error('Phone not started');
165
+ try {
166
+ await phoneRef.current.reject();
167
+ setCurrentCall(null);
168
+ setError(null);
169
+ }
170
+ catch (err) {
171
+ setError(err.message);
172
+ throw err;
173
+ }
174
+ }, []);
175
+ const hangupAction = useCallback(async () => {
176
+ if (!phoneRef.current)
177
+ throw new Error('Phone not started');
178
+ try {
179
+ await phoneRef.current.hangup();
180
+ setCurrentCall(null);
181
+ setError(null);
182
+ }
183
+ catch (err) {
184
+ setError(err.message);
185
+ throw err;
186
+ }
187
+ }, []);
188
+ const toggleHold = useCallback(async () => {
189
+ if (!phoneRef.current)
190
+ throw new Error('Phone not started');
191
+ return phoneRef.current.toggleHold();
192
+ }, []);
193
+ const toggleMute = useCallback(() => {
194
+ if (!phoneRef.current)
195
+ throw new Error('Phone not started');
196
+ return phoneRef.current.toggleMute();
197
+ }, []);
198
+ const sendDtmf = useCallback((tone) => {
199
+ if (!phoneRef.current)
200
+ throw new Error('Phone not started');
201
+ phoneRef.current.sendDtmf(tone);
202
+ }, []);
203
+ const blindTransfer = useCallback(async (target) => {
204
+ if (!phoneRef.current)
205
+ throw new Error('Phone not started');
206
+ await phoneRef.current.blindTransfer(target);
207
+ }, []);
208
+ // ----- Server-side originate -----
209
+ const originate = useCallback(async (params) => {
210
+ try {
211
+ const result = await client.originate(params);
212
+ setError(null);
213
+ return result;
214
+ }
215
+ catch (err) {
216
+ setError(err.message);
217
+ throw err;
218
+ }
219
+ }, [client]);
220
+ // ----- Helpers -----
221
+ const getTurnCredentials = useCallback(async () => {
222
+ return client.getTurnCredentials();
223
+ }, [client]);
224
+ const clearError = useCallback(() => setError(null), []);
225
+ return {
226
+ client,
227
+ phone: phoneRef.current,
228
+ isLoggedIn,
229
+ isRegistered,
230
+ currentCall,
231
+ error,
232
+ login,
233
+ adminLogin,
234
+ logout,
235
+ startPhone,
236
+ stopPhone,
237
+ call: callAction,
238
+ answer: answerAction,
239
+ reject: rejectAction,
240
+ hangup: hangupAction,
241
+ toggleHold,
242
+ toggleMute,
243
+ sendDtmf,
244
+ blindTransfer,
245
+ originate,
246
+ getTurnCredentials,
247
+ clearError,
248
+ };
249
+ }
250
+ //# sourceMappingURL=useVoIP.js.map