From 837de61280548ffc9ee5f863f155c8a133ad817c Mon Sep 17 00:00:00 2001 From: Debora Crescenzo Date: Wed, 9 Jul 2025 20:32:41 +0100 Subject: [PATCH] MT#63089 Match the calling/called number into the phonebook For outgoing or incoming calls show the name saved in the phonebook (if it exists). Note when retrieving phonebook entries we always return the first entry. As a result of that: - if there are duplicates we only show one name. - if there isn't an exact match, as per today, it won't find any entries. Change-Id: I5c4307b8e22e6bc65f8efe159867d462d72f0d0d --- src/api/call.js | 8 +++++++ src/boot/ngcp-call.js | 5 ++--- src/components/call/CscCall.vue | 40 ++++++++++++++++++++++----------- src/layouts/CscLayoutMain.vue | 4 +++- src/store/call/actions.js | 19 ++++++++++++++++ src/store/call/mutations.js | 7 ++++++ src/store/call/state.js | 1 + 7 files changed, 67 insertions(+), 17 deletions(-) create mode 100644 src/api/call.js diff --git a/src/api/call.js b/src/api/call.js new file mode 100644 index 00000000..dc8d44f2 --- /dev/null +++ b/src/api/call.js @@ -0,0 +1,8 @@ +import { getList } from 'src/api/common' + +export async function fetchPhonebookEntries (number) { + return getList({ + resource: 'subscriberphonebookentries', + params: { number } + }) +} diff --git a/src/boot/ngcp-call.js b/src/boot/ngcp-call.js index e621acbc..476283a7 100644 --- a/src/boot/ngcp-call.js +++ b/src/boot/ngcp-call.js @@ -53,9 +53,8 @@ export default async ({ app, store }) => { callEvent.on('outgoingEnded', callFailed) callEvent.on('incomingEnded', callFailed) callEvent.on('incoming', (session) => { - store.commit('call/incomingCall', { - number: _.get(session, 'remote_identity.uri.user', 'Unknown') - }) + const number = _.get(session, 'remote_identity.uri.user', 'Unknown') + store.dispatch('call/processIncomingCall', number) }) callEvent.on('localStream', (stream) => { if (store.state.call.microphoneEnabled) { diff --git a/src/components/call/CscCall.vue b/src/components/call/CscCall.vue index 641827ea..92dd9afe 100644 --- a/src/components/call/CscCall.vue +++ b/src/components/call/CscCall.vue @@ -47,21 +47,21 @@ - {{ $t('Calling {number}...', {number: callNumberFormatted || callNumberQuery }) }} + {{ $t('Calling {number}...', { number: callDisplayName}) }} - {{ $t('Ringing at {number}...', {number: callNumberFormatted || callNumberQuery }) }} + {{ $t('Ringing at {number}...', { number: callDisplayName}) }} - {{ $t('Incoming call from {number}...', {number: callNumberFormatted || callNumberQuery }) }} + {{ $t('Incoming call from {number}...', { number: callDisplayName}) }}
- {{ $filters.startCase(endedReason) }} ({{ callNumberFormatted || callNumberQuery }}) + {{ $filters.startCase(endedReason) }} ({{ callDisplayName }})
@@ -86,7 +86,7 @@ size="24px" />
- {{ $t('In call with {number}', {number: callNumberFormatted || callNumberQuery }) }} + {{ $t('In call with {number}', { number: callDisplayName}) }}
@@ -193,7 +193,7 @@ text-color="dark" round size="large" - :disable="islocalOnHold || isremoteOnHold" + :disable="isLocalOnHold || isRemoteOnHold" @click="initiateTransfer()" /> @@ -323,7 +323,7 @@
- {{ callNumberFormatted || callNumberQuery }} + {{ callDisplayName }}
@@ -339,7 +339,7 @@
- {{ callNumberFormatted || callNumberQuery }} + {{ callDisplayName }}
@@ -367,7 +367,7 @@