fix: not able to accept and reject incoming call

This commit is contained in:
Shariq Ansari 2024-03-28 17:33:42 +05:30
parent 9ad1678fe1
commit 2f0cdf2c42

View File

@ -2,7 +2,7 @@
<div v-show="showCallPopup"> <div v-show="showCallPopup">
<div <div
ref="callPopup" ref="callPopup"
class="fixed z-12 flex w-60 cursor-move select-none flex-col rounded-lg bg-gray-900 p-4 text-gray-300 shadow-2xl" class="fixed z-20 flex w-60 cursor-move select-none flex-col rounded-lg bg-gray-900 p-4 text-gray-300 shadow-2xl"
:style="style" :style="style"
> >
<div class="flex flex-row-reverse items-center gap-1"> <div class="flex flex-row-reverse items-center gap-1">
@ -205,7 +205,7 @@ const { setMakeCall, setTwilioEnabled, $dialog } = globalStore()
let device = '' let device = ''
let log = ref('Connecting...') let log = ref('Connecting...')
let _call = ref(null) let _call = null
const contact = ref({ const contact = ref({
full_name: '', full_name: '',
mobile_no: '', mobile_no: '',
@ -229,7 +229,7 @@ async function updateNote(_note, insert_mode = false) {
note.value = _note note.value = _note
if (insert_mode && _note.name) { if (insert_mode && _note.name) {
await call('crm.integrations.twilio.api.add_note_to_call_log', { await call('crm.integrations.twilio.api.add_note_to_call_log', {
call_sid: _call.value.parameters.CallSid, call_sid: _call.parameters.CallSid,
note: _note.name, note: _note.name,
}) })
} }
@ -292,11 +292,11 @@ function addDeviceListeners() {
} }
function toggleMute() { function toggleMute() {
if (_call.value.isMuted()) { if (_call.isMuted()) {
_call.value.mute(false) _call.mute(false)
muted.value = false muted.value = false
} else { } else {
_call.value.mute() _call.mute()
muted.value = true muted.value = true
} }
} }
@ -318,9 +318,9 @@ function handleIncomingCall(call) {
} }
showCallPopup.value = true showCallPopup.value = true
_call.value = call _call = call
_call.value.on('accept', (conn) => { _call.on('accept', (conn) => {
console.log('conn', conn) console.log('conn', conn)
}) })
@ -333,12 +333,12 @@ function handleIncomingCall(call) {
async function acceptIncomingCall() { async function acceptIncomingCall() {
log.value = 'Accepted incoming call.' log.value = 'Accepted incoming call.'
onCall.value = true onCall.value = true
await _call.value.accept() await _call.accept()
counterUp.value.start() counterUp.value.start()
} }
function rejectIncomingCall() { function rejectIncomingCall() {
_call.value.reject() _call.reject()
log.value = 'Rejected incoming call' log.value = 'Rejected incoming call'
showCallPopup.value = false showCallPopup.value = false
if (showSmallCallWindow.value == undefined) { if (showSmallCallWindow.value == undefined) {
@ -351,7 +351,7 @@ function rejectIncomingCall() {
} }
function hangUpCall() { function hangUpCall() {
_call.value.disconnect() _call.disconnect()
log.value = 'Hanging up incoming call' log.value = 'Hanging up incoming call'
onCall.value = false onCall.value = false
callStatus.value = '' callStatus.value = ''
@ -371,7 +371,7 @@ function handleDisconnectedIncomingCall() {
} else { } else {
showSmallCallWindow.value = false showSmallCallWindow.value = false
} }
_call.value = null _call = null
muted.value = false muted.value = false
onCall.value = false onCall.value = false
counterUp.value.stop() counterUp.value.stop()
@ -396,14 +396,14 @@ async function makeOutgoingCall(number) {
log.value = `Attempting to call ${number} ...` log.value = `Attempting to call ${number} ...`
try { try {
_call.value = await device.connect({ _call = await device.connect({
params: { To: number }, params: { To: number },
}) })
showCallPopup.value = true showCallPopup.value = true
callStatus.value = 'initiating' callStatus.value = 'initiating'
_call.value.on('messageReceived', (message) => { _call.on('messageReceived', (message) => {
let info = message.content let info = message.content
callStatus.value = info.CallStatus callStatus.value = info.CallStatus
@ -417,19 +417,19 @@ async function makeOutgoingCall(number) {
} }
}) })
_call.value.on('accept', () => { _call.on('accept', () => {
log.value = `Initiated call!` log.value = `Initiated call!`
showCallPopup.value = true showCallPopup.value = true
calling.value = true calling.value = true
onCall.value = false onCall.value = false
}) })
_call.value.on('disconnect', (conn) => { _call.on('disconnect', (conn) => {
log.value = `Call ended from makeOutgoing call disconnect.` log.value = `Call ended from makeOutgoing call disconnect.`
calling.value = false calling.value = false
onCall.value = false onCall.value = false
showCallPopup.value = false showCallPopup.value = false
showSmallCallWindow = false showSmallCallWindow = false
_call.value = null _call = null
callStatus.value = '' callStatus.value = ''
muted.value = false muted.value = false
counterUp.value.stop() counterUp.value.stop()
@ -438,13 +438,13 @@ async function makeOutgoingCall(number) {
content: '', content: '',
} }
}) })
_call.value.on('cancel', () => { _call.on('cancel', () => {
log.value = `Call ended from makeOutgoing call cancel.` log.value = `Call ended from makeOutgoing call cancel.`
calling.value = false calling.value = false
onCall.value = false onCall.value = false
showCallPopup.value = false showCallPopup.value = false
showSmallCallWindow = false showSmallCallWindow = false
_call.value = null _call = null
callStatus.value = '' callStatus.value = ''
muted.value = false muted.value = false
note.value = { note.value = {
@ -462,7 +462,7 @@ async function makeOutgoingCall(number) {
} }
function cancelCall() { function cancelCall() {
_call.value.disconnect() _call.disconnect()
showCallPopup.value = false showCallPopup.value = false
if (showSmallCallWindow.value == undefined) { if (showSmallCallWindow.value == undefined) {
showSmallCallWindow = false showSmallCallWindow = false