From 90d6a7f65b23b8089c56e6621d6a284b4cf8041d Mon Sep 17 00:00:00 2001 From: Phillip Schichtel Date: Fri, 21 Jun 2024 17:08:19 +0200 Subject: [PATCH] properly expose the header to the web component this way the logging stuff can happen in the example only as it should be. --- src/controls.ts | 8 -------- src/custom-element.ts | 11 +++++++++++ src/web-call-example.ts | 11 +++++++++++ 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/controls.ts b/src/controls.ts index cc9a558..cbcf6e5 100644 --- a/src/controls.ts +++ b/src/controls.ts @@ -440,14 +440,6 @@ export function triggerControls(environment: string, resellerToken: string, dest } return telephony.createCall(destination, createCallOptions) .then(call => { - console.log("Headers received from accept:", call.acceptHeaders) - const dialogIds = call.acceptHeaders - .filter(([name,]) => name.toLowerCase() == "x-cvg-dialogid") - .map(([, value]) => value) - if (dialogIds.length > 0) { - console.log(`DialogId: ${dialogIds[0]}`) - } - const [, controlsCleanup] = generateCallControls(call, options) call.callCompletion.then(() => { controlsCleanup() diff --git a/src/custom-element.ts b/src/custom-element.ts index cf69f2c..cb81626 100644 --- a/src/custom-element.ts +++ b/src/custom-element.ts @@ -19,6 +19,7 @@ const TRIGGER_BUTTON_DISABLED_PART = `${TRIGGER_BUTTON_PART}-disabled` export interface CvgWebRtcButtonEventMap extends HTMLElementEventMap { new_call: NewCallEvent + call_accepted: CallAcceptedEvent call_ended: CallEndedEvent attribute_validation_failed: AttributeValidationFailedEvent } @@ -245,6 +246,16 @@ export class NewCallEvent extends CallEvent { } } +export interface CallAcceptedDetails { + headers: HeaderList, +} + +export class CallAcceptedEvent extends CallEvent { + constructor(headers: HeaderList) { + super('call_accepted', { headers }) + } +} + export class CallEndedEvent extends CallEvent { constructor(error: any | null) { if (error === undefined) { diff --git a/src/web-call-example.ts b/src/web-call-example.ts index bdde938..77e2cd5 100644 --- a/src/web-call-example.ts +++ b/src/web-call-example.ts @@ -35,6 +35,17 @@ window.addEventListener('DOMContentLoaded', () => { connectButton.innerHTML = images.endCall }) + connectButton.addEventListener('call_accepted', (e) => { + const headers = e.detail.headers + console.log("Headers received from accept:", headers) + const dialogIds = headers + .filter(([name,]) => name.toLowerCase() == "x-cvg-dialogid") + .map(([, value]) => value) + if (dialogIds.length > 0) { + console.log(`DialogId: ${dialogIds[0]}`) + } + }) + connectButton.addEventListener('call_ended', (e: CallEndedEvent) => { connectButton.innerHTML = images.newCall if (e.detail !== null) {