feat: track UCID from SIP headers for Ozonetel disposition

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-20 18:33:46 +05:30
parent e7c5c13e83
commit d6ef2b70d8
4 changed files with 42 additions and 15 deletions

View File

@@ -8,6 +8,7 @@ import {
sipIsOnHoldAtom,
sipCallDurationAtom,
sipCallStartTimeAtom,
sipCallUcidAtom,
} from '@/state/sip-state';
import { registerSipStateUpdater, connectSip, disconnectSip, getSipClient } from '@/state/sip-manager';
import type { SIPConfig } from '@/types/sip';
@@ -24,6 +25,7 @@ export const SipProvider = ({ children }: PropsWithChildren) => {
const [, setConnectionStatus] = useAtom(sipConnectionStatusAtom);
const [callState, setCallState] = useAtom(sipCallStateAtom);
const setCallerNumber = useSetAtom(sipCallerNumberAtom);
const setCallUcid = useSetAtom(sipCallUcidAtom);
const setCallDuration = useSetAtom(sipCallDurationAtom);
const setCallStartTime = useSetAtom(sipCallStartTimeAtom);
@@ -33,8 +35,9 @@ export const SipProvider = ({ children }: PropsWithChildren) => {
setConnectionStatus,
setCallState,
setCallerNumber,
setCallUcid,
});
}, [setConnectionStatus, setCallState, setCallerNumber]);
}, [setConnectionStatus, setCallState, setCallerNumber, setCallUcid]);
// Auto-connect SIP on mount
useEffect(() => {
@@ -82,6 +85,7 @@ export const useSip = () => {
const [connectionStatus] = useAtom(sipConnectionStatusAtom);
const [callState] = useAtom(sipCallStateAtom);
const [callerNumber, setCallerNumber] = useAtom(sipCallerNumberAtom);
const [callUcid] = useAtom(sipCallUcidAtom);
const [isMuted, setIsMuted] = useAtom(sipIsMutedAtom);
const [isOnHold, setIsOnHold] = useAtom(sipIsOnHoldAtom);
const [callDuration] = useAtom(sipCallDurationAtom);
@@ -117,6 +121,7 @@ export const useSip = () => {
connectionStatus,
callState,
callerNumber,
callUcid,
isMuted,
isOnHold,
callDuration,