From 5d8963b1ce26b5a2f45c30aa46d753ad162ee770 Mon Sep 17 00:00:00 2001 From: Bharath Balan <62698609+bhabalan@users.noreply.github.com> Date: Wed, 18 Mar 2026 06:26:44 +0530 Subject: [PATCH] fix(cc-components): show dialed number instead of entrypoint for outdial calls For outdial calls via dialpad, the IncomingTask, TaskList, and active task (CallControlCAD) were displaying the entrypoint/ANI number instead of the actual dialed destination number. This fix checks interaction.outboundType to detect outdial calls and uses the dn (dialed number) field from callAssociatedDetails as the display number. CAI-7359 --- .../components/task/CallControlCAD/call-control-cad.tsx | 9 +++++++-- .../components/task/IncomingTask/incoming-task.utils.tsx | 7 ++++++- .../src/components/task/TaskList/task-list.utils.ts | 7 ++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/packages/contact-center/cc-components/src/components/task/CallControlCAD/call-control-cad.tsx b/packages/contact-center/cc-components/src/components/task/CallControlCAD/call-control-cad.tsx index b2f31072a..4e80502e4 100644 --- a/packages/contact-center/cc-components/src/components/task/CallControlCAD/call-control-cad.tsx +++ b/packages/contact-center/cc-components/src/components/task/CallControlCAD/call-control-cad.tsx @@ -65,9 +65,14 @@ const CallControlCADComponent: React.FC = (props) => const customerName = currentTask?.data?.interaction?.callAssociatedDetails?.customerName; //@ts-expect-error To be fixed in SDK - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6762 - const ani = currentTask?.data?.interaction?.callAssociatedDetails?.ani; + const rawAni = currentTask?.data?.interaction?.callAssociatedDetails?.ani; //@ts-expect-error To be fixed in SDK - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6762 - const dn = currentTask?.data?.interaction?.callAssociatedDetails?.dn; + const rawDn = currentTask?.data?.interaction?.callAssociatedDetails?.dn; + + // For outdial calls, swap ani and dn so the dialed number is shown as the primary identifier + const isOutdial = !!currentTask?.data?.interaction?.outboundType; + const ani = isOutdial ? rawDn || rawAni : rawAni; + const dn = isOutdial ? rawAni || rawDn : rawDn; // Create unique IDs for tooltips const customerNameTriggerId = `customer-name-trigger-${currentTask.data.interaction.interactionId}`; diff --git a/packages/contact-center/cc-components/src/components/task/IncomingTask/incoming-task.utils.tsx b/packages/contact-center/cc-components/src/components/task/IncomingTask/incoming-task.utils.tsx index 4da1f8745..3ffa3edee 100644 --- a/packages/contact-center/cc-components/src/components/task/IncomingTask/incoming-task.utils.tsx +++ b/packages/contact-center/cc-components/src/components/task/IncomingTask/incoming-task.utils.tsx @@ -35,6 +35,7 @@ export const extractIncomingTaskData = ( //@ts-expect-error To be fixed in SDK - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6762 const callAssociationDetails = incomingTask?.data?.interaction?.callAssociatedDetails; const ani = callAssociationDetails?.ani; + const dn = callAssociationDetails?.dn; const customerName = callAssociationDetails?.customerName; const virtualTeamName = callAssociationDetails?.virtualTeamName; const ronaTimeout = callAssociationDetails?.ronaTimeout ? Number(callAssociationDetails?.ronaTimeout) : null; @@ -42,6 +43,9 @@ export const extractIncomingTaskData = ( const mediaType = incomingTask.data.interaction.mediaType; const mediaChannel = incomingTask.data.interaction.mediaChannel; + // Check if this is an outdial call + const isOutdial = !!incomingTask?.data?.interaction?.outboundType; + // Compute media type flags const isTelephony = mediaType === MEDIA_CHANNEL.TELEPHONY; const isSocial = mediaType === MEDIA_CHANNEL.SOCIAL; @@ -56,7 +60,8 @@ export const extractIncomingTaskData = ( const declineText = !incomingTask.data.wrapUpRequired && isTelephony && isBrowser ? 'Decline' : undefined; // Compute title based on media type - const title = isSocial ? customerName : ani; + // For outdial calls, show the dialed number (dn) instead of the entrypoint number (ani) + const title = isSocial ? customerName : isOutdial ? dn || ani : ani; // Compute disable state for accept button when auto-answering const isAutoAnswering = incomingTask.data.isAutoAnswering || false; diff --git a/packages/contact-center/cc-components/src/components/task/TaskList/task-list.utils.ts b/packages/contact-center/cc-components/src/components/task/TaskList/task-list.utils.ts index aa1591ffc..acb837fb7 100644 --- a/packages/contact-center/cc-components/src/components/task/TaskList/task-list.utils.ts +++ b/packages/contact-center/cc-components/src/components/task/TaskList/task-list.utils.ts @@ -17,6 +17,7 @@ export const extractTaskListItemData = ( //@ts-expect-error To be fixed in SDK - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6762 const callAssociationDetails = task?.data?.interaction?.callAssociatedDetails; const ani = callAssociationDetails?.ani; + const dn = callAssociationDetails?.dn; const customerName = callAssociationDetails?.customerName; const virtualTeamName = callAssociationDetails?.virtualTeamName; @@ -29,6 +30,9 @@ export const extractTaskListItemData = ( const mediaType = task.data.interaction.mediaType; const mediaChannel = task.data.interaction.mediaChannel; + // Check if this is an outdial call + const isOutdial = !!task?.data?.interaction?.outboundType; + // Compute media type flags const isTelephony = mediaType === MEDIA_CHANNEL.TELEPHONY; const isSocial = mediaType === MEDIA_CHANNEL.SOCIAL; @@ -39,7 +43,8 @@ export const extractTaskListItemData = ( const declineText = isTaskIncoming && isTelephony && isBrowser ? 'Decline' : undefined; // Compute title based on media type - const title = isSocial ? customerName : ani; + // For outdial calls, show the dialed number (dn) instead of the entrypoint number (ani) + const title = isSocial ? customerName : isOutdial ? dn || ani : ani; const isAutoAnswering = task.data.isAutoAnswering || false;