From 46149878a529b8afb5842979d06d8cc8562350f8 Mon Sep 17 00:00:00 2001 From: Quan HL Date: Mon, 23 Oct 2023 10:55:38 +0700 Subject: [PATCH] wip --- src/lib/sip-utils.ts | 35 ++++++++++++++++++----------------- src/window/phone/index.tsx | 29 +++++++++++++++++------------ 2 files changed, 35 insertions(+), 29 deletions(-) diff --git a/src/lib/sip-utils.ts b/src/lib/sip-utils.ts index 6b5492c..f7adddf 100644 --- a/src/lib/sip-utils.ts +++ b/src/lib/sip-utils.ts @@ -1,23 +1,24 @@ function normalizeNumber(number: string): string { - if (/^(sips?|tel):/i.test(number)) { - return number; - } else if (/@/i.test(number)) { - return number; - } else { - return number.replace(/[()\-. ]*/g, ''); - } + if (/^(sips?|tel):/i.test(number)) { + return number; + } else if (/@/i.test(number)) { + return number; + } else if (number.startsWith("app-") || number.startsWith("queue-")) { + return number; + } else { + return number.replace(/[()\-. ]*/g, ""); + } } function randomId(prefix: string): string { - const id: string = [...Array(16)].map(() => Math.floor(Math.random() * 16).toString(16)).join(''); - if (prefix) { - return `${prefix}-${id}`; - } else { - return id; - } + const id: string = [...Array(16)] + .map(() => Math.floor(Math.random() * 16).toString(16)) + .join(""); + if (prefix) { + return `${prefix}-${id}`; + } else { + return id; + } } -export { - normalizeNumber, - randomId -} \ No newline at end of file +export { normalizeNumber, randomId }; diff --git a/src/window/phone/index.tsx b/src/window/phone/index.tsx index d664ad5..ba474dc 100644 --- a/src/window/phone/index.tsx +++ b/src/window/phone/index.tsx @@ -408,7 +408,8 @@ export const Phone = ({ } onClick={(value) => { - console.log(value); + setInputNumber(value); + makeOutboundCall(value); }} onOpen={() => { return new Promise( @@ -416,13 +417,15 @@ export const Phone = ({ getRegisteredUser() .then(({ json }) => { resolve( - json.map((u) => { - const uName = u.match(/(^.*)@.*/); - return { - name: uName ? uName[1] : u, - value: uName ? uName[1] : u, - }; - }) + json + .filter((u) => !u.includes(sipUsername)) + .map((u) => { + const uName = u.match(/(^.*)@.*/); + return { + name: uName ? uName[1] : u, + value: uName ? uName[1] : u, + }; + }) ); }) .catch((err) => reject(err)); @@ -435,7 +438,8 @@ export const Phone = ({ } onClick={(value) => { - console.log(value); + setInputNumber(value); + makeOutboundCall(value); }} onOpen={() => { return new Promise( @@ -445,7 +449,7 @@ export const Phone = ({ resolve( json.map((q) => ({ name: q, - value: q, + value: `queue-${q}`, })) ); }) @@ -460,7 +464,8 @@ export const Phone = ({ } onClick={(value) => { - console.log(value); + setInputNumber(value); + makeOutboundCall(value); }} onOpen={() => { return new Promise( @@ -470,7 +475,7 @@ export const Phone = ({ resolve( json.map((a) => ({ name: a.name, - value: a.application_sid, + value: `app-${a.application_sid}`, })) ); })