diff --git a/src/api/ngcp-call.js b/src/api/ngcp-call.js
index 6cb108ff..0b1a876d 100644
--- a/src/api/ngcp-call.js
+++ b/src/api/ngcp-call.js
@@ -168,31 +168,36 @@ export function callUnregister () {
}
export async function callStart ({ number }) {
- $localMediaStream = await callCreateLocalAudioStream()
- callEvent.emit('localStream', $localMediaStream)
- $outgoingRtcSession = $userAgent.call(number, {
- eventHandlers: {
- progress (event) {
- if (event.response.status_code === 183) {
- callEvent.emit('outgoingProgress', event)
- } else {
- callEvent.emit('outgoingRinging', event)
+ try {
+ $localMediaStream = await callCreateLocalAudioStream()
+ callEvent.emit('localStream', $localMediaStream)
+ $outgoingRtcSession = $userAgent.call(number, {
+ eventHandlers: {
+ progress (event) {
+ if (event.response.status_code === 183) {
+ callEvent.emit('outgoingProgress', event)
+ } else {
+ callEvent.emit('outgoingRinging', event)
+ }
+ },
+ failed (event) {
+ callEvent.emit('outgoingFailed', event)
+ },
+ confirmed (event) {
+ callEvent.emit('outgoingConfirmed', event)
+ },
+ ended (event) {
+ callEvent.emit('outgoingEnded', event)
+ $outgoingRtcSession = null
}
},
- failed (event) {
- callEvent.emit('outgoingFailed', event)
- },
- confirmed (event) {
- callEvent.emit('outgoingConfirmed', event)
- },
- ended (event) {
- callEvent.emit('outgoingEnded', event)
- $outgoingRtcSession = null
- }
- },
- mediaStream: $localMediaStream
- })
- $outgoingRtcSession.connection.ontrack = handleRemoteMediaStream
+ mediaStream: $localMediaStream
+ })
+ $outgoingRtcSession.connection.ontrack = handleRemoteMediaStream
+ return true
+ } catch (e) {
+ return false
+ }
}
export async function callAccept () {
diff --git a/src/components/call/CscCall.vue b/src/components/call/CscCall.vue
index d9e9774e..c21cf512 100644
--- a/src/components/call/CscCall.vue
+++ b/src/components/call/CscCall.vue
@@ -222,7 +222,7 @@
/>