@telegenta/webclient 3.1.2 → 3.2.0
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.
- package/README.md +27 -0
- package/dist/telegenta.js +178 -39
- package/dist/telegenta.min.js +1 -1
- package/docs/Phone.html +1 -1
- package/docs/Session.html +2 -2
- package/docs/data/search.json +1 -1
- package/docs/event-client.js.html +4 -4
- package/docs/global.html +3 -3
- package/docs/phone-client.js.html +190 -51
- package/docs/requestor.js.html +6 -6
- package/package.json +7 -2
package/docs/Phone.html
CHANGED
|
@@ -10,4 +10,4 @@ phone.prepareMedia().then(() => {
|
|
|
10
10
|
|
|
11
11
|
// Dial 12345678
|
|
12
12
|
session = phone.call('12345678');
|
|
13
|
-
}</code></pre></div></div></div><h2 id="classes" class="subsection-title has-anchor">Classes</h2><dl><dt><a href="Phone.html">Phone</a></dt><dd></dd></dl><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="browserSupported"><span class="type-signature"></span>browserSupported<span class="type-signature"></span></h3><div class="description">Verify browser is supported</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line554">line 554</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="hasMediaPermission"><span class="type-signature"></span>hasMediaPermission<span class="type-signature"></span></h3><div class="description">Return media permission state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line530">line 530</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="hasMediaPermissionError"><span class="type-signature"></span>hasMediaPermissionError<span class="type-signature"></span></h3><div class="description">Media permission denied</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line538">line 538</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isStarted"><span class="type-signature"></span>isStarted<span class="type-signature"></span></h3><div class="description">Phone client started</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line546">line 546</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="options"><span class="type-signature"></span>options<span class="type-signature"></span></h3><div class="description">Return phone options</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line507">line 507</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="remoteAudioElement"><span class="type-signature"></span>remoteAudioElement<span class="type-signature"></span></h3><div class="description">Remote audio HTML element</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line561">line 561</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="sessions"><span class="type-signature"></span>sessions<span class="type-signature"></span></h3><div class="description">Return list of current sessions</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line515">line 515</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="call"><span class="type-signature"></span>call<span class="signature">(number, params)</span><span class="type-signature"> → {<a href="Session.html">Session</a>}</span></h3><div class="description">Start a new call If you have other active calls they will be set on hold</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>number</code></td><td class="type"></td><td class="description last">Number to call</td></tr><tr><td class="name"><code>params</code></td><td class="type"><span class="param-type">object</span></td><td class="description last">call options<h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>record</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Recording retention days. The number of days recording will be kept. Setting this to 0 disables recording.</td></tr><tr><td class="name"><code>explicitCallerId</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Force a specific caller id, by providing explicit phone number id</td></tr><tr><td class="name"><code>explicitShortCallerId</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Force a specific caller id, by providing explicit short caller id</td></tr><tr><td class="name"><code>answerCallTimeout</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">0</td><td class="description last">Hangup call with NO ANSWER if call is not picked up before specified interval (seconds). If 0, timeout is disabled.</td></tr><tr><td class="name"><code>maximumCallCost</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Maximum call cost (in customer currency) allowed for call. The call will automatically be stopped when the specified cost has been reached. Setting this to 0 disables checking for maximum cost.</td></tr><tr><td class="name"><code>metaInfo</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Add meta info to call, which will be available in server events and inside call complete webhook (max 256 chars)</td></tr><tr><td class="name"><code>setHeader</code></td><td class="type"><span class="param-type">object</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Custom SIP headers to add to the INVITE, as {name: value}.</td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line428">line 428</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotReady - If phone is not ready to call</div></li><li><div class="param-desc">NotAllowed - If there are calls currently connecting</div></li><li><div class="param-desc">InvalidParameter - If setHeader contains an invalid header name or container</div></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">object for call</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type"><a href="Session.html">Session</a></span></dd></dl></div><h3 class="name has-anchor" id="getSessionByUUID"><span class="type-signature"></span>getSessionByUUID<span class="signature">(uuid)</span><span class="type-signature"> → {<a href="Session.html">Session</a>|null}</span></h3><div class="description">Get session by UUID, if none are found null is returned</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>uuid</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line491">line 491</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type: </dt><dd><span class="param-type"><a href="Session.html">Session</a></span> |<wbr> <span class="param-type">null</span></dd></dl></div><h3 class="name has-anchor" id="holdAllCalls"><span class="type-signature"></span>holdAllCalls<span class="signature">()</span></h3><div class="description">Hold all active calls</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line674">line 674</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotAllowed If there are connection calls</div></div><h3 class="name has-anchor" id="listen"><span class="type-signature"></span>listen<span class="signature">(listenKey)</span><span class="type-signature"> → {<a href="Session.html">Session</a>}</span></h3><div class="description">Start a new session and listen to another call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>listenKey</code></td><td class="type"></td><td class="description last">provided by API endpoint "active-calls" and the event library subscription for resource name "activecall"</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line474">line 474</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotReady - If phone is not ready to call</div></li><li><div class="param-desc">NotAllowed - If there are calls currently connecting</div></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">object for listen</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type"><a href="Session.html">Session</a></span></dd></dl></div><h3 class="name has-anchor" id="playTone"><span class="type-signature"></span>playTone<span class="signature">(duration, freq1, freq2, callback)</span></h3><div class="description">Play tone locally (on incoming remote audio)</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>duration</code></td><td class="type"></td><td class="default"></td><td class="description last">Duration of tone in ms</td></tr><tr><td class="name"><code>freq1</code></td><td class="type"></td><td class="default"></td><td class="description last">Frequency in Hz of tone 1</td></tr><tr><td class="name"><code>freq2</code></td><td class="type"></td><td class="default">0</td><td class="description last">Frequency in Hz of tone 2</td></tr><tr><td class="name"><code>callback</code></td><td class="type"></td><td class="default">null</td><td class="description last">Function to be called after tone has ended</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line574">line 574</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotAllowed - If audio api is not supported by browser</div></div><h3 class="name has-anchor" id="prepareMedia"><span class="type-signature"></span>prepareMedia<span class="signature">()</span></h3><div class="description">Prepare media and get media permission from browser This must be done prior to using the phone or getting device lists.</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line150">line 150</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">A promise which will be resolved when user accepts access to media devices</div></div><h3 class="name has-anchor" id="start"><span class="type-signature"></span>start<span class="signature">(phoneOptions)</span></h3><div class="description">Start phone and connect to server if needed</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>phoneOptions</code></td><td class="type"><span class="param-type">object</span></td><td class="description last">configuration options<h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>provisionToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Provisioning token from API service</td></tr><tr><td class="name"><code>authorizationUsername</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Authorizing username</td></tr><tr><td class="name"><code>password</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">WSS Password</td></tr><tr><td class="name"><code>callToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Call token</td></tr><tr><td class="name"><code>connectEventService</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Connect to event service (required to send call commands and receive callDataInfo event)</td></tr><tr><td class="name"><code>useCallDataInfoEvent</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Subscribe to callDataInfo remote event</td></tr><tr><td class="name"><code>register</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">true</td><td class="description last">Register on server to receive enable incoming calls</td></tr><tr><td class="name"><code>playSignalTones</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Play signal tones (busy, invalid number, etc) remotely</td></tr><tr><td class="name"><code>iceGatherTimeout</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">3000</td><td class="description last">Number of millisecs before ICE gather will be forced stopped and candidate selection will take place</td></tr><tr><td class="name"><code>toneVolume</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">0.3</td><td class="description last">Signal- and DTMF tone volume (0-1)</td></tr><tr><td class="name"><code>autoBusyIncoming</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">true</td><td class="description last">Automatically reject calls with busy if active session exists</td></tr><tr><td class="name"><code>autoRemoveSessionTime</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">3000</td><td class="description last">Automatically remove session after interval specified</td></tr><tr><td class="name"><code>playRingOnIncoming</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">true</td><td class="description last">Play ringing tones on incoming calls</td></tr><tr><td class="name"><code>playCallInitializedTone</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Play tone when call has been initiated (before progress/ringback tones)</td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line196">line 196</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">MediaNotPrepared - If <code>prepareMedia</code> was not called and resolved prior to calling this method</div></li><li><div class="param-desc">InvalidOptions - If one or more options are invalid</div></li><li><div class="param-desc">UnableToConnect - If unable to connect phone to server</div></li></ul></div><h3 class="name has-anchor" id="stop"><span class="type-signature"></span>stop<span class="signature">()</span></h3><div class="description">Stops the phone client, gracefully disconnects from the server and terminates any active calls</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line381">line 381</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotReady - If phone is not started</div></div><h3 class="name has-anchor" id="stopTone"><span class="type-signature"></span>stopTone<span class="signature">()</span></h3><div class="description">Immediately stop playing tones (Tone callbacks will be cancelled)</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line597">line 597</a></li></ul></dd></div></dl></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><div class="mobile-nav-links"></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="EventClient.html">EventClient</a></div><div class="sidebar-section-children"><a href="EventServiceNotConnected.html">EventServiceNotConnected</a></div><div class="sidebar-section-children"><a href="InvalidMediaDevice.html">InvalidMediaDevice</a></div><div class="sidebar-section-children"><a href="InvalidOptions.html">InvalidOptions</a></div><div class="sidebar-section-children"><a href="InvalidParameter.html">InvalidParameter</a></div><div class="sidebar-section-children"><a href="LogHandler.html">LogHandler</a></div><div class="sidebar-section-children"><a href="MediaNotPrepared.html">MediaNotPrepared</a></div><div class="sidebar-section-children"><a href="NoActiveSession.html">NoActiveSession</a></div><div class="sidebar-section-children"><a href="NotAllowed.html">NotAllowed</a></div><div class="sidebar-section-children"><a href="NotReady.html">NotReady</a></div><div class="sidebar-section-children"><a href="Phone.html">Phone</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="Requestor.html">Requestor</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="UnableToConnect.html">UnableToConnect</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-events"><div>Events</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#event:callDataInfo">callDataInfo</a></div><div class="sidebar-section-children"><a href="global.html#event:callDurationUpdate">callDurationUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:callEnded">callEnded</a></div><div class="sidebar-section-children"><a href="global.html#event:callQualityReportUpdate">callQualityReportUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:connectionStateChange">connectionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:holdStateChange">holdStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:incomingCall">incomingCall</a></div><div class="sidebar-section-children"><a href="global.html#event:muteStateChange">muteStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:recordingStateChange">recordingStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionCreated">sessionCreated</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionRemoved">sessionRemoved</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionStateChange">sessionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:whisperModeChange">whisperModeChange</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></div><div class="sidebar-section-children"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></div><div class="sidebar-section-children"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></div><div class="sidebar-section-children"><a href="global.html#LOGLVL">LOGLVL</a></div><div class="sidebar-section-children"><a href="global.html#SESSION_STATE">SESSION_STATE</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
|
|
13
|
+
}</code></pre></div></div></div><h2 id="classes" class="subsection-title has-anchor">Classes</h2><dl><dt><a href="Phone.html">Phone</a></dt><dd></dd></dl><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="audioConstraints"><span class="type-signature"></span>audioConstraints<span class="type-signature"></span></h3><div class="description">Current getUserMedia audio constraint (true = default device)</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line200">line 200</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="browserSupported"><span class="type-signature"></span>browserSupported<span class="type-signature"></span></h3><div class="description">Verify browser is supported</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line653">line 653</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="hasMediaPermission"><span class="type-signature"></span>hasMediaPermission<span class="type-signature"></span></h3><div class="description">Return media permission state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line629">line 629</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="hasMediaPermissionError"><span class="type-signature"></span>hasMediaPermissionError<span class="type-signature"></span></h3><div class="description">Media permission denied</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line637">line 637</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isStarted"><span class="type-signature"></span>isStarted<span class="type-signature"></span></h3><div class="description">Phone client started</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line645">line 645</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="options"><span class="type-signature"></span>options<span class="type-signature"></span></h3><div class="description">Return phone options</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line585">line 585</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="outputDeviceSelectionSupported"><span class="type-signature"></span>outputDeviceSelectionSupported<span class="type-signature"></span></h3><div class="description">True when the browser can route audio to a chosen output device (HTMLMediaElement.setSinkId)</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line207">line 207</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="remoteAudioElement"><span class="type-signature"></span>remoteAudioElement<span class="type-signature"></span></h3><div class="description">Remote audio HTML element</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line660">line 660</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="sessions"><span class="type-signature"></span>sessions<span class="type-signature"></span></h3><div class="description">Return list of current sessions</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line614">line 614</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="call"><span class="type-signature"></span>call<span class="signature">(number, params)</span><span class="type-signature"> → {<a href="Session.html">Session</a>}</span></h3><div class="description">Start a new call If you have other active calls they will be set on hold</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>number</code></td><td class="type"></td><td class="description last">Number to call</td></tr><tr><td class="name"><code>params</code></td><td class="type"><span class="param-type">object</span></td><td class="description last">call options<h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>record</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Recording retention days. The number of days recording will be kept. Setting this to 0 disables recording.</td></tr><tr><td class="name"><code>explicitCallerId</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Force a specific caller id, by providing explicit phone number id</td></tr><tr><td class="name"><code>explicitShortCallerId</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Force a specific caller id, by providing explicit short caller id</td></tr><tr><td class="name"><code>answerCallTimeout</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">0</td><td class="description last">Hangup call with NO ANSWER if call is not picked up before specified interval (seconds). If 0, timeout is disabled.</td></tr><tr><td class="name"><code>maximumCallCost</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Maximum call cost (in customer currency) allowed for call. The call will automatically be stopped when the specified cost has been reached. Setting this to 0 disables checking for maximum cost.</td></tr><tr><td class="name"><code>metaInfo</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Add meta info to call, which will be available in server events and inside call complete webhook (max 256 chars)</td></tr><tr><td class="name"><code>setHeader</code></td><td class="type"><span class="param-type">object</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Custom SIP headers to add to the INVITE, as {name: value}.</td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line506">line 506</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotReady - If phone is not ready to call</div></li><li><div class="param-desc">NotAllowed - If there are calls currently connecting</div></li><li><div class="param-desc">InvalidParameter - If setHeader contains an invalid header name or container</div></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">object for call</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type"><a href="Session.html">Session</a></span></dd></dl></div><h3 class="name has-anchor" id="getSessionByUUID"><span class="type-signature"></span>getSessionByUUID<span class="signature">(uuid)</span><span class="type-signature"> → {<a href="Session.html">Session</a>|null}</span></h3><div class="description">Get session by UUID, if none are found null is returned</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>uuid</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line569">line 569</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type: </dt><dd><span class="param-type"><a href="Session.html">Session</a></span> |<wbr> <span class="param-type">null</span></dd></dl></div><h3 class="name has-anchor" id="holdAllCalls"><span class="type-signature"></span>holdAllCalls<span class="signature">()</span></h3><div class="description">Hold all active calls</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line810">line 810</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotAllowed If there are connection calls</div></div><h3 class="name has-anchor" id="listen"><span class="type-signature"></span>listen<span class="signature">(listenKey)</span><span class="type-signature"> → {<a href="Session.html">Session</a>}</span></h3><div class="description">Start a new session and listen to another call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>listenKey</code></td><td class="type"></td><td class="description last">provided by API endpoint "active-calls" and the event library subscription for resource name "activecall"</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line552">line 552</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotReady - If phone is not ready to call</div></li><li><div class="param-desc">NotAllowed - If there are calls currently connecting</div></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">object for listen</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type"><a href="Session.html">Session</a></span></dd></dl></div><h3 class="name has-anchor" id="playTone"><span class="type-signature"></span>playTone<span class="signature">(duration, freq1, freq2, callback)</span></h3><div class="description">Play tone locally (on incoming remote audio)</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>duration</code></td><td class="type"></td><td class="default"></td><td class="description last">Duration of tone in ms</td></tr><tr><td class="name"><code>freq1</code></td><td class="type"></td><td class="default"></td><td class="description last">Frequency in Hz of tone 1</td></tr><tr><td class="name"><code>freq2</code></td><td class="type"></td><td class="default">0</td><td class="description last">Frequency in Hz of tone 2</td></tr><tr><td class="name"><code>callback</code></td><td class="type"></td><td class="default">null</td><td class="description last">Function to be called after tone has ended</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line673">line 673</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotAllowed - If audio api is not supported by browser</div></div><h3 class="name has-anchor" id="prepareMedia"><span class="type-signature">(async) </span>prepareMedia<span class="signature">(mediaOptions<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise}</span></h3><div class="description">Prepare media and get media permission from browser This must be done prior to using the phone or getting device lists. On failure the previously selected input device (see <code>setInputDevice</code>) and the current media-permission state are left untouched, unless the browser reports the request was actually denied (NotAllowedError / SecurityError), in which case hasMediaPermission/hasMediaPermissionError are updated to reflect that.</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mediaOptions</code></td><td class="type"><span class="param-type">object</span></td><td class="attributes"><optional><br></td><td class="description last"><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>deviceId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="description last">Microphone deviceId (from enumerateDevices); omit or leave out to select the browser default device, which also resets a device previously chosen with <code>setInputDevice</code></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line163">line 163</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">Resolved when user accepts access to media devices; rejected (never thrown synchronously) otherwise, e.g. when the browser denies permission or has no mediaDevices API</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Promise</span></dd></dl></div><h3 class="name has-anchor" id="register"><span class="type-signature"></span>register<span class="signature">()</span></h3><div class="description">Re-send REGISTER without tearing down the websocket connection or any active calls. Use this to recover from a REGISTER refresh that failed for a reason other than bad credentials (e.g. a timeout or a 5xx from the registrar) while the transport itself stayed up - JsSIP does not retry those on its own. Safe to call during an active call.</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line481">line 481</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotReady - If phone is not started</div></div><h3 class="name has-anchor" id="resumeAudio"><span class="type-signature">(async) </span>resumeAudio<span class="signature">()</span><span class="type-signature"> → {Promise.<boolean>}</span></h3><div class="description">Resume the Web Audio context behind signal tones (ringing, ringback, busy, DTMF feedback). Browsers create an AudioContext "suspended" when it is not created during a user gesture (e.g. a phone started on page load); call this from a user-gesture handler (click, keydown) so tones are audible. Safe to call before <code>start</code> and any number of times.</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line749">line 749</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">false when the browser has no Web Audio API or resuming failed</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Promise.<boolean></span></dd></dl></div><h3 class="name has-anchor" id="setCallToken"><span class="type-signature"></span>setCallToken<span class="signature">(token)</span></h3><div class="description">Replace the call token used by subsequent calls and answers. Call tokens expire (30 min); renew via the API and pass the new token here. With useCallDataInfoEvent, the callDataInfo subscription keeps the token from start(); call start() again to move it to the new token.</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>token</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">New call token</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line600">line 600</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotReady - If phone is not started</div></li><li><div class="param-desc">InvalidOptions - If token is empty</div></li></ul></div><h3 class="name has-anchor" id="setInputDevice"><span class="type-signature"></span>setInputDevice<span class="signature">(deviceId)</span></h3><div class="description">Select the microphone used for subsequent calls and answers.</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>deviceId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="description last">Microphone deviceId, or null for the browser default</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line193">line 193</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setOutputDevice"><span class="type-signature">(async) </span>setOutputDevice<span class="signature">(deviceId)</span><span class="type-signature"> → {Promise.<boolean>}</span></h3><div class="description">Route call audio and signal tones to an output device.</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>deviceId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="description last">Output deviceId (from enumerateDevices), or null for the default</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line218">line 218</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">Rejects if the browser's HTMLMediaElement.setSinkId() call rejects, e.g. for an unknown deviceId or one the browser is not allowed to use (NotAllowedError)</div></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">false when the browser does not support output selection</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Promise.<boolean></span></dd></dl></div><h3 class="name has-anchor" id="start"><span class="type-signature"></span>start<span class="signature">(phoneOptions)</span></h3><div class="description">Start phone and connect to server if needed</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>phoneOptions</code></td><td class="type"><span class="param-type">object</span></td><td class="description last">configuration options<h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>provisionToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Provisioning token from API service</td></tr><tr><td class="name"><code>authorizationUsername</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Authorizing username</td></tr><tr><td class="name"><code>password</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">WSS Password</td></tr><tr><td class="name"><code>callToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"><optional><br></td><td class="default"></td><td class="description last">Call token</td></tr><tr><td class="name"><code>connectEventService</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Connect to event service (required to send call commands and receive callDataInfo event)</td></tr><tr><td class="name"><code>useCallDataInfoEvent</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Subscribe to callDataInfo remote event</td></tr><tr><td class="name"><code>register</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">true</td><td class="description last">Register on server to receive enable incoming calls</td></tr><tr><td class="name"><code>playSignalTones</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Play signal tones (busy, invalid number, etc) remotely</td></tr><tr><td class="name"><code>iceGatherTimeout</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">3000</td><td class="description last">Number of millisecs before ICE gather will be forced stopped and candidate selection will take place</td></tr><tr><td class="name"><code>toneVolume</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">0.3</td><td class="description last">Signal- and DTMF tone volume (0-1)</td></tr><tr><td class="name"><code>autoBusyIncoming</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes"><optional><br></td><td class="default">true</td><td class="description last">Automatically reject calls with busy if active session exists</td></tr><tr><td class="name"><code>autoRemoveSessionTime</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">3000</td><td class="description last">Automatically remove session after interval specified</td></tr><tr><td class="name"><code>playRingOnIncoming</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">true</td><td class="description last">Play ringing tones on incoming calls</td></tr><tr><td class="name"><code>playCallInitializedTone</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"><optional><br></td><td class="default">false</td><td class="description last">Play tone when call has been initiated (before progress/ringback tones)</td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line254">line 254</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">MediaNotPrepared - If <code>prepareMedia</code> was not called and resolved prior to calling this method</div></li><li><div class="param-desc">InvalidOptions - If one or more options are invalid</div></li><li><div class="param-desc">UnableToConnect - If unable to connect phone to server</div></li></ul></div><h3 class="name has-anchor" id="stop"><span class="type-signature"></span>stop<span class="signature">()</span></h3><div class="description">Stops the phone client, gracefully disconnects from the server and terminates any active calls</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line442">line 442</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotReady - If phone is not started</div></div><h3 class="name has-anchor" id="stopTone"><span class="type-signature"></span>stopTone<span class="signature">()</span></h3><div class="description">Immediately stop playing tones (Tone callbacks will be cancelled)</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line697">line 697</a></li></ul></dd></div></dl></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><div class="mobile-nav-links"></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="EventClient.html">EventClient</a></div><div class="sidebar-section-children"><a href="EventServiceNotConnected.html">EventServiceNotConnected</a></div><div class="sidebar-section-children"><a href="InvalidMediaDevice.html">InvalidMediaDevice</a></div><div class="sidebar-section-children"><a href="InvalidOptions.html">InvalidOptions</a></div><div class="sidebar-section-children"><a href="InvalidParameter.html">InvalidParameter</a></div><div class="sidebar-section-children"><a href="LogHandler.html">LogHandler</a></div><div class="sidebar-section-children"><a href="MediaNotPrepared.html">MediaNotPrepared</a></div><div class="sidebar-section-children"><a href="NoActiveSession.html">NoActiveSession</a></div><div class="sidebar-section-children"><a href="NotAllowed.html">NotAllowed</a></div><div class="sidebar-section-children"><a href="NotReady.html">NotReady</a></div><div class="sidebar-section-children"><a href="Phone.html">Phone</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="Requestor.html">Requestor</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="UnableToConnect.html">UnableToConnect</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-events"><div>Events</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#event:callDataInfo">callDataInfo</a></div><div class="sidebar-section-children"><a href="global.html#event:callDurationUpdate">callDurationUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:callEnded">callEnded</a></div><div class="sidebar-section-children"><a href="global.html#event:callQualityReportUpdate">callQualityReportUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:connectionStateChange">connectionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:holdStateChange">holdStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:incomingCall">incomingCall</a></div><div class="sidebar-section-children"><a href="global.html#event:muteStateChange">muteStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:recordingStateChange">recordingStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionCreated">sessionCreated</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionRemoved">sessionRemoved</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionStateChange">sessionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:whisperModeChange">whisperModeChange</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></div><div class="sidebar-section-children"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></div><div class="sidebar-section-children"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></div><div class="sidebar-section-children"><a href="global.html#LOGLVL">LOGLVL</a></div><div class="sidebar-section-children"><a href="global.html#SESSION_STATE">SESSION_STATE</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
|
package/docs/Session.html
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Class: Session</title><!--[if lt IE 9]>
|
|
2
2
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
3
|
-
<![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(locationPathname=document.location.pathname).substr(0,locationPathname.lastIndexOf("/")+1)</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="EventClient.html">EventClient</a></div><div class="sidebar-section-children"><a href="EventServiceNotConnected.html">EventServiceNotConnected</a></div><div class="sidebar-section-children"><a href="InvalidMediaDevice.html">InvalidMediaDevice</a></div><div class="sidebar-section-children"><a href="InvalidOptions.html">InvalidOptions</a></div><div class="sidebar-section-children"><a href="InvalidParameter.html">InvalidParameter</a></div><div class="sidebar-section-children"><a href="LogHandler.html">LogHandler</a></div><div class="sidebar-section-children"><a href="MediaNotPrepared.html">MediaNotPrepared</a></div><div class="sidebar-section-children"><a href="NoActiveSession.html">NoActiveSession</a></div><div class="sidebar-section-children"><a href="NotAllowed.html">NotAllowed</a></div><div class="sidebar-section-children"><a href="NotReady.html">NotReady</a></div><div class="sidebar-section-children"><a href="Phone.html">Phone</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="Requestor.html">Requestor</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="UnableToConnect.html">UnableToConnect</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-events"><div>Events</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#event:callDataInfo">callDataInfo</a></div><div class="sidebar-section-children"><a href="global.html#event:callDurationUpdate">callDurationUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:callEnded">callEnded</a></div><div class="sidebar-section-children"><a href="global.html#event:callQualityReportUpdate">callQualityReportUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:connectionStateChange">connectionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:holdStateChange">holdStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:incomingCall">incomingCall</a></div><div class="sidebar-section-children"><a href="global.html#event:muteStateChange">muteStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:recordingStateChange">recordingStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionCreated">sessionCreated</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionRemoved">sessionRemoved</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionStateChange">sessionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:whisperModeChange">whisperModeChange</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></div><div class="sidebar-section-children"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></div><div class="sidebar-section-children"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></div><div class="sidebar-section-children"><a href="global.html#LOGLVL">LOGLVL</a></div><div class="sidebar-section-children"><a href="global.html#SESSION_STATE">SESSION_STATE</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><header><h1 id="Session-title" class="has-anchor">Session</h1><div class="class-description">Session class created for every active call. You should use either call() or event incomingCall() to get new sessions</div></header><article><div class="container-overview"><h2 id="constructor" class="has-anchor">Constructor</h2><h3 class="name has-anchor" id="Session"><span class="type-signature"></span>new Session<span class="signature">()</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line888">line 888</a></li></ul></dd></div></dl><div class="method-member-container flex w-100 overflow-auto mt-20"><strong>Fires:</strong><ul><li>event:callEnded Receive basic information about call after call has been terminated</li><li>callDurationUpdate Regular updates on call duration (every second)</li><li>event:sessionStateChange Changes to session state</li><li>event:recordingStateChange When recording state changes</li><li>event:muteStateChange When mute state changes</li><li>event:holdStateChange When call is hold/unload</li></ul></div></div><h2 id="classes" class="subsection-title has-anchor">Classes</h2><dl><dt><a href="Session.html">Session</a></dt><dd></dd></dl><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="destinationNumber"><span class="type-signature"></span>destinationNumber<span class="type-signature"></span></h3><div class="description">Destination number called</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1341">line 1341</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="direction"><span class="type-signature"></span>direction<span class="type-signature"></span></h3><div class="description">Session call direction</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1379">line 1379</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isMuted"><span class="type-signature"></span>isMuted<span class="type-signature"></span></h3><div class="description">Return mute state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1543">line 1543</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isOnHold"><span class="type-signature"></span>isOnHold<span class="type-signature"></span></h3><div class="description">Return call hold status</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1580">line 1580</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isRecording"><span class="type-signature"></span>isRecording<span class="type-signature"></span></h3><div class="description">Return recording state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1507">line 1507</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="localNumberName"><span class="type-signature"></span>localNumberName<span class="type-signature"></span></h3><div class="description">Name of local number (for inbound)</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1349">line 1349</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="originatingNumber"><span class="type-signature"></span>originatingNumber<span class="type-signature"></span></h3><div class="description">Originating number</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1357">line 1357</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="state"><span class="type-signature"></span>state<span class="type-signature"></span></h3><div class="description">Session state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1371">line 1371</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="uuid"><span class="type-signature"></span>uuid<span class="type-signature"></span></h3><div class="description">Return UUID of call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1333">line 1333</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="answer"><span class="type-signature"></span>answer<span class="signature">(metaInfo)</span></h3><div class="description">Answer incoming call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>metaInfo</code></td><td class="type"></td><td class="default">null</td><td class="description last">Add meta info to this call</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1296">line 1296</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getOtherSessions"><span class="type-signature"></span>getOtherSessions<span class="signature">()</span></h3><div class="description">Return a list of all sessions except this session Mostly used when transferring call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1060">line 1060</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getRTCStats"><span class="type-signature"></span>getRTCStats<span class="signature">()</span><span class="type-signature"> → {Promise.<RTCStatsReport>}</span></h3><div class="description">Raw WebRTC statistics for this session's peer connection. Returns the browser's own `RTCStatsReport` untouched, so callers can read any statistic the browser exposes - RTP packet and byte counters, the DTLS/ICE transport state, codec and candidate-pair details.</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1412">line 1412</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NoActiveSession - If the session has no established peer connection (thrown synchronously, before the promise is created)</div></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">The peer connection's statistics</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Promise.<RTCStatsReport></span></dd></dl></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Example</strong><div class="rel"><pre class="prettyprint"><code>const report = await session.getRTCStats();
|
|
3
|
+
<![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(locationPathname=document.location.pathname).substr(0,locationPathname.lastIndexOf("/")+1)</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="EventClient.html">EventClient</a></div><div class="sidebar-section-children"><a href="EventServiceNotConnected.html">EventServiceNotConnected</a></div><div class="sidebar-section-children"><a href="InvalidMediaDevice.html">InvalidMediaDevice</a></div><div class="sidebar-section-children"><a href="InvalidOptions.html">InvalidOptions</a></div><div class="sidebar-section-children"><a href="InvalidParameter.html">InvalidParameter</a></div><div class="sidebar-section-children"><a href="LogHandler.html">LogHandler</a></div><div class="sidebar-section-children"><a href="MediaNotPrepared.html">MediaNotPrepared</a></div><div class="sidebar-section-children"><a href="NoActiveSession.html">NoActiveSession</a></div><div class="sidebar-section-children"><a href="NotAllowed.html">NotAllowed</a></div><div class="sidebar-section-children"><a href="NotReady.html">NotReady</a></div><div class="sidebar-section-children"><a href="Phone.html">Phone</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="Requestor.html">Requestor</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="UnableToConnect.html">UnableToConnect</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-events"><div>Events</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#event:callDataInfo">callDataInfo</a></div><div class="sidebar-section-children"><a href="global.html#event:callDurationUpdate">callDurationUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:callEnded">callEnded</a></div><div class="sidebar-section-children"><a href="global.html#event:callQualityReportUpdate">callQualityReportUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:connectionStateChange">connectionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:holdStateChange">holdStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:incomingCall">incomingCall</a></div><div class="sidebar-section-children"><a href="global.html#event:muteStateChange">muteStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:recordingStateChange">recordingStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionCreated">sessionCreated</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionRemoved">sessionRemoved</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionStateChange">sessionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:whisperModeChange">whisperModeChange</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></div><div class="sidebar-section-children"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></div><div class="sidebar-section-children"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></div><div class="sidebar-section-children"><a href="global.html#LOGLVL">LOGLVL</a></div><div class="sidebar-section-children"><a href="global.html#SESSION_STATE">SESSION_STATE</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><header><h1 id="Session-title" class="has-anchor">Session</h1><div class="class-description">Session class created for every active call. You should use either call() or event incomingCall() to get new sessions</div></header><article><div class="container-overview"><h2 id="constructor" class="has-anchor">Constructor</h2><h3 class="name has-anchor" id="Session"><span class="type-signature"></span>new Session<span class="signature">()</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1027">line 1027</a></li></ul></dd></div></dl><div class="method-member-container flex w-100 overflow-auto mt-20"><strong>Fires:</strong><ul><li>event:callEnded Receive basic information about call after call has been terminated</li><li>callDurationUpdate Regular updates on call duration (every second)</li><li>event:sessionStateChange Changes to session state</li><li>event:recordingStateChange When recording state changes</li><li>event:muteStateChange When mute state changes</li><li>event:holdStateChange When call is hold/unload</li></ul></div></div><h2 id="classes" class="subsection-title has-anchor">Classes</h2><dl><dt><a href="Session.html">Session</a></dt><dd></dd></dl><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="destinationNumber"><span class="type-signature"></span>destinationNumber<span class="type-signature"></span></h3><div class="description">Destination number called</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1480">line 1480</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="direction"><span class="type-signature"></span>direction<span class="type-signature"></span></h3><div class="description">Session call direction</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1518">line 1518</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isMuted"><span class="type-signature"></span>isMuted<span class="type-signature"></span></h3><div class="description">Return mute state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1682">line 1682</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isOnHold"><span class="type-signature"></span>isOnHold<span class="type-signature"></span></h3><div class="description">Return call hold status</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1719">line 1719</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isRecording"><span class="type-signature"></span>isRecording<span class="type-signature"></span></h3><div class="description">Return recording state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1646">line 1646</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="localNumberName"><span class="type-signature"></span>localNumberName<span class="type-signature"></span></h3><div class="description">Name of local number (for inbound)</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1488">line 1488</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="originatingNumber"><span class="type-signature"></span>originatingNumber<span class="type-signature"></span></h3><div class="description">Originating number</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1496">line 1496</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="state"><span class="type-signature"></span>state<span class="type-signature"></span></h3><div class="description">Session state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1510">line 1510</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="uuid"><span class="type-signature"></span>uuid<span class="type-signature"></span></h3><div class="description">Return UUID of call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1472">line 1472</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="answer"><span class="type-signature"></span>answer<span class="signature">(metaInfo)</span></h3><div class="description">Answer incoming call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>metaInfo</code></td><td class="type"></td><td class="default">null</td><td class="description last">Add meta info to this call</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1435">line 1435</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getOtherSessions"><span class="type-signature"></span>getOtherSessions<span class="signature">()</span></h3><div class="description">Return a list of all sessions except this session Mostly used when transferring call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1199">line 1199</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getRTCStats"><span class="type-signature"></span>getRTCStats<span class="signature">()</span><span class="type-signature"> → {Promise.<RTCStatsReport>}</span></h3><div class="description">Raw WebRTC statistics for this session's peer connection. Returns the browser's own `RTCStatsReport` untouched, so callers can read any statistic the browser exposes - RTP packet and byte counters, the DTLS/ICE transport state, codec and candidate-pair details.</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1551">line 1551</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NoActiveSession - If the session has no established peer connection (thrown synchronously, before the promise is created)</div></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">The peer connection's statistics</div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Promise.<RTCStatsReport></span></dd></dl></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Example</strong><div class="rel"><pre class="prettyprint"><code>const report = await session.getRTCStats();
|
|
4
4
|
for (const stat of report.values()) {
|
|
5
5
|
if (stat.type === 'inbound-rtp') console.log(stat.packetsReceived);
|
|
6
|
-
}</code></pre></div></div><h3 class="name has-anchor" id="hangup"><span class="type-signature"></span>hangup<span class="signature">(disposition)</span></h3><div class="description">Hangup call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>disposition</code></td><td class="type"><span class="param-type"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></span></td><td class="default">null</td><td class="description last">Hangup call with specific disposition</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1279">line 1279</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NoActiveSession - If no active session / call exists</div></div><h3 class="name has-anchor" id="hold"><span class="type-signature"></span>hold<span class="signature">()</span></h3><div class="description">Hold call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1551">line 1551</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="muteMic"><span class="type-signature"></span>muteMic<span class="signature">()</span></h3><div class="description">Mute microphone</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1515">line 1515</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="playback"><span class="type-signature"></span>playback<span class="signature">(media_file_id, hangup_after)</span></h3><div class="description">Playback media file into call. You must be connected the event service to use this feature (set connectEventService=true)</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>media_file_id</code></td><td class="type"></td><td class="default"></td><td class="description last">Media file to playback</td></tr><tr><td class="name"><code>hangup_after</code></td><td class="type"></td><td class="default">false</td><td class="description last">Hangup call after playback ends</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1658">line 1658</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotAllowed - If event service is not enabled</div></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">Promise that resolves when playback has started</div></div><h3 class="name has-anchor" id="reject"><span class="type-signature"></span>reject<span class="signature">(statusCode, reasonPhrase)</span></h3><div class="description">Reject incoming call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>statusCode</code></td><td class="type"></td><td class="default">603</td><td class="description last">SIP Status code</td></tr><tr><td class="name"><code>reasonPhrase</code></td><td class="type"></td><td class="default">Rejected call</td><td class="description last">Reason phrase</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1321">line 1321</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="sendDTMF"><span class="type-signature"></span>sendDTMF<span class="signature">(code, playLocal)</span></h3><div class="description">Send DTMF tone on call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>code</code></td><td class="type"></td><td class="default"></td><td class="description last">What DTMF code to send (valid: 0-9,*,#,d)</td></tr><tr><td class="name"><code>playLocal</code></td><td class="type"></td><td class="default">True</td><td class="description last">Play DTMF sound locally also</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1590">line 1590</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">InvalidParameter - On incorrect DTMF codes</div></div><h3 class="name has-anchor" id="setWhisperMode"><span class="type-signature"></span>setWhisperMode<span class="signature">(mode)</span></h3><div class="description">Set whisper mode on "listen" calls</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mode</code></td><td class="type"></td><td class="default">0</td><td class="description last">Whisper mode 0 = No whisper / 1 = local peer only / 2 = Three way (both local and remote)</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1699">line 1699</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotAllowed - If call is not listen call</div></li><li><div class="param-desc">InvalidOptions - If invalid mode given</div></li></ul></div><h3 class="name has-anchor" id="startRecording"><span class="type-signature"></span>startRecording<span class="signature">()</span></h3><div class="description">Start recording</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1423">line 1423</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="stopRecording"><span class="type-signature"></span>stopRecording<span class="signature">()</span></h3><div class="description">Stop recording</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1457">line 1457</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="toggleHold"><span class="type-signature"></span>toggleHold<span class="signature">()</span></h3><div class="description">Toggle call hold</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1568">line 1568</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="toggleMute"><span class="type-signature"></span>toggleMute<span class="signature">()</span></h3><div class="description">Toggle microphone mute state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1531">line 1531</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="toggleRecording"><span class="type-signature"></span>toggleRecording<span class="signature">()</span></h3><div class="description">Toogle recording ON/OFF</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1493">line 1493</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="transfer"><span class="type-signature"></span>transfer<span class="signature">(dstSession)</span></h3><div class="description">Transfer call to another session (attended transfer)</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>dstSession</code></td><td class="type"></td><td class="description last">Destination session</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1624">line 1624</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="unhold"><span class="type-signature"></span>unhold<span class="signature">()</span></h3><div class="description">Unhold call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1559">line 1559</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="unmuteMic"><span class="type-signature"></span>unmuteMic<span class="signature">()</span></h3><div class="description">Unmute microphone</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1523">line 1523</a></li></ul></dd></div></dl></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><div class="mobile-nav-links"></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="EventClient.html">EventClient</a></div><div class="sidebar-section-children"><a href="EventServiceNotConnected.html">EventServiceNotConnected</a></div><div class="sidebar-section-children"><a href="InvalidMediaDevice.html">InvalidMediaDevice</a></div><div class="sidebar-section-children"><a href="InvalidOptions.html">InvalidOptions</a></div><div class="sidebar-section-children"><a href="InvalidParameter.html">InvalidParameter</a></div><div class="sidebar-section-children"><a href="LogHandler.html">LogHandler</a></div><div class="sidebar-section-children"><a href="MediaNotPrepared.html">MediaNotPrepared</a></div><div class="sidebar-section-children"><a href="NoActiveSession.html">NoActiveSession</a></div><div class="sidebar-section-children"><a href="NotAllowed.html">NotAllowed</a></div><div class="sidebar-section-children"><a href="NotReady.html">NotReady</a></div><div class="sidebar-section-children"><a href="Phone.html">Phone</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="Requestor.html">Requestor</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="UnableToConnect.html">UnableToConnect</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-events"><div>Events</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#event:callDataInfo">callDataInfo</a></div><div class="sidebar-section-children"><a href="global.html#event:callDurationUpdate">callDurationUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:callEnded">callEnded</a></div><div class="sidebar-section-children"><a href="global.html#event:callQualityReportUpdate">callQualityReportUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:connectionStateChange">connectionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:holdStateChange">holdStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:incomingCall">incomingCall</a></div><div class="sidebar-section-children"><a href="global.html#event:muteStateChange">muteStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:recordingStateChange">recordingStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionCreated">sessionCreated</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionRemoved">sessionRemoved</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionStateChange">sessionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:whisperModeChange">whisperModeChange</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></div><div class="sidebar-section-children"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></div><div class="sidebar-section-children"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></div><div class="sidebar-section-children"><a href="global.html#LOGLVL">LOGLVL</a></div><div class="sidebar-section-children"><a href="global.html#SESSION_STATE">SESSION_STATE</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
|
|
6
|
+
}</code></pre></div></div><h3 class="name has-anchor" id="hangup"><span class="type-signature"></span>hangup<span class="signature">(disposition)</span></h3><div class="description">Hangup call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>disposition</code></td><td class="type"><span class="param-type"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></span></td><td class="default">null</td><td class="description last">Hangup call with specific disposition</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1418">line 1418</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NoActiveSession - If no active session / call exists</div></div><h3 class="name has-anchor" id="hold"><span class="type-signature"></span>hold<span class="signature">()</span></h3><div class="description">Hold call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1690">line 1690</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="muteMic"><span class="type-signature"></span>muteMic<span class="signature">()</span></h3><div class="description">Mute microphone</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1654">line 1654</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="playback"><span class="type-signature"></span>playback<span class="signature">(media_file_id, hangup_after)</span></h3><div class="description">Playback media file into call. You must be connected the event service to use this feature (set connectEventService=true)</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>media_file_id</code></td><td class="type"></td><td class="default"></td><td class="description last">Media file to playback</td></tr><tr><td class="name"><code>hangup_after</code></td><td class="type"></td><td class="default">false</td><td class="description last">Hangup call after playback ends</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1797">line 1797</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">NotAllowed - If event service is not enabled</div></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc">Promise that resolves when playback has started</div></div><h3 class="name has-anchor" id="reject"><span class="type-signature"></span>reject<span class="signature">(statusCode, reasonPhrase)</span></h3><div class="description">Reject incoming call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>statusCode</code></td><td class="type"></td><td class="default">603</td><td class="description last">SIP Status code</td></tr><tr><td class="name"><code>reasonPhrase</code></td><td class="type"></td><td class="default">Rejected call</td><td class="description last">Reason phrase</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1460">line 1460</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="sendDTMF"><span class="type-signature"></span>sendDTMF<span class="signature">(code, playLocal)</span></h3><div class="description">Send DTMF tone on call</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>code</code></td><td class="type"></td><td class="default"></td><td class="description last">What DTMF code to send (valid: 0-9,*,#,d)</td></tr><tr><td class="name"><code>playLocal</code></td><td class="type"></td><td class="default">True</td><td class="description last">Play DTMF sound locally also</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1729">line 1729</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc">InvalidParameter - On incorrect DTMF codes</div></div><h3 class="name has-anchor" id="setWhisperMode"><span class="type-signature"></span>setWhisperMode<span class="signature">(mode)</span></h3><div class="description">Set whisper mode on "listen" calls</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mode</code></td><td class="type"></td><td class="default">0</td><td class="description last">Whisper mode 0 = No whisper / 1 = local peer only / 2 = Three way (both local and remote)</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1838">line 1838</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><div class="param-desc">NotAllowed - If call is not listen call</div></li><li><div class="param-desc">InvalidOptions - If invalid mode given</div></li></ul></div><h3 class="name has-anchor" id="startRecording"><span class="type-signature"></span>startRecording<span class="signature">()</span></h3><div class="description">Start recording</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1562">line 1562</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="stopRecording"><span class="type-signature"></span>stopRecording<span class="signature">()</span></h3><div class="description">Stop recording</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1596">line 1596</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="toggleHold"><span class="type-signature"></span>toggleHold<span class="signature">()</span></h3><div class="description">Toggle call hold</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1707">line 1707</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="toggleMute"><span class="type-signature"></span>toggleMute<span class="signature">()</span></h3><div class="description">Toggle microphone mute state</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1670">line 1670</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="toggleRecording"><span class="type-signature"></span>toggleRecording<span class="signature">()</span></h3><div class="description">Toogle recording ON/OFF</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1632">line 1632</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="transfer"><span class="type-signature"></span>transfer<span class="signature">(dstSession)</span></h3><div class="description">Transfer call to another session (attended transfer)</div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>dstSession</code></td><td class="type"></td><td class="description last">Destination session</td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1763">line 1763</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="unhold"><span class="type-signature"></span>unhold<span class="signature">()</span></h3><div class="description">Unhold call</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1698">line 1698</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="unmuteMic"><span class="type-signature"></span>unmuteMic<span class="signature">()</span></h3><div class="description">Unmute microphone</div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="phone-client.js.html">phone-client.js</a>, <a href="phone-client.js.html#line1662">line 1662</a></li></ul></dd></div></dl></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><div class="mobile-nav-links"></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="EventClient.html">EventClient</a></div><div class="sidebar-section-children"><a href="EventServiceNotConnected.html">EventServiceNotConnected</a></div><div class="sidebar-section-children"><a href="InvalidMediaDevice.html">InvalidMediaDevice</a></div><div class="sidebar-section-children"><a href="InvalidOptions.html">InvalidOptions</a></div><div class="sidebar-section-children"><a href="InvalidParameter.html">InvalidParameter</a></div><div class="sidebar-section-children"><a href="LogHandler.html">LogHandler</a></div><div class="sidebar-section-children"><a href="MediaNotPrepared.html">MediaNotPrepared</a></div><div class="sidebar-section-children"><a href="NoActiveSession.html">NoActiveSession</a></div><div class="sidebar-section-children"><a href="NotAllowed.html">NotAllowed</a></div><div class="sidebar-section-children"><a href="NotReady.html">NotReady</a></div><div class="sidebar-section-children"><a href="Phone.html">Phone</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="Requestor.html">Requestor</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="UnableToConnect.html">UnableToConnect</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-events"><div>Events</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#event:callDataInfo">callDataInfo</a></div><div class="sidebar-section-children"><a href="global.html#event:callDurationUpdate">callDurationUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:callEnded">callEnded</a></div><div class="sidebar-section-children"><a href="global.html#event:callQualityReportUpdate">callQualityReportUpdate</a></div><div class="sidebar-section-children"><a href="global.html#event:connectionStateChange">connectionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:holdStateChange">holdStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:incomingCall">incomingCall</a></div><div class="sidebar-section-children"><a href="global.html#event:muteStateChange">muteStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:recordingStateChange">recordingStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionCreated">sessionCreated</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionRemoved">sessionRemoved</a></div><div class="sidebar-section-children"><a href="global.html#event:sessionStateChange">sessionStateChange</a></div><div class="sidebar-section-children"><a href="global.html#event:whisperModeChange">whisperModeChange</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></div><div class="sidebar-section-children"><a href="global.html#CALL_DISPOSITION">CALL_DISPOSITION</a></div><div class="sidebar-section-children"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></div><div class="sidebar-section-children"><a href="global.html#LOGLVL">LOGLVL</a></div><div class="sidebar-section-children"><a href="global.html#SESSION_STATE">SESSION_STATE</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
|
package/docs/data/search.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"list":[{"title":"CALL_DIRECTION","link":"<a href=\"global.html#CALL_DIRECTION\">CALL_DIRECTION</a>"},{"title":"CALL_DISPOSITION","link":"<a href=\"global.html#CALL_DISPOSITION\">CALL_DISPOSITION</a>"},{"title":"CONNECTION_STATE","link":"<a href=\"global.html#CONNECTION_STATE\">CONNECTION_STATE</a>"},{"title":"EventClient","link":"<a href=\"EventClient.html\">EventClient</a>"},{"title":"EventClient#connect","link":"<a href=\"EventClient.html#connect\">connect</a>","description":"Establish a connecting to the event service"},{"title":"EventClient#disconnect","link":"<a href=\"EventClient.html#disconnect\">disconnect</a>","description":"Disconnect from event service and clear all active subscriptions"},{"title":"EventClient#fireEvent","link":"<a href=\"EventClient.html#fireEvent\">fireEvent</a>","description":"Fire event message"},{"title":"EventClient#isConnected","link":"<a href=\"EventClient.html#isConnected\">isConnected</a>","description":"Return service connection state"},{"title":"EventClient#subscribe","link":"<a href=\"EventClient.html#subscribe\">subscribe</a>","description":"Subscribe to event"},{"title":"EventClient#unsubscribe","link":"<a href=\"EventClient.html#unsubscribe\">unsubscribe</a>","description":"Unsubscribe event messages"},{"title":"EventServiceNotConnected","link":"<a href=\"EventServiceNotConnected.html\">EventServiceNotConnected</a>"},{"title":"InvalidMediaDevice","link":"<a href=\"InvalidMediaDevice.html\">InvalidMediaDevice</a>"},{"title":"InvalidOptions","link":"<a href=\"InvalidOptions.html\">InvalidOptions</a>"},{"title":"InvalidParameter","link":"<a href=\"InvalidParameter.html\">InvalidParameter</a>"},{"title":"LOGLVL","link":"<a href=\"global.html#LOGLVL\">LOGLVL</a>","description":"Log levels"},{"title":"LogHandler","link":"<a href=\"LogHandler.html\">LogHandler</a>","description":"Create new log handler"},{"title":"MediaNotPrepared","link":"<a href=\"MediaNotPrepared.html\">MediaNotPrepared</a>"},{"title":"NoActiveSession","link":"<a href=\"NoActiveSession.html\">NoActiveSession</a>"},{"title":"NotAllowed","link":"<a href=\"NotAllowed.html\">NotAllowed</a>"},{"title":"NotReady","link":"<a href=\"NotReady.html\">NotReady</a>"},{"title":"Phone","link":"<a href=\"Phone.html\">Phone</a>"},{"title":"Phone#browserSupported","link":"<a href=\"Phone.html#browserSupported\">browserSupported</a>","description":"Verify browser is supported"},{"title":"Phone#call","link":"<a href=\"Phone.html#call\">call</a>","description":"Start a new call\nIf you have other active calls they will be set on hold"},{"title":"Phone#getSessionByUUID","link":"<a href=\"Phone.html#getSessionByUUID\">getSessionByUUID</a>","description":"Get session by UUID, if none are found null is returned"},{"title":"Phone#hasMediaPermission","link":"<a href=\"Phone.html#hasMediaPermission\">hasMediaPermission</a>","description":"Return media permission state"},{"title":"Phone#hasMediaPermissionError","link":"<a href=\"Phone.html#hasMediaPermissionError\">hasMediaPermissionError</a>","description":"Media permission denied"},{"title":"Phone#holdAllCalls","link":"<a href=\"Phone.html#holdAllCalls\">holdAllCalls</a>","description":"Hold all active calls"},{"title":"Phone#isStarted","link":"<a href=\"Phone.html#isStarted\">isStarted</a>","description":"Phone client started"},{"title":"Phone#listen","link":"<a href=\"Phone.html#listen\">listen</a>","description":"Start a new session and listen to another call"},{"title":"Phone#options","link":"<a href=\"Phone.html#options\">options</a>","description":"Return phone options"},{"title":"Phone#playTone","link":"<a href=\"Phone.html#playTone\">playTone</a>","description":"Play tone locally (on incoming remote audio)"},{"title":"Phone#prepareMedia","link":"<a href=\"Phone.html#prepareMedia\">prepareMedia</a>","description":"Prepare media and get media permission from browser\nThis must be done prior to using the phone or getting device lists."},{"title":"Phone#remoteAudioElement","link":"<a href=\"Phone.html#remoteAudioElement\">remoteAudioElement</a>","description":"Remote audio HTML element"},{"title":"Phone#sessions","link":"<a href=\"Phone.html#sessions\">sessions</a>","description":"Return list of current sessions"},{"title":"Phone#start","link":"<a href=\"Phone.html#start\">start</a>","description":"Start phone and connect to server if needed"},{"title":"Phone#stop","link":"<a href=\"Phone.html#stop\">stop</a>","description":"Stops the phone client, gracefully disconnects from the server and terminates any active calls"},{"title":"Phone#stopTone","link":"<a href=\"Phone.html#stopTone\">stopTone</a>","description":"Immediately stop playing tones\n(Tone callbacks will be cancelled)"},{"title":"Request","link":"<a href=\"Request.html\">Request</a>"},{"title":"Request#reject","link":"<a href=\"Request.html#reject\">reject</a>","description":"Reject request (promise will be rejected on remote)"},{"title":"Request#resolve","link":"<a href=\"Request.html#resolve\">resolve</a>","description":"Resolve request (promise will be resolved successfully on remote)"},{"title":"Requestor","link":"<a href=\"Requestor.html\">Requestor</a>"},{"title":"Requestor#findPendingRequest","link":"<a href=\"Requestor.html#findPendingRequest\">findPendingRequest</a>","description":"Get index og pending request"},{"title":"Requestor#ping","link":"<a href=\"Requestor.html#ping\">ping</a>","description":"Send a ping request (for keep alives)"},{"title":"Requestor#receiveMessage","link":"<a href=\"Requestor.html#receiveMessage\">receiveMessage</a>","description":"Receive message from websocket"},{"title":"Requestor#removePendingRequest","link":"<a href=\"Requestor.html#removePendingRequest\">removePendingRequest</a>","description":"Remove a request from pending queue"},{"title":"Requestor#sendRequest","link":"<a href=\"Requestor.html#sendRequest\">sendRequest</a>","description":"Send a request"},{"title":"SESSION_STATE","link":"<a href=\"global.html#SESSION_STATE\">SESSION_STATE</a>"},{"title":"Session","link":"<a href=\"Session.html\">Session</a>"},{"title":"Session#answer","link":"<a href=\"Session.html#answer\">answer</a>","description":"Answer incoming call"},{"title":"Session#destinationNumber","link":"<a href=\"Session.html#destinationNumber\">destinationNumber</a>","description":"Destination number called"},{"title":"Session#direction","link":"<a href=\"Session.html#direction\">direction</a>","description":"Session call direction"},{"title":"Session#getOtherSessions","link":"<a href=\"Session.html#getOtherSessions\">getOtherSessions</a>","description":"Return a list of all sessions except this session\nMostly used when transferring call"},{"title":"Session#getRTCStats","link":"<a href=\"Session.html#getRTCStats\">getRTCStats</a>","description":"Raw WebRTC statistics for this session's peer connection.\n\nReturns the browser's own `RTCStatsReport` untouched, so callers can read\nany statistic the browser exposes - RTP packet and byte counters, the\nDTLS/ICE transport state, codec and candidate-pair details."},{"title":"Session#hangup","link":"<a href=\"Session.html#hangup\">hangup</a>","description":"Hangup call"},{"title":"Session#hold","link":"<a href=\"Session.html#hold\">hold</a>","description":"Hold call"},{"title":"Session#isMuted","link":"<a href=\"Session.html#isMuted\">isMuted</a>","description":"Return mute state"},{"title":"Session#isOnHold","link":"<a href=\"Session.html#isOnHold\">isOnHold</a>","description":"Return call hold status"},{"title":"Session#isRecording","link":"<a href=\"Session.html#isRecording\">isRecording</a>","description":"Return recording state"},{"title":"Session#localNumberName","link":"<a href=\"Session.html#localNumberName\">localNumberName</a>","description":"Name of local number (for inbound)"},{"title":"Session#muteMic","link":"<a href=\"Session.html#muteMic\">muteMic</a>","description":"Mute microphone"},{"title":"Session#originatingNumber","link":"<a href=\"Session.html#originatingNumber\">originatingNumber</a>","description":"Originating number"},{"title":"Session#playback","link":"<a href=\"Session.html#playback\">playback</a>","description":"Playback media file into call. You must be connected the event service to use this feature (set connectEventService=true)"},{"title":"Session#reject","link":"<a href=\"Session.html#reject\">reject</a>","description":"Reject incoming call"},{"title":"Session#sendDTMF","link":"<a href=\"Session.html#sendDTMF\">sendDTMF</a>","description":"Send DTMF tone on call"},{"title":"Session#setWhisperMode","link":"<a href=\"Session.html#setWhisperMode\">setWhisperMode</a>","description":"Set whisper mode on \"listen\" calls"},{"title":"Session#startRecording","link":"<a href=\"Session.html#startRecording\">startRecording</a>","description":"Start recording"},{"title":"Session#state","link":"<a href=\"Session.html#state\">state</a>","description":"Session state"},{"title":"Session#stopRecording","link":"<a href=\"Session.html#stopRecording\">stopRecording</a>","description":"Stop recording"},{"title":"Session#toggleHold","link":"<a href=\"Session.html#toggleHold\">toggleHold</a>","description":"Toggle call hold"},{"title":"Session#toggleMute","link":"<a href=\"Session.html#toggleMute\">toggleMute</a>","description":"Toggle microphone mute state"},{"title":"Session#toggleRecording","link":"<a href=\"Session.html#toggleRecording\">toggleRecording</a>","description":"Toogle recording ON/OFF"},{"title":"Session#transfer","link":"<a href=\"Session.html#transfer\">transfer</a>","description":"Transfer call to another session (attended transfer)"},{"title":"Session#unhold","link":"<a href=\"Session.html#unhold\">unhold</a>","description":"Unhold call"},{"title":"Session#unmuteMic","link":"<a href=\"Session.html#unmuteMic\">unmuteMic</a>","description":"Unmute microphone"},{"title":"Session#uuid","link":"<a href=\"Session.html#uuid\">uuid</a>","description":"Return UUID of call"},{"title":"UnableToConnect","link":"<a href=\"UnableToConnect.html\">UnableToConnect</a>"},{"title":"event:callDataInfo","link":"<a href=\"global.html#event:callDataInfo\">callDataInfo</a>"},{"title":"event:callDurationUpdate","link":"<a href=\"global.html#event:callDurationUpdate\">callDurationUpdate</a>"},{"title":"event:callEnded","link":"<a href=\"global.html#event:callEnded\">callEnded</a>"},{"title":"event:callQualityReportUpdate","link":"<a href=\"global.html#event:callQualityReportUpdate\">callQualityReportUpdate</a>","description":"Contains information about call quality (fires in interval of 5 sec).\nPayload contains \"total\" (metrics for whole session) and \"delta\" (metrics last 5 secs)."},{"title":"event:connectionStateChange","link":"<a href=\"global.html#event:connectionStateChange\">connectionStateChange</a>"},{"title":"event:holdStateChange","link":"<a href=\"global.html#event:holdStateChange\">holdStateChange</a>"},{"title":"event:incomingCall","link":"<a href=\"global.html#event:incomingCall\">incomingCall</a>"},{"title":"event:muteStateChange","link":"<a href=\"global.html#event:muteStateChange\">muteStateChange</a>"},{"title":"event:recordingStateChange","link":"<a href=\"global.html#event:recordingStateChange\">recordingStateChange</a>"},{"title":"event:sessionCreated","link":"<a href=\"global.html#event:sessionCreated\">sessionCreated</a>"},{"title":"event:sessionRemoved","link":"<a href=\"global.html#event:sessionRemoved\">sessionRemoved</a>"},{"title":"event:sessionStateChange","link":"<a href=\"global.html#event:sessionStateChange\">sessionStateChange</a>"},{"title":"event:whisperModeChange","link":"<a href=\"global.html#event:whisperModeChange\">whisperModeChange</a>"}]}
|
|
1
|
+
{"list":[{"title":"CALL_DIRECTION","link":"<a href=\"global.html#CALL_DIRECTION\">CALL_DIRECTION</a>"},{"title":"CALL_DISPOSITION","link":"<a href=\"global.html#CALL_DISPOSITION\">CALL_DISPOSITION</a>"},{"title":"CONNECTION_STATE","link":"<a href=\"global.html#CONNECTION_STATE\">CONNECTION_STATE</a>"},{"title":"EventClient","link":"<a href=\"EventClient.html\">EventClient</a>"},{"title":"EventClient#connect","link":"<a href=\"EventClient.html#connect\">connect</a>","description":"Establish a connecting to the event service"},{"title":"EventClient#disconnect","link":"<a href=\"EventClient.html#disconnect\">disconnect</a>","description":"Disconnect from event service and clear all active subscriptions"},{"title":"EventClient#fireEvent","link":"<a href=\"EventClient.html#fireEvent\">fireEvent</a>","description":"Fire event message"},{"title":"EventClient#isConnected","link":"<a href=\"EventClient.html#isConnected\">isConnected</a>","description":"Return service connection state"},{"title":"EventClient#subscribe","link":"<a href=\"EventClient.html#subscribe\">subscribe</a>","description":"Subscribe to event"},{"title":"EventClient#unsubscribe","link":"<a href=\"EventClient.html#unsubscribe\">unsubscribe</a>","description":"Unsubscribe event messages"},{"title":"EventServiceNotConnected","link":"<a href=\"EventServiceNotConnected.html\">EventServiceNotConnected</a>"},{"title":"InvalidMediaDevice","link":"<a href=\"InvalidMediaDevice.html\">InvalidMediaDevice</a>"},{"title":"InvalidOptions","link":"<a href=\"InvalidOptions.html\">InvalidOptions</a>"},{"title":"InvalidParameter","link":"<a href=\"InvalidParameter.html\">InvalidParameter</a>"},{"title":"LOGLVL","link":"<a href=\"global.html#LOGLVL\">LOGLVL</a>","description":"Log levels"},{"title":"LogHandler","link":"<a href=\"LogHandler.html\">LogHandler</a>","description":"Create new log handler"},{"title":"MediaNotPrepared","link":"<a href=\"MediaNotPrepared.html\">MediaNotPrepared</a>"},{"title":"NoActiveSession","link":"<a href=\"NoActiveSession.html\">NoActiveSession</a>"},{"title":"NotAllowed","link":"<a href=\"NotAllowed.html\">NotAllowed</a>"},{"title":"NotReady","link":"<a href=\"NotReady.html\">NotReady</a>"},{"title":"Phone","link":"<a href=\"Phone.html\">Phone</a>"},{"title":"Phone#audioConstraints","link":"<a href=\"Phone.html#audioConstraints\">audioConstraints</a>","description":"Current getUserMedia audio constraint (true = default device)"},{"title":"Phone#browserSupported","link":"<a href=\"Phone.html#browserSupported\">browserSupported</a>","description":"Verify browser is supported"},{"title":"Phone#call","link":"<a href=\"Phone.html#call\">call</a>","description":"Start a new call\nIf you have other active calls they will be set on hold"},{"title":"Phone#getSessionByUUID","link":"<a href=\"Phone.html#getSessionByUUID\">getSessionByUUID</a>","description":"Get session by UUID, if none are found null is returned"},{"title":"Phone#hasMediaPermission","link":"<a href=\"Phone.html#hasMediaPermission\">hasMediaPermission</a>","description":"Return media permission state"},{"title":"Phone#hasMediaPermissionError","link":"<a href=\"Phone.html#hasMediaPermissionError\">hasMediaPermissionError</a>","description":"Media permission denied"},{"title":"Phone#holdAllCalls","link":"<a href=\"Phone.html#holdAllCalls\">holdAllCalls</a>","description":"Hold all active calls"},{"title":"Phone#isStarted","link":"<a href=\"Phone.html#isStarted\">isStarted</a>","description":"Phone client started"},{"title":"Phone#listen","link":"<a href=\"Phone.html#listen\">listen</a>","description":"Start a new session and listen to another call"},{"title":"Phone#options","link":"<a href=\"Phone.html#options\">options</a>","description":"Return phone options"},{"title":"Phone#outputDeviceSelectionSupported","link":"<a href=\"Phone.html#outputDeviceSelectionSupported\">outputDeviceSelectionSupported</a>","description":"True when the browser can route audio to a chosen output device (HTMLMediaElement.setSinkId)"},{"title":"Phone#playTone","link":"<a href=\"Phone.html#playTone\">playTone</a>","description":"Play tone locally (on incoming remote audio)"},{"title":"Phone#prepareMedia","link":"<a href=\"Phone.html#prepareMedia\">prepareMedia</a>","description":"Prepare media and get media permission from browser\nThis must be done prior to using the phone or getting device lists.\n\nOn failure the previously selected input device (see {@link setInputDevice}) and the\ncurrent media-permission state are left untouched, unless the browser reports the\nrequest was actually denied (NotAllowedError / SecurityError), in which case\nhasMediaPermission/hasMediaPermissionError are updated to reflect that."},{"title":"Phone#register","link":"<a href=\"Phone.html#register\">register</a>","description":"Re-send REGISTER without tearing down the websocket connection or any active calls.\nUse this to recover from a REGISTER refresh that failed for a reason other than bad\ncredentials (e.g. a timeout or a 5xx from the registrar) while the transport itself stayed\nup - JsSIP does not retry those on its own. Safe to call during an active call."},{"title":"Phone#remoteAudioElement","link":"<a href=\"Phone.html#remoteAudioElement\">remoteAudioElement</a>","description":"Remote audio HTML element"},{"title":"Phone#resumeAudio","link":"<a href=\"Phone.html#resumeAudio\">resumeAudio</a>","description":"Resume the Web Audio context behind signal tones (ringing, ringback, busy, DTMF feedback).\nBrowsers create an AudioContext \"suspended\" when it is not created during a user gesture\n(e.g. a phone started on page load); call this from a user-gesture handler (click, keydown)\nso tones are audible. Safe to call before {@link start} and any number of times."},{"title":"Phone#sessions","link":"<a href=\"Phone.html#sessions\">sessions</a>","description":"Return list of current sessions"},{"title":"Phone#setCallToken","link":"<a href=\"Phone.html#setCallToken\">setCallToken</a>","description":"Replace the call token used by subsequent calls and answers.\nCall tokens expire (30 min); renew via the API and pass the new token here.\n\nWith useCallDataInfoEvent, the callDataInfo subscription keeps the token from start();\ncall start() again to move it to the new token."},{"title":"Phone#setInputDevice","link":"<a href=\"Phone.html#setInputDevice\">setInputDevice</a>","description":"Select the microphone used for subsequent calls and answers."},{"title":"Phone#setOutputDevice","link":"<a href=\"Phone.html#setOutputDevice\">setOutputDevice</a>","description":"Route call audio and signal tones to an output device."},{"title":"Phone#start","link":"<a href=\"Phone.html#start\">start</a>","description":"Start phone and connect to server if needed"},{"title":"Phone#stop","link":"<a href=\"Phone.html#stop\">stop</a>","description":"Stops the phone client, gracefully disconnects from the server and terminates any active calls"},{"title":"Phone#stopTone","link":"<a href=\"Phone.html#stopTone\">stopTone</a>","description":"Immediately stop playing tones\n(Tone callbacks will be cancelled)"},{"title":"Request","link":"<a href=\"Request.html\">Request</a>"},{"title":"Request#reject","link":"<a href=\"Request.html#reject\">reject</a>","description":"Reject request (promise will be rejected on remote)"},{"title":"Request#resolve","link":"<a href=\"Request.html#resolve\">resolve</a>","description":"Resolve request (promise will be resolved successfully on remote)"},{"title":"Requestor","link":"<a href=\"Requestor.html\">Requestor</a>"},{"title":"Requestor#findPendingRequest","link":"<a href=\"Requestor.html#findPendingRequest\">findPendingRequest</a>","description":"Get index og pending request"},{"title":"Requestor#ping","link":"<a href=\"Requestor.html#ping\">ping</a>","description":"Send a ping request (for keep alives)"},{"title":"Requestor#receiveMessage","link":"<a href=\"Requestor.html#receiveMessage\">receiveMessage</a>","description":"Receive message from websocket"},{"title":"Requestor#removePendingRequest","link":"<a href=\"Requestor.html#removePendingRequest\">removePendingRequest</a>","description":"Remove a request from pending queue"},{"title":"Requestor#sendRequest","link":"<a href=\"Requestor.html#sendRequest\">sendRequest</a>","description":"Send a request"},{"title":"SESSION_STATE","link":"<a href=\"global.html#SESSION_STATE\">SESSION_STATE</a>"},{"title":"Session","link":"<a href=\"Session.html\">Session</a>"},{"title":"Session#answer","link":"<a href=\"Session.html#answer\">answer</a>","description":"Answer incoming call"},{"title":"Session#destinationNumber","link":"<a href=\"Session.html#destinationNumber\">destinationNumber</a>","description":"Destination number called"},{"title":"Session#direction","link":"<a href=\"Session.html#direction\">direction</a>","description":"Session call direction"},{"title":"Session#getOtherSessions","link":"<a href=\"Session.html#getOtherSessions\">getOtherSessions</a>","description":"Return a list of all sessions except this session\nMostly used when transferring call"},{"title":"Session#getRTCStats","link":"<a href=\"Session.html#getRTCStats\">getRTCStats</a>","description":"Raw WebRTC statistics for this session's peer connection.\n\nReturns the browser's own `RTCStatsReport` untouched, so callers can read\nany statistic the browser exposes - RTP packet and byte counters, the\nDTLS/ICE transport state, codec and candidate-pair details."},{"title":"Session#hangup","link":"<a href=\"Session.html#hangup\">hangup</a>","description":"Hangup call"},{"title":"Session#hold","link":"<a href=\"Session.html#hold\">hold</a>","description":"Hold call"},{"title":"Session#isMuted","link":"<a href=\"Session.html#isMuted\">isMuted</a>","description":"Return mute state"},{"title":"Session#isOnHold","link":"<a href=\"Session.html#isOnHold\">isOnHold</a>","description":"Return call hold status"},{"title":"Session#isRecording","link":"<a href=\"Session.html#isRecording\">isRecording</a>","description":"Return recording state"},{"title":"Session#localNumberName","link":"<a href=\"Session.html#localNumberName\">localNumberName</a>","description":"Name of local number (for inbound)"},{"title":"Session#muteMic","link":"<a href=\"Session.html#muteMic\">muteMic</a>","description":"Mute microphone"},{"title":"Session#originatingNumber","link":"<a href=\"Session.html#originatingNumber\">originatingNumber</a>","description":"Originating number"},{"title":"Session#playback","link":"<a href=\"Session.html#playback\">playback</a>","description":"Playback media file into call. You must be connected the event service to use this feature (set connectEventService=true)"},{"title":"Session#reject","link":"<a href=\"Session.html#reject\">reject</a>","description":"Reject incoming call"},{"title":"Session#sendDTMF","link":"<a href=\"Session.html#sendDTMF\">sendDTMF</a>","description":"Send DTMF tone on call"},{"title":"Session#setWhisperMode","link":"<a href=\"Session.html#setWhisperMode\">setWhisperMode</a>","description":"Set whisper mode on \"listen\" calls"},{"title":"Session#startRecording","link":"<a href=\"Session.html#startRecording\">startRecording</a>","description":"Start recording"},{"title":"Session#state","link":"<a href=\"Session.html#state\">state</a>","description":"Session state"},{"title":"Session#stopRecording","link":"<a href=\"Session.html#stopRecording\">stopRecording</a>","description":"Stop recording"},{"title":"Session#toggleHold","link":"<a href=\"Session.html#toggleHold\">toggleHold</a>","description":"Toggle call hold"},{"title":"Session#toggleMute","link":"<a href=\"Session.html#toggleMute\">toggleMute</a>","description":"Toggle microphone mute state"},{"title":"Session#toggleRecording","link":"<a href=\"Session.html#toggleRecording\">toggleRecording</a>","description":"Toogle recording ON/OFF"},{"title":"Session#transfer","link":"<a href=\"Session.html#transfer\">transfer</a>","description":"Transfer call to another session (attended transfer)"},{"title":"Session#unhold","link":"<a href=\"Session.html#unhold\">unhold</a>","description":"Unhold call"},{"title":"Session#unmuteMic","link":"<a href=\"Session.html#unmuteMic\">unmuteMic</a>","description":"Unmute microphone"},{"title":"Session#uuid","link":"<a href=\"Session.html#uuid\">uuid</a>","description":"Return UUID of call"},{"title":"UnableToConnect","link":"<a href=\"UnableToConnect.html\">UnableToConnect</a>"},{"title":"event:callDataInfo","link":"<a href=\"global.html#event:callDataInfo\">callDataInfo</a>"},{"title":"event:callDurationUpdate","link":"<a href=\"global.html#event:callDurationUpdate\">callDurationUpdate</a>"},{"title":"event:callEnded","link":"<a href=\"global.html#event:callEnded\">callEnded</a>"},{"title":"event:callQualityReportUpdate","link":"<a href=\"global.html#event:callQualityReportUpdate\">callQualityReportUpdate</a>","description":"Contains information about call quality (fires in interval of 5 sec).\nPayload contains \"total\" (metrics for whole session) and \"delta\" (metrics last 5 secs)."},{"title":"event:connectionStateChange","link":"<a href=\"global.html#event:connectionStateChange\">connectionStateChange</a>"},{"title":"event:holdStateChange","link":"<a href=\"global.html#event:holdStateChange\">holdStateChange</a>"},{"title":"event:incomingCall","link":"<a href=\"global.html#event:incomingCall\">incomingCall</a>"},{"title":"event:muteStateChange","link":"<a href=\"global.html#event:muteStateChange\">muteStateChange</a>"},{"title":"event:recordingStateChange","link":"<a href=\"global.html#event:recordingStateChange\">recordingStateChange</a>"},{"title":"event:sessionCreated","link":"<a href=\"global.html#event:sessionCreated\">sessionCreated</a>"},{"title":"event:sessionRemoved","link":"<a href=\"global.html#event:sessionRemoved\">sessionRemoved</a>"},{"title":"event:sessionStateChange","link":"<a href=\"global.html#event:sessionStateChange\">sessionStateChange</a>"},{"title":"event:whisperModeChange","link":"<a href=\"global.html#event:whisperModeChange\">whisperModeChange</a>"}]}
|