@vonage/client-sdk 2.4.0-alpha.3 → 2.4.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@
15
15
  <a id="md:example-usage" class="tsd-anchor"></a><h2><a href="#md:example-usage">Example Usage</a></h2><p>Below are several typical scenarios where the SDK is commonly utilized.</p>
16
16
  <a id="md:make-an-outbound-call" class="tsd-anchor"></a><h3><a href="#md:make-an-outbound-call">Make an Outbound Call</a></h3><pre><code class="language-ts"><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">context</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-4">callee:</span><span class="hl-1"> </span><span class="hl-2">&#39;user1&#39;</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">callId</span><span class="hl-1"> = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">serverCall</span><span class="hl-1">(</span><span class="hl-4">context</span><span class="hl-1">);</span>
17
17
  </code><button>Copy</button></pre>
18
- <a id="md:answerreject-an-inbound-call" class="tsd-anchor"></a><h3><a href="#md:answerreject-an-inbound-call">Answer/Reject an Inbound Call</a></h3><pre><code class="language-ts"><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">&#39;callInvite&#39;</span><span class="hl-1">, </span><span class="hl-5">async</span><span class="hl-1"> (</span><span class="hl-4">callId</span><span class="hl-1">, </span><span class="hl-4">from</span><span class="hl-1">, </span><span class="hl-4">channelType</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Received call invite from </span><span class="hl-5">${</span><span class="hl-4">from</span><span class="hl-5">}</span><span class="hl-2"> on </span><span class="hl-5">${</span><span class="hl-4">channelType</span><span class="hl-5">}</span><span class="hl-2">`</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// Accept the call</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">answer</span><span class="hl-1">(</span><span class="hl-4">callId</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// Reject the call</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">reject</span><span class="hl-1">(</span><span class="hl-4">callId</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">&#39;callInviteCancel&#39;</span><span class="hl-1">, (</span><span class="hl-4">callId</span><span class="hl-1">, </span><span class="hl-4">reason</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">AnsweredElsewhere</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was answered elsewhere`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">RejectedElsewhere</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was rejected elsewhere`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">RemoteCancel</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was cancelled by the caller`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">RemoteTimeout</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> timed out`</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
18
+ <a id="md:answerreject-an-inbound-call" class="tsd-anchor"></a><h3><a href="#md:answerreject-an-inbound-call">Answer/Reject an Inbound Call</a></h3><pre><code class="language-ts"><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">&#39;callInvite&#39;</span><span class="hl-1">, </span><span class="hl-5">async</span><span class="hl-1"> (</span><span class="hl-4">callId</span><span class="hl-1">, </span><span class="hl-4">from</span><span class="hl-1">, </span><span class="hl-4">channelType</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Received call invite from </span><span class="hl-5">${</span><span class="hl-4">from</span><span class="hl-5">}</span><span class="hl-2"> on </span><span class="hl-5">${</span><span class="hl-4">channelType</span><span class="hl-5">}</span><span class="hl-2">`</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// To accept the call:</span><br/><span class="hl-1"> </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">answer</span><span class="hl-1">(</span><span class="hl-4">callId</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// Or to reject the call:</span><br/><span class="hl-1"> </span><span class="hl-7">// await client.reject(callId);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">&#39;callInviteCancel&#39;</span><span class="hl-1">, (</span><span class="hl-4">callId</span><span class="hl-1">, </span><span class="hl-4">reason</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">AnsweredElsewhere</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was answered elsewhere`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">RejectedElsewhere</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was rejected elsewhere`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">RemoteCancel</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was cancelled by the caller`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> === </span><span class="hl-4">CancelReason</span><span class="hl-1">.</span><span class="hl-4">RemoteTimeout</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> timed out`</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
19
19
  </code><button>Copy</button></pre>
20
20
  <a id="md:hang-up-and-collect-stats" class="tsd-anchor"></a><h3><a href="#md:hang-up-and-collect-stats">Hang-up and Collect Stats</a></h3><pre><code class="language-ts"><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;callHangup&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> (</span><span class="hl-4">callId</span><span class="hl-1">: </span><span class="hl-13">string</span><span class="hl-1">, </span><span class="hl-4">callQuality</span><span class="hl-1">: </span><span class="hl-13">RTCQuality</span><span class="hl-1">, </span><span class="hl-4">reason</span><span class="hl-1">: </span><span class="hl-13">HangupReason</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> == </span><span class="hl-2">&#39;LOCAL_HANGUP&#39;</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was hung up locally`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> == </span><span class="hl-2">&#39;REMOTE_HANGUP&#39;</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was hung up remotely`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> == </span><span class="hl-2">&#39;REMOTE_REJECT&#39;</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> was rejected remotely`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> == </span><span class="hl-2">&#39;REMOTE_NO_ANSWER_TIMEOUT&#39;</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> timed out`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> </span><span class="hl-3">if</span><span class="hl-1"> (</span><span class="hl-4">reason</span><span class="hl-1"> == </span><span class="hl-2">&#39;MEDIA_TIMEOUT&#39;</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">`Call </span><span class="hl-5">${</span><span class="hl-4">callId</span><span class="hl-5">}</span><span class="hl-2"> timed out`</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-3">else</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">exhaustiveCheck</span><span class="hl-1">(</span><span class="hl-4">reason</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">);</span>
21
21
  </code><button>Copy</button></pre>