From 0c394bec97d540ec7a0a695e3f9582b5855a7884 Mon Sep 17 00:00:00 2001 From: Hans-Peter Herzog Date: Fri, 29 Apr 2022 12:08:39 +0200 Subject: [PATCH] TT#173850 Add permanent instance_id to SIP UA config Change-Id: I95209c7df95dfd0f126bd56267a60728a46fa185 --- src/api/ngcp-call.js | 9 +++++---- src/helpers/call-utils.js | 17 +++++++++++++++++ src/store/user.js | 4 +++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/api/ngcp-call.js b/src/api/ngcp-call.js index e828318d..294da75e 100644 --- a/src/api/ngcp-call.js +++ b/src/api/ngcp-call.js @@ -107,18 +107,19 @@ export function callConfigure ({ baseWebSocketUrl }) { $baseWebSocketUrl = baseWebSocketUrl } -export async function callInitialize ({ subscriber }) { +export async function callInitialize ({ subscriber, instanceId }) { $subscriber = subscriber - callRegister() + callRegister({ instanceId }) } -export function callRegister () { +export function callRegister ({ instanceId }) { if (!$socket) { $socket = callCreateSocket() const config = { sockets: [$socket], uri: getSubscriberUri(), - password: $subscriber.password + password: $subscriber.password, + instance_id: instanceId } $userAgent = new jssip.UA(config) const delegateEvent = (eventName) => { diff --git a/src/helpers/call-utils.js b/src/helpers/call-utils.js index f2685004..cafdcdf0 100644 --- a/src/helpers/call-utils.js +++ b/src/helpers/call-utils.js @@ -1,3 +1,20 @@ +import { getLocal, setLocal } from 'src/storage' +import { v4 } from 'uuid' + +const SIP_INSTANCE_ID_NAME = 'sip_instance_id' + +export function setSipInstanceId (instanceId) { + setLocal(SIP_INSTANCE_ID_NAME, instanceId) +} + +export function getSipInstanceId () { + let instanceId = getLocal(SIP_INSTANCE_ID_NAME) + if (!instanceId) { + instanceId = v4() + setSipInstanceId(instanceId) + } + return instanceId +} export function callIcon (call) { if (call.call_type === 'cfu' || call.call_type === 'cfna' || diff --git a/src/store/user.js b/src/store/user.js index 930c27a0..c7a745ad 100644 --- a/src/store/user.js +++ b/src/store/user.js @@ -26,6 +26,7 @@ import { import { date } from 'quasar' import { callInitialize } from 'src/api/ngcp-call' import { setLocal } from 'src/storage' +import { getSipInstanceId } from 'src/helpers/call-utils' export default { namespaced: true, @@ -340,7 +341,8 @@ export default { } try { await callInitialize({ - subscriber: userData.subscriber + subscriber: userData.subscriber, + instanceId: getSipInstanceId() }) } catch (err) { console.log(err)