From e4941ef265b6490f96fa05ce59ffc1399d772a8e Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Fri, 29 Nov 2024 15:21:32 +0530 Subject: [PATCH 01/20] NTP-15303 | transfer diconnect event addition --- .npmrc | 1 + packages/adapter-ameyo/lib/assets/js/ajaxClient.ts | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/.npmrc b/.npmrc index e69de29..5c919f0 100644 --- a/.npmrc +++ b/.npmrc @@ -0,0 +1 @@ +registry=http://localhost:4873/ diff --git a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts index 514d0c3..7973659 100644 --- a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts +++ b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts @@ -43,6 +43,7 @@ let http = createRequestObject(); enum pushResponseTypes { UserCallModelUpdatedPush = 'UserCallModelUpdatedPush', + CustomerCallMemberUpdatedPush = 'CustomerCallMemberUpdatedPush', CRMCreateNotifyPush = 'CRMCreateNotifyPush', UserCCRuntimeUpdatedPush = 'UserCCRuntimeUpdatedPush', UserLoggedOffPush = 'UserLoggedOffPush' @@ -85,6 +86,14 @@ function extractUserCallModelUpdatedPush(rawResponse) { res = jsonData; sendCallStatusMessage(res); } + if (jsonData.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { + const payload = jsonData?.data; + // handle for transfer call + if (payload?.isDisposing && + payload?.associationType === 'transfer.association' && + payload?.status === 'hungup') + sendCallStatusMessage(jsonData); + } if (jsonData.pushType === pushResponseTypes.UserCCRuntimeUpdatedPush) { const payload = jsonData?.data; //handle ameyo erroronous condition From 0396193c40f784896ca145a995614ec4ba855e28 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Fri, 29 Nov 2024 15:22:28 +0530 Subject: [PATCH 02/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.69 - @universal-call-sdk/common@1.0.24 - @universal-call-sdk/core@1.0.29 --- packages/adapter-ameyo/package.json | 4 ++-- packages/common/package.json | 2 +- packages/core/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index 920eb2a..ac2091f 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.68", + "version": "1.0.69", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@universal-call-sdk/common": "^1.0.23" + "@universal-call-sdk/common": "^1.0.24" }, "devDependencies": { "@eslint/js": "^9.11.1", diff --git a/packages/common/package.json b/packages/common/package.json index 4fde784..d236dc3 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/common", - "version": "1.0.23", + "version": "1.0.24", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/core/package.json b/packages/core/package.json index 4a1c0ab..749955d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/core", - "version": "1.0.28", + "version": "1.0.29", "type": "module", "scripts": { "dev": "vite", From c4412e5b4df02f41a924a90383d70d2fde4f0aab Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Sun, 1 Dec 2024 01:30:41 +0530 Subject: [PATCH 03/20] NTP-15943 | transfer call --- packages/adapter-ameyo/lib/api.ts | 50 ++++++++++--- packages/adapter-ameyo/lib/main.ts | 36 ++++++++-- packages/adapter-ameyo/lib/types.ts | 3 + packages/common/lib/Interfaces/IAdapter.ts | 15 ++-- packages/core/lib/useCallSdk.ts | 82 +++++++++++++--------- 5 files changed, 130 insertions(+), 56 deletions(-) diff --git a/packages/adapter-ameyo/lib/api.ts b/packages/adapter-ameyo/lib/api.ts index 321593e..4d4865d 100644 --- a/packages/adapter-ameyo/lib/api.ts +++ b/packages/adapter-ameyo/lib/api.ts @@ -1,9 +1,8 @@ import getResponseWithoutCors from "@universal-call-sdk/common/lib/utils/getResponseWithoutCors.ts"; -import { RequestKeys} from "./types"; +import {GenericObject, RequestKeys} from "./types"; import RequestType from "@universal-call-sdk/common/lib/types/RequestType.ts"; - export const loginInAmeyo = (userId: string, password: string) => { console.log('loginInAmeyo', userId, password); return getResponseWithoutCors({ @@ -27,7 +26,7 @@ export const loginInAmeyo = (userId: string, password: string) => { }; export const maintainHeartbeat = (sessionId: string, webcoreTimestamp: string, counter: number) => { const HEART_BEAT_REQUEST_TEXT = `7|0|8|${window.BASE_AMEYO_URL}/app/application_ui/|93B024BCBAF3AE5EFEC49890FE64CF5F|com.drishti.ameyo.common.ui.rpc.CommonGwtRpcService|keepAliveWithPingPush|java.lang.String/2004016611|java.lang.Integer/3438268394|${sessionId}|${webcoreTimestamp}|1|2|3|4|3|5|5|6|7|8|6|${counter}|${sessionId}|`; - setInterval(()=> getResponseWithoutCors({ + setInterval(() => getResponseWithoutCors({ url: `${window.BASE_AMEYO_URL}/ameyo40/service`, method: 'POST', requestKey: RequestKeys.AMEYO_HEARTBEAT, @@ -110,7 +109,7 @@ export const autoSelectExtension = (sessionId: string, userId: string) => { requestType: RequestType.JSON, data: { sessionId: sessionId, - params: { 'user.id': userId } + params: {'user.id': userId} }, headers: { sessionId: sessionId @@ -139,7 +138,7 @@ export const setAutoStatus = (sessionId: string) => { method: 'POST', requestKey: RequestKeys.SET_AUTO_STATUS, requestType: RequestType.JSON, - data: { userSessionId: sessionId, status: true }, + data: {userSessionId: sessionId, status: true}, headers: { sessionId: sessionId } @@ -152,18 +151,18 @@ export const ameyoHangupUser = (sessionId: string, userCRTObjectId: string) => { method: 'POST', requestKey: RequestKeys.HANGUP_USER, requestType: RequestType.JSON, - data: { sessionId, userCRTObjectId }, + data: {sessionId, userCRTObjectId}, headers: { sessionId } }); }; -export const ameyoDisposeCall = (sessionId: string, campaignId : string,crtObjectId: string, userCRTObjectId: string) => { +export const ameyoDisposeCall = (sessionId: string, campaignId: string, crtObjectId: string, userCRTObjectId: string) => { return getResponseWithoutCors({ url: `${window.BASE_AMEYO_URL}/ameyorestapi/voice/disposeCall`, method: 'POST', - requestKey: RequestKeys.HANGUP_USER, + requestKey: RequestKeys.DISPOSE_CALL, requestType: RequestType.JSON, data: { sessionId, @@ -193,3 +192,38 @@ export const getCampaignId = (sessionId: string) => { } }); } + +export const getAllAgentsForTransferCall = (sessionId: string) => { + return getResponseWithoutCors({ + url: `${window.BASE_AMEYO_URL}/ameyorestapi/voice/getAllUserCampaignVoicePresencesByContactCenterId`, + method: 'GET', + requestKey: RequestKeys.GET_AGENTS_FOR_CALL_TRANSFER, + requestType: RequestType.JSON, + data: {}, + headers: { + sessionId + } + }); +} + + +export const transferCallToAgent = (data: GenericObject, sessionId: string, crtObjectId: string, userCRTObjectId: string, campaignId: string) => { + return getResponseWithoutCors({ + url: `${window.BASE_AMEYO_URL}/ameyorestapi/voice/transferToUserInDifferentCampaign`, + method: 'POST', + requestKey: RequestKeys.TRANSFER_CALL_TO_AGENT, + requestType: RequestType.JSON, + data: { + sourceCampaignId: campaignId, + sourceCRTObjectId: userCRTObjectId, + targetCampaignId: data?.campaignId, + targetCRTObjectId: data?.targetCRTObjectId, + transferredCRTObjectIds: [crtObjectId], + "requestId": "48ae79ab-faad-21f5-b694-ad3d9e4e0690" + }, + headers: { + sessionId + } + }); +} + diff --git a/packages/adapter-ameyo/lib/main.ts b/packages/adapter-ameyo/lib/main.ts index 1a59649..ca73f2b 100644 --- a/packages/adapter-ameyo/lib/main.ts +++ b/packages/adapter-ameyo/lib/main.ts @@ -11,7 +11,8 @@ import { selectCampaign, setAgentActive, setAgentOnBreak, setAutoStatus, - getCampaignId, ameyoDisposeCall + getCampaignId, ameyoDisposeCall, + getAllAgentsForTransferCall, transferCallToAgent } from "./api.ts"; import { acceptSipCall, @@ -31,6 +32,7 @@ class AmeyoAdapter implements IAdapter { onAdapterReady: () => void, onAgentAvailabilityChange: (isAgentAvailable: boolean) => void onForcedLogout: () => void + onAgentsForCallTransfer: (data: GenericObject) => void }; private currentCallState: string; private eventListenerUrl: string; @@ -46,7 +48,7 @@ class AmeyoAdapter implements IAdapter { constructor(options: AmeyoInitializationOptions) { console.log('AmeyoAdapter constructor'); - if(document.readyState === 'loading') { + if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', this._appendTags); } else { this._appendTags(); @@ -67,6 +69,8 @@ class AmeyoAdapter implements IAdapter { onAgentAvailabilityChange: () => { }, onForcedLogout: () => { + }, + onAgentsForCallTransfer: () => { } }; this.sessionId = ''; @@ -89,7 +93,7 @@ class AmeyoAdapter implements IAdapter { } - _initializeSipStack = ({accountName, userName, domain="", password}: SipAccountInfo) => { + _initializeSipStack = ({accountName, userName, domain = "", password}: SipAccountInfo) => { console.log('initializing sip stack'); const domainOnly = domain?.split?.(':')?.[0]; const port = domain?.split?.(':')?.[1]; @@ -157,6 +161,9 @@ class AmeyoAdapter implements IAdapter { this.callbacks.onAgentAvailabilityChange(false); window.postMessage({type: 'onAmeyoAvailabiltyChange', data: false},); } + if (payload?.data?.requestKey === RequestKeys.GET_AGENTS_FOR_CALL_TRANSFER) { + this.callbacks.onAgentsForCallTransfer(payload?.data?.response); + } } _registerMessageListener = async ({data}: GenericObject) => { @@ -219,6 +226,11 @@ class AmeyoAdapter implements IAdapter { this.callbacks.onForcedLogout = callback; } + registerOnAgentsForCallTransfer(callback: (data: GenericObject) => void) { + console.log('registerOnAgentsForCallTransfer'); + this.callbacks.onAgentsForCallTransfer = callback; + } + acceptCall() { console.log('acceptCall'); acceptSipCall(); @@ -261,10 +273,22 @@ class AmeyoAdapter implements IAdapter { return this.currentCallState; } + getAvailableAgentsForCallTransfer() { + getAllAgentsForTransferCall(this.sessionId); + } + + transferCallToAgent(data: GenericObject) { + transferCallToAgent(data, + this.sessionId, + this.currentCallMetadata?.crtObjectId, + this.currentCallMetadata?.userCRTObjectId, + this.campaignId); + } + private _appendTags: () => void = () => { const script = document.createElement('script'); script.src = 'https://public-assets.np.navi-gi.in/jarvis/sip5ml.js'; // Assuming it's placed in the public folder - script.async=true; + script.async = true; document.head.appendChild(script); const is_already_appended = document.querySelector('#audio_remote') && document.querySelector('#video_local') && document.querySelector('#video_remote') && document.querySelector('#ringtone') && document.querySelector('#ringbacktone') && document.querySelector('#dtmfTone'); if (is_already_appended) { @@ -358,10 +382,10 @@ class AmeyoAdapter implements IAdapter { src: 'https://public-assets.np.navi-gi.in/jarvis/dtmf.wav', }); const onSipSetupReadyEvent = new CustomEvent('onSipSetupReady', { - detail: { message: 'Custom page loaded event triggered' } + detail: {message: 'Custom page loaded event triggered'} }); - script.onload = ()=>{ + script.onload = () => { window.dispatchEvent(onSipSetupReadyEvent) } diff --git a/packages/adapter-ameyo/lib/types.ts b/packages/adapter-ameyo/lib/types.ts index eb2c8ae..2ebfbb7 100644 --- a/packages/adapter-ameyo/lib/types.ts +++ b/packages/adapter-ameyo/lib/types.ts @@ -21,9 +21,12 @@ export enum RequestKeys { OMNIQUEUE_SERVICE = 'ameyo_omniqueue', SELECT_CAMPAIGN = 'select_campaign', HANGUP_USER = 'hangup_user', + DISPOSE_CALL = 'dispose_call', AUTO_SELECT_EXTENSION = 'auto_select_extension', SET_AUTO_STATUS = "set_auto_status", GET_CAMPAIGN_ID = "get_campaign_id", + GET_AGENTS_FOR_CALL_TRANSFER = "get_agents_for_call_transfer", + TRANSFER_CALL_TO_AGENT = "transfer_call_to_agent", } export type AmeyoInitializationOptions = { diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index 82d5f9a..dc7c413 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -4,28 +4,25 @@ class IAdapter { registerOnCallIncoming(callback: (callState: GenericObject)=>void) {callback({})} registerOnCallConnected(callback: (callState: GenericObject)=>void) {callback({})} registerOnCallDisconnected(callback: (callState: GenericObject)=>void) {callback({})} - registerOnAdapterReady(callback: ()=> void) {callback()} - registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean) => void) {callback(false)} - registerOnForcedLogoutListener(callback:()=>void) {callback()} + registerOnAgentsForCallTransfer(callback: (data : GenericObject) => void) {callback({})} + acceptCall() {} rejectCall() {} muteCall() {} disposeCall() {} unmuteCall() {} - setOnBreak() {} - setAvailable() {} + init() {} + getAgentAvailability(): boolean {return false} - getLatestCallState() {return {}} - - - + getAvailableAgentsForCallTransfer() {} + transferCallToAgent(data: GenericObject) {} } export default IAdapter; diff --git a/packages/core/lib/useCallSdk.ts b/packages/core/lib/useCallSdk.ts index 86fd645..47c0311 100644 --- a/packages/core/lib/useCallSdk.ts +++ b/packages/core/lib/useCallSdk.ts @@ -3,68 +3,66 @@ import {GenericObject, StateType} from "./types.ts"; import IAdapter from "@universal-call-sdk/common/lib/Interfaces/IAdapter.ts"; - - -enum actionTypes { - CALL_INCOMING= 'CALL_INCOMING', - CALL_CONNECTED= 'CALL_CONNECTED', - CALL_DISCONNECTED= 'CALL_DISCONNECTED', - CALL_REJECTED= 'CALL_REJECTED', - CALL_MUTED= 'CALL_MUTED', - CALL_UNMUTED= 'CALL_UNMUTED', +enum actionTypes { + CALL_INCOMING = 'CALL_INCOMING', + CALL_CONNECTED = 'CALL_CONNECTED', + CALL_DISCONNECTED = 'CALL_DISCONNECTED', + CALL_REJECTED = 'CALL_REJECTED', + CALL_MUTED = 'CALL_MUTED', + CALL_UNMUTED = 'CALL_UNMUTED', } + type Actions = { type: actionTypes, payload: GenericObject } -function reducer(state : StateType, action: Actions) : GenericObject { - if(action.type === actionTypes.CALL_INCOMING) { + +function reducer(state: StateType, action: Actions): GenericObject { + if (action.type === actionTypes.CALL_INCOMING) { return { ...state, connectedCustomerdata: action.payload, isRinging: true } } - if(action.type === actionTypes.CALL_CONNECTED) { + if (action.type === actionTypes.CALL_CONNECTED) { return { ...state, isCallConnected: true } } - if(action.type === actionTypes.CALL_DISCONNECTED) { + if (action.type === actionTypes.CALL_DISCONNECTED) { return { ...state, connectedCustomerData: {}, isCallDisconnected: true } } - if(action.type === actionTypes.CALL_REJECTED) { + if (action.type === actionTypes.CALL_REJECTED) { return { connectedCustomerData: {}, isRinging: false } } - if(action.type === actionTypes.CALL_MUTED) { + if (action.type === actionTypes.CALL_MUTED) { return { ...state, isMuted: true } } - if(action.type === actionTypes.CALL_UNMUTED) { + if (action.type === actionTypes.CALL_UNMUTED) { return { ...state, isMuted: false } } - return state; + return state; } - - -const initialState : StateType = { +const initialState: StateType = { connectedCustomerdata: {}, isRinging: false, isCallConnected: false, @@ -73,39 +71,47 @@ const initialState : StateType = { } let adapter: IAdapter; -function UseCallSdk({AdapterClass, adapterOptions} : {AdapterClass: new (adapterOptions: IAdapter)=> IAdapter, adapterOptions: IAdapter}) { + +function UseCallSdk({AdapterClass, adapterOptions}: { + AdapterClass: new (adapterOptions: IAdapter) => IAdapter, + adapterOptions: IAdapter +}) { useEffect(() => { adapter = new AdapterClass(adapterOptions); }, []); // @ts-expect-error sdfsf - const [callState] = useReducer(reducer, initialState,()=> initialState); + const [callState] = useReducer(reducer, initialState, () => initialState); - function registerOnCallIncoming(callback : (callState: GenericObject)=>void) { + function registerOnCallIncoming(callback: (callState: GenericObject) => void) { //dispatch({type: actionTypes.CALL_INCOMING, payload: {}}) adapter.registerOnCallIncoming(callback); } - function registerOnCallConnected(callback : (callState: GenericObject)=>void) { + function registerOnCallConnected(callback: (callState: GenericObject) => void) { adapter.registerOnCallConnected(callback); } - function registerOnCallDisconnected(callback : (callState: GenericObject)=>void) { + function registerOnCallDisconnected(callback: (callState: GenericObject) => void) { adapter.registerOnCallDisconnected(callback); } - function registerOnAdapterReady(callback : ()=> void) { + function registerOnAdapterReady(callback: () => void) { adapter.registerOnAdapterReady(callback); } - function registerOnAgentAvailabilityChange(callback : (isAgentAvailable: boolean) => void) { + function registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean) => void) { adapter.registerOnAgentAvailabilityChange(callback); } - function registerOnForcedLogoutListener(callback:()=>void) { + function registerOnForcedLogoutListener(callback: () => void) { adapter.registerOnForcedLogoutListener(callback); } + function registerOnAgentsForCallTransfer(callback: (data: GenericObject) => void) { + adapter.registerOnAgentsForCallTransfer(callback); + } + function acceptCall() { adapter.acceptCall(); } @@ -140,20 +146,29 @@ function UseCallSdk({AdapterClass, adapterOptions} : {AdapterClass: new (adapter function getAgentAvailability(): boolean { console.log('prinitng adapter', adapter); - return adapter.getAgentAvailability(); + return adapter.getAgentAvailability(); } function getLatestCallState(): GenericObject { return adapter.getLatestCallState(); } - return { + function getAvailableAgentsForCallTransfer() { + adapter.getAvailableAgentsForCallTransfer(); + } + + function transferCallToAgent(data: GenericObject) { + adapter.transferCallToAgent(data); + } + + return { callState, registerOnCallIncoming, registerOnCallConnected, registerOnCallDisconnected, registerOnAgentAvailabilityChange, registerOnForcedLogoutListener, + registerOnAgentsForCallTransfer, acceptCall, rejectCall, disposeCall, @@ -164,9 +179,10 @@ function UseCallSdk({AdapterClass, adapterOptions} : {AdapterClass: new (adapter getLatestCallState, setOnBreak, registerOnAdapterReady, - getAgentAvailability - - } + getAgentAvailability, + getAvailableAgentsForCallTransfer, + transferCallToAgent + } } export default UseCallSdk; From 928172fe25d581287fb40cb7caa305f1fbb1a651 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Sun, 1 Dec 2024 01:32:27 +0530 Subject: [PATCH 04/20] NTP-15943 | lint fix --- packages/common/lib/Interfaces/IAdapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index dc7c413..3b40da7 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -22,7 +22,7 @@ class IAdapter { getAgentAvailability(): boolean {return false} getLatestCallState() {return {}} getAvailableAgentsForCallTransfer() {} - transferCallToAgent(data: GenericObject) {} + transferCallToAgent(data: GenericObject) {console.log("transfer call to agent", data)} } export default IAdapter; From 3b69406abfa3982764a20635ddc4d89b85d1aa8d Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Sun, 1 Dec 2024 01:32:53 +0530 Subject: [PATCH 05/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.70 - @universal-call-sdk/common@1.0.25 - @universal-call-sdk/core@1.0.30 --- packages/adapter-ameyo/package.json | 4 ++-- packages/common/package.json | 2 +- packages/core/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index ac2091f..c846810 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.69", + "version": "1.0.70", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@universal-call-sdk/common": "^1.0.24" + "@universal-call-sdk/common": "^1.0.25" }, "devDependencies": { "@eslint/js": "^9.11.1", diff --git a/packages/common/package.json b/packages/common/package.json index d236dc3..0dbbb12 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/common", - "version": "1.0.24", + "version": "1.0.25", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/core/package.json b/packages/core/package.json index 749955d..b06fc32 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/core", - "version": "1.0.29", + "version": "1.0.30", "type": "module", "scripts": { "dev": "vite", From ccb72e7098637c252f0f35458635c932a4b0b8a6 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:34:09 +0530 Subject: [PATCH 06/20] NTP-15943 | registerOnCallTransfer --- .../adapter-ameyo/lib/assets/js/ajaxClient.ts | 17 ++++++++++++++--- packages/adapter-ameyo/lib/main.ts | 10 ++++++++++ packages/adapter-ameyo/types/MessagingType.ts | 3 ++- packages/common/lib/Interfaces/IAdapter.ts | 4 ++-- packages/core/lib/useCallSdk.ts | 5 +++++ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts index 7973659..a74929d 100644 --- a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts +++ b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts @@ -11,7 +11,7 @@ export enum MessagingType { ON_AMEYO_CALL_DISCONNECTED = 'onAmeyoCallDisconnected', ON_AMEYO_AGENT_ON_BREAK = 'onAmeyoAgentOnBreak', ON_AMEYO_FORCED_LOGOUT = 'onAmeyoForcedLogout', - + ON_AMEYO_CALL_TRANSFER = 'onAmeyoCallTransfer', } @@ -44,6 +44,7 @@ let http = createRequestObject(); enum pushResponseTypes { UserCallModelUpdatedPush = 'UserCallModelUpdatedPush', CustomerCallMemberUpdatedPush = 'CustomerCallMemberUpdatedPush', + UserCallMemberUpdatedPush = 'UserCallMemberUpdatedPush', CRMCreateNotifyPush = 'CRMCreateNotifyPush', UserCCRuntimeUpdatedPush = 'UserCCRuntimeUpdatedPush', UserLoggedOffPush = 'UserLoggedOffPush' @@ -86,7 +87,7 @@ function extractUserCallModelUpdatedPush(rawResponse) { res = jsonData; sendCallStatusMessage(res); } - if (jsonData.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { + if (jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { const payload = jsonData?.data; // handle for transfer call if (payload?.isDisposing && @@ -94,7 +95,17 @@ function extractUserCallModelUpdatedPush(rawResponse) { payload?.status === 'hungup') sendCallStatusMessage(jsonData); } - if (jsonData.pushType === pushResponseTypes.UserCCRuntimeUpdatedPush) { + if (jsonData?.pushType === pushResponseTypes.UserCallMemberUpdatedPush) { + const payload = jsonData?.data; + // handle for transfer call + if (payload?.associationType === 'transfer.association' && ['ringing', 'connected', 'hungup'].includes(payload?.status)) { + window.postMessage({ + type: MessagingType.ON_AMEYO_CALL_TRANSFER, + data: payload + }) + } + } + if (jsonData?.pushType === pushResponseTypes.UserCCRuntimeUpdatedPush) { const payload = jsonData?.data; //handle ameyo erroronous condition if (payload?.isOnBreak) { diff --git a/packages/adapter-ameyo/lib/main.ts b/packages/adapter-ameyo/lib/main.ts index ca73f2b..45075b2 100644 --- a/packages/adapter-ameyo/lib/main.ts +++ b/packages/adapter-ameyo/lib/main.ts @@ -33,6 +33,7 @@ class AmeyoAdapter implements IAdapter { onAgentAvailabilityChange: (isAgentAvailable: boolean) => void onForcedLogout: () => void onAgentsForCallTransfer: (data: GenericObject) => void + onCallTransfer: (data: GenericObject) => void; }; private currentCallState: string; private eventListenerUrl: string; @@ -71,6 +72,8 @@ class AmeyoAdapter implements IAdapter { onForcedLogout: () => { }, onAgentsForCallTransfer: () => { + }, + onCallTransfer: () => { } }; this.sessionId = ''; @@ -194,6 +197,9 @@ class AmeyoAdapter implements IAdapter { if (data?.type === MessagingType.ON_AMEYO_FORCED_LOGOUT) { this.callbacks.onForcedLogout() } + if(data?.type === MessagingType.ON_AMEYO_CALL_TRANSFER){ + this.callbacks.onCallTransfer(data?.data); + } }; registerOnCallIncoming(callback: (callState: StateType) => void) { @@ -231,6 +237,10 @@ class AmeyoAdapter implements IAdapter { this.callbacks.onAgentsForCallTransfer = callback; } + registerOnCallTransfer(callback: (data: GenericObject) => void) { + this.callbacks.onCallTransfer = callback; + } + acceptCall() { console.log('acceptCall'); acceptSipCall(); diff --git a/packages/adapter-ameyo/types/MessagingType.ts b/packages/adapter-ameyo/types/MessagingType.ts index 2d46257..3b92302 100644 --- a/packages/adapter-ameyo/types/MessagingType.ts +++ b/packages/adapter-ameyo/types/MessagingType.ts @@ -6,7 +6,8 @@ ON_AMEYO_CALL_DISCONNECTED = 'onAmeyoCallDisconnected', ON_AMEYO_AGENT_ON_BREAK = 'onAmeyoAgentOnBreak', ON_AMEYO_FORCED_LOGOUT = 'onAmeyoForcedLogout', + ON_AMEYO_CALL_TRANSFER = 'onAmeyoCallTransfer', } -export default MessagingType; \ No newline at end of file +export default MessagingType; diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index 3b40da7..0458cdc 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -8,7 +8,7 @@ class IAdapter { registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean) => void) {callback(false)} registerOnForcedLogoutListener(callback:()=>void) {callback()} registerOnAgentsForCallTransfer(callback: (data : GenericObject) => void) {callback({})} - + registerOnCallTransfer(callback: (data: GenericObject) => void) {callback({})} acceptCall() {} rejectCall() {} muteCall() {} @@ -22,7 +22,7 @@ class IAdapter { getAgentAvailability(): boolean {return false} getLatestCallState() {return {}} getAvailableAgentsForCallTransfer() {} - transferCallToAgent(data: GenericObject) {console.log("transfer call to agent", data)} + transferCallToAgent(data: GenericObject) {} } export default IAdapter; diff --git a/packages/core/lib/useCallSdk.ts b/packages/core/lib/useCallSdk.ts index 47c0311..15e5b84 100644 --- a/packages/core/lib/useCallSdk.ts +++ b/packages/core/lib/useCallSdk.ts @@ -112,6 +112,10 @@ function UseCallSdk({AdapterClass, adapterOptions}: { adapter.registerOnAgentsForCallTransfer(callback); } + function registerOnCallTransfer(callback: (data: GenericObject) => void) { + adapter.registerOnCallTransfer(callback); + } + function acceptCall() { adapter.acceptCall(); } @@ -169,6 +173,7 @@ function UseCallSdk({AdapterClass, adapterOptions}: { registerOnAgentAvailabilityChange, registerOnForcedLogoutListener, registerOnAgentsForCallTransfer, + registerOnCallTransfer, acceptCall, rejectCall, disposeCall, From 8465ec8d9e8f8cce688f4ad737d48288b1e269c7 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:35:14 +0530 Subject: [PATCH 07/20] NTP-15943 | registerOnCallTransfer --- packages/common/lib/Interfaces/IAdapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index 0458cdc..3b1dd0d 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -22,7 +22,7 @@ class IAdapter { getAgentAvailability(): boolean {return false} getLatestCallState() {return {}} getAvailableAgentsForCallTransfer() {} - transferCallToAgent(data: GenericObject) {} + transferCallToAgent(data: GenericObject) {console.log("transfer call to agent", data)} } export default IAdapter; From 83e83928dba91d96a4d00950935be19fc5d85d05 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:36:23 +0530 Subject: [PATCH 08/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.71 - @universal-call-sdk/common@1.0.26 - @universal-call-sdk/core@1.0.31 --- packages/adapter-ameyo/package.json | 4 ++-- packages/common/package.json | 2 +- packages/core/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index c846810..29bb80f 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.70", + "version": "1.0.71", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@universal-call-sdk/common": "^1.0.25" + "@universal-call-sdk/common": "^1.0.26" }, "devDependencies": { "@eslint/js": "^9.11.1", diff --git a/packages/common/package.json b/packages/common/package.json index 0dbbb12..987e15d 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/common", - "version": "1.0.25", + "version": "1.0.26", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/core/package.json b/packages/core/package.json index b06fc32..1c2ae90 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/core", - "version": "1.0.30", + "version": "1.0.31", "type": "module", "scripts": { "dev": "vite", From 4d8ac130ecb4fd4f22e5de68a860f2ed7c8e1a99 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:38:09 +0530 Subject: [PATCH 09/20] NTP-15943 | lint fix --- packages/common/lib/Interfaces/IAdapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index 3b1dd0d..e748c36 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -22,7 +22,7 @@ class IAdapter { getAgentAvailability(): boolean {return false} getLatestCallState() {return {}} getAvailableAgentsForCallTransfer() {} - transferCallToAgent(data: GenericObject) {console.log("transfer call to agent", data)} + transferCallToAgent(data: GenericObject) {console.log("transfer call", data)} } export default IAdapter; From ea11d732f9d80295a49886bd2c1ce1cd0c0f1e44 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:38:30 +0530 Subject: [PATCH 10/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.72 - @universal-call-sdk/common@1.0.27 --- packages/adapter-ameyo/package.json | 4 ++-- packages/common/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index 29bb80f..1816b23 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.71", + "version": "1.0.72", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@universal-call-sdk/common": "^1.0.26" + "@universal-call-sdk/common": "^1.0.27" }, "devDependencies": { "@eslint/js": "^9.11.1", diff --git a/packages/common/package.json b/packages/common/package.json index 987e15d..1174cb9 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/common", - "version": "1.0.26", + "version": "1.0.27", "type": "module", "scripts": { "dev": "vite", From 6df3c4dbf27a3bc33961765a45a2f740d5432991 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:39:09 +0530 Subject: [PATCH 11/20] NTP-15943 | lint fix --- packages/core/lib/useCallSdk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/lib/useCallSdk.ts b/packages/core/lib/useCallSdk.ts index 15e5b84..281f1f1 100644 --- a/packages/core/lib/useCallSdk.ts +++ b/packages/core/lib/useCallSdk.ts @@ -149,7 +149,7 @@ function UseCallSdk({AdapterClass, adapterOptions}: { } function getAgentAvailability(): boolean { - console.log('prinitng adapter', adapter); + console.log('printing adapter', adapter); return adapter.getAgentAvailability(); } From 013597d940d59b64597a8c3a7161771750ad071c Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 20:39:25 +0530 Subject: [PATCH 12/20] Publish - @universal-call-sdk/core@1.0.32 --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 1c2ae90..d5f221c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/core", - "version": "1.0.31", + "version": "1.0.32", "type": "module", "scripts": { "dev": "vite", From 2eaf999b2a4256509c8dbebf762cce0171fd9aff Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 21:46:12 +0530 Subject: [PATCH 13/20] NTP-15943 | CustomerCallMemberUpdatedPush update --- .../adapter-ameyo/lib/assets/js/ajaxClient.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts index a74929d..7be30c6 100644 --- a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts +++ b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts @@ -83,18 +83,19 @@ function extractUserCallModelUpdatedPush(rawResponse) { ); sendCallStatusMessage(res); } - if (jsonData?.pushType === pushResponseTypes.UserCallModelUpdatedPush) { + if (jsonData?.pushType === pushResponseTypes.UserCallModelUpdatedPush || + jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { res = jsonData; sendCallStatusMessage(res); } - if (jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { - const payload = jsonData?.data; - // handle for transfer call - if (payload?.isDisposing && - payload?.associationType === 'transfer.association' && - payload?.status === 'hungup') - sendCallStatusMessage(jsonData); - } + // if (jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { + // const payload = jsonData?.data; + // // handle for transfer call + // if (payload?.isDisposing && + // payload?.associationType === 'transfer.association' && + // payload?.status === 'hungup') + // sendCallStatusMessage(jsonData); + // } if (jsonData?.pushType === pushResponseTypes.UserCallMemberUpdatedPush) { const payload = jsonData?.data; // handle for transfer call From 0af04403779f4b643f2dc7134758a01e090ffd56 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 21:46:29 +0530 Subject: [PATCH 14/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.73 --- packages/adapter-ameyo/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index 1816b23..406bc18 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.72", + "version": "1.0.73", "type": "module", "scripts": { "dev": "vite", From 3f3d7edc58b060a28eac21f846bf1f1ded8da7af Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 21:57:45 +0530 Subject: [PATCH 15/20] NTP-15943 | CustomerCallMemberUpdatedPush update --- .../adapter-ameyo/lib/assets/js/ajaxClient.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts index 7be30c6..adb0862 100644 --- a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts +++ b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts @@ -83,19 +83,17 @@ function extractUserCallModelUpdatedPush(rawResponse) { ); sendCallStatusMessage(res); } - if (jsonData?.pushType === pushResponseTypes.UserCallModelUpdatedPush || - jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { + if (jsonData?.pushType === pushResponseTypes.UserCallModelUpdatedPush) { res = jsonData; sendCallStatusMessage(res); } - // if (jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { - // const payload = jsonData?.data; - // // handle for transfer call - // if (payload?.isDisposing && - // payload?.associationType === 'transfer.association' && - // payload?.status === 'hungup') - // sendCallStatusMessage(jsonData); - // } + if (jsonData?.pushType === pushResponseTypes.CustomerCallMemberUpdatedPush) { + const payload = jsonData?.data; + // handle for transfer call + if (payload?.isDisposing && + payload?.status === 'hungup') + sendCallStatusMessage(jsonData); + } if (jsonData?.pushType === pushResponseTypes.UserCallMemberUpdatedPush) { const payload = jsonData?.data; // handle for transfer call From a46c9232e7c1c80423703392bb0ee891c1fb0d8e Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Mon, 2 Dec 2024 21:58:03 +0530 Subject: [PATCH 16/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.74 --- packages/adapter-ameyo/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index 406bc18..f371098 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.73", + "version": "1.0.74", "type": "module", "scripts": { "dev": "vite", From fc0d8d9df05b12af11cd052ae63f55ea8286af4b Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Tue, 10 Dec 2024 16:16:33 +0530 Subject: [PATCH 17/20] NTP-15943 | comments resolved --- packages/adapter-ameyo/lib/api.ts | 4 ++-- .../adapter-ameyo/lib/assets/js/ajaxClient.ts | 3 ++- packages/adapter-ameyo/lib/main.ts | 21 ++++++++++++------- packages/adapter-ameyo/lib/types.ts | 5 +++++ packages/common/lib/Interfaces/IAdapter.ts | 2 +- packages/core/lib/useCallSdk.ts | 6 +++--- 6 files changed, 27 insertions(+), 14 deletions(-) diff --git a/packages/adapter-ameyo/lib/api.ts b/packages/adapter-ameyo/lib/api.ts index 4d4865d..2b87658 100644 --- a/packages/adapter-ameyo/lib/api.ts +++ b/packages/adapter-ameyo/lib/api.ts @@ -1,5 +1,5 @@ import getResponseWithoutCors from "@universal-call-sdk/common/lib/utils/getResponseWithoutCors.ts"; -import {GenericObject, RequestKeys} from "./types"; +import {CallTransferData, GenericObject, RequestKeys} from "./types"; import RequestType from "@universal-call-sdk/common/lib/types/RequestType.ts"; @@ -207,7 +207,7 @@ export const getAllAgentsForTransferCall = (sessionId: string) => { } -export const transferCallToAgent = (data: GenericObject, sessionId: string, crtObjectId: string, userCRTObjectId: string, campaignId: string) => { +export const transferCallToAgent = (data: CallTransferData, sessionId: string, crtObjectId: string, userCRTObjectId: string, campaignId: string) => { return getResponseWithoutCors({ url: `${window.BASE_AMEYO_URL}/ameyorestapi/voice/transferToUserInDifferentCampaign`, method: 'POST', diff --git a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts index adb0862..4546289 100644 --- a/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts +++ b/packages/adapter-ameyo/lib/assets/js/ajaxClient.ts @@ -96,8 +96,9 @@ function extractUserCallModelUpdatedPush(rawResponse) { } if (jsonData?.pushType === pushResponseTypes.UserCallMemberUpdatedPush) { const payload = jsonData?.data; + const validStatuses = ["ringing", "connected", "hungup"]; // handle for transfer call - if (payload?.associationType === 'transfer.association' && ['ringing', 'connected', 'hungup'].includes(payload?.status)) { + if (payload?.associationType === 'transfer.association' && validStatuses.includes(payload?.status)) { window.postMessage({ type: MessagingType.ON_AMEYO_CALL_TRANSFER, data: payload diff --git a/packages/adapter-ameyo/lib/main.ts b/packages/adapter-ameyo/lib/main.ts index 45075b2..699f96d 100644 --- a/packages/adapter-ameyo/lib/main.ts +++ b/packages/adapter-ameyo/lib/main.ts @@ -1,6 +1,13 @@ import IAdapter from "@universal-call-sdk/common/lib/Interfaces/IAdapter.ts"; import GenericObject from "@universal-call-sdk/common/lib/types/GenericObject.ts"; -import {AmeyoInitializationOptions, CALL_STATES, RequestKeys, SipAccountInfo, StateType} from "./types.ts"; +import { + AmeyoInitializationOptions, + CALL_STATES, + CallTransferData, + RequestKeys, + SipAccountInfo, + StateType +} from "./types.ts"; import MessagingType from "../types/MessagingType.ts"; import { ameyoHangupUser, @@ -33,7 +40,7 @@ class AmeyoAdapter implements IAdapter { onAgentAvailabilityChange: (isAgentAvailable: boolean) => void onForcedLogout: () => void onAgentsForCallTransfer: (data: GenericObject) => void - onCallTransfer: (data: GenericObject) => void; + onCallTransferStatus: (data: GenericObject) => void; }; private currentCallState: string; private eventListenerUrl: string; @@ -73,7 +80,7 @@ class AmeyoAdapter implements IAdapter { }, onAgentsForCallTransfer: () => { }, - onCallTransfer: () => { + onCallTransferStatus: () => { } }; this.sessionId = ''; @@ -198,7 +205,7 @@ class AmeyoAdapter implements IAdapter { this.callbacks.onForcedLogout() } if(data?.type === MessagingType.ON_AMEYO_CALL_TRANSFER){ - this.callbacks.onCallTransfer(data?.data); + this.callbacks.onCallTransferStatus(data?.data); } }; @@ -237,8 +244,8 @@ class AmeyoAdapter implements IAdapter { this.callbacks.onAgentsForCallTransfer = callback; } - registerOnCallTransfer(callback: (data: GenericObject) => void) { - this.callbacks.onCallTransfer = callback; + registerOnCallTransferStatus(callback: (data: GenericObject) => void) { + this.callbacks.onCallTransferStatus = callback; } acceptCall() { @@ -287,7 +294,7 @@ class AmeyoAdapter implements IAdapter { getAllAgentsForTransferCall(this.sessionId); } - transferCallToAgent(data: GenericObject) { + transferCallToAgent(data: CallTransferData) { transferCallToAgent(data, this.sessionId, this.currentCallMetadata?.crtObjectId, diff --git a/packages/adapter-ameyo/lib/types.ts b/packages/adapter-ameyo/lib/types.ts index 2ebfbb7..2617abf 100644 --- a/packages/adapter-ameyo/lib/types.ts +++ b/packages/adapter-ameyo/lib/types.ts @@ -66,3 +66,8 @@ export enum CALL_STATES { CALL_DISCONNECTED = 'CALL_DISCONNECTED', IDLE = 'IDLE', } + +export type CallTransferData = { + campaignId : string, + targetCRTObjectId: string +} diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index e748c36..f7c03c6 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -8,7 +8,7 @@ class IAdapter { registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean) => void) {callback(false)} registerOnForcedLogoutListener(callback:()=>void) {callback()} registerOnAgentsForCallTransfer(callback: (data : GenericObject) => void) {callback({})} - registerOnCallTransfer(callback: (data: GenericObject) => void) {callback({})} + registerOnCallTransferStatus(callback: (data: GenericObject) => void) {callback({})} acceptCall() {} rejectCall() {} muteCall() {} diff --git a/packages/core/lib/useCallSdk.ts b/packages/core/lib/useCallSdk.ts index 281f1f1..9f6b069 100644 --- a/packages/core/lib/useCallSdk.ts +++ b/packages/core/lib/useCallSdk.ts @@ -112,8 +112,8 @@ function UseCallSdk({AdapterClass, adapterOptions}: { adapter.registerOnAgentsForCallTransfer(callback); } - function registerOnCallTransfer(callback: (data: GenericObject) => void) { - adapter.registerOnCallTransfer(callback); + function registerOnCallTransferStatus(callback: (data: GenericObject) => void) { + adapter.registerOnCallTransferStatus(callback); } function acceptCall() { @@ -173,7 +173,7 @@ function UseCallSdk({AdapterClass, adapterOptions}: { registerOnAgentAvailabilityChange, registerOnForcedLogoutListener, registerOnAgentsForCallTransfer, - registerOnCallTransfer, + registerOnCallTransferStatus, acceptCall, rejectCall, disposeCall, From a1dd808861d60edee1298ff715f2e129d93b7b16 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Tue, 10 Dec 2024 16:18:31 +0530 Subject: [PATCH 18/20] NTP-15943 | npmrc removed --- .npmrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.npmrc b/.npmrc index 5c919f0..e69de29 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +0,0 @@ -registry=http://localhost:4873/ From 89aaa567c4dac6598385a5954825c65c76f8a685 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Tue, 10 Dec 2024 16:39:31 +0530 Subject: [PATCH 19/20] NTP-15943 | build fix --- packages/adapter-ameyo/lib/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-ameyo/lib/api.ts b/packages/adapter-ameyo/lib/api.ts index 2b87658..60d77d7 100644 --- a/packages/adapter-ameyo/lib/api.ts +++ b/packages/adapter-ameyo/lib/api.ts @@ -1,5 +1,5 @@ import getResponseWithoutCors from "@universal-call-sdk/common/lib/utils/getResponseWithoutCors.ts"; -import {CallTransferData, GenericObject, RequestKeys} from "./types"; +import {CallTransferData, RequestKeys} from "./types"; import RequestType from "@universal-call-sdk/common/lib/types/RequestType.ts"; From b8083f1917e4857f6c57946c037178bfb10ef3e2 Mon Sep 17 00:00:00 2001 From: Mayank Singh Date: Tue, 10 Dec 2024 16:39:59 +0530 Subject: [PATCH 20/20] Publish - @universal-call-sdk/adapter-ameyo@1.0.80 - @universal-call-sdk/common@1.0.33 - @universal-call-sdk/core@1.0.38 --- packages/adapter-ameyo/package.json | 4 ++-- packages/common/package.json | 2 +- packages/core/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index f4de6e9..06169d4 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.0.79", + "version": "1.0.80", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@universal-call-sdk/common": "^1.0.32" + "@universal-call-sdk/common": "^1.0.33" }, "devDependencies": { "@eslint/js": "^9.11.1", diff --git a/packages/common/package.json b/packages/common/package.json index 16d8776..d3afb83 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/common", - "version": "1.0.32", + "version": "1.0.33", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/core/package.json b/packages/core/package.json index 2938392..b830b14 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/core", - "version": "1.0.37", + "version": "1.0.38", "type": "module", "scripts": { "dev": "vite",