@telegenta/webclient 3.0.1 → 3.1.1

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/docs/global.html CHANGED
@@ -1,10 +1,10 @@
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>Global</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><article><div class="container-overview"></div><h2 id="type-definitions" class="subsection-title has-anchor">Type Definitions</h2><h3 class="name has-anchor" id="CALL_DIRECTION">CALL_DIRECTION</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>INBOUND</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Incoming call</td></tr><tr><td class="name"><code>OUTBOUND</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Outgoing call</td></tr><tr><td class="name"><code>TRANSFER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Transferred call</td></tr><tr><td class="name"><code>LOCAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Local call</td></tr><tr><td class="name"><code>AUTOMATED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call triggered from api / server</td></tr><tr><td class="name"><code>LISTEN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Listen 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#line2005">line 2005</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CALL_DISPOSITION">CALL_DISPOSITION</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>BUSY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Number was busy</td></tr><tr><td class="name"><code>INVALID_NUMBER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Number call does not exist</td></tr><tr><td class="name"><code>NO_ANSWER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call was not picked up before cancelling</td></tr><tr><td class="name"><code>TEMP_UNAVAIL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Remote is temporarily unavailable</td></tr><tr><td class="name"><code>NORMAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call was terminated normally</td></tr><tr><td class="name"><code>FAILED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">There was a failure connecting the call</td></tr><tr><td class="name"><code>BARRED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call was prohibited by server</td></tr><tr><td class="name"><code>REJECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Incoming call was rejected</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#line2015">line 2015</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CONNECTION_STATE">CONNECTION_STATE</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>CONNECTING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Connecting to server</td></tr><tr><td class="name"><code>CONNECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Connected to server</td></tr><tr><td class="name"><code>DISCONNECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Disconnected from server</td></tr><tr><td class="name"><code>REGISTERED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Registered on server</td></tr><tr><td class="name"><code>UNREGISTERED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">De-registered from server</td></tr><tr><td class="name"><code>REGISTRATION_FAILED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Registration failed</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#line769">line 769</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="LOGLVL">LOGLVL</h3><div class="description">Log levels</div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">number</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">0 Error messages</td></tr><tr><td class="name"><code>WARN</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">1 Warning meesages</td></tr><tr><td class="name"><code>INFO</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">2 Informational messages (default)</td></tr><tr><td class="name"><code>DEBUG</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">3 Debug messages</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="logger.js.html">logger.js</a>, <a href="logger.js.html#line83">line 83</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="SESSION_STATE">SESSION_STATE</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>INITIALIZING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Session is initializing (Gather ICE candidates)</td></tr><tr><td class="name"><code>CALLING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Sending INVITE to server</td></tr><tr><td class="name"><code>PROGRESS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call progress received ('event.code' has new progress status)</td></tr><tr><td class="name"><code>ACTIVE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call is active (answered)</td></tr><tr><td class="name"><code>TERMINATED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call ended</td></tr><tr><td class="name"><code>FAILED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call failed (see 'event.cause' for more info)</td></tr><tr><td class="name"><code>ON_HOLD</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call is on-hold</td></tr><tr><td class="name"><code>INCOMING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Incoming call is waiting</td></tr><tr><td class="name"><code>PLAYBACK</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Playback with pending hangup in progress</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#line1907">line 1907</a></li></ul></dd></div></dl><h2 id="events" class="subsection-title has-anchor">Events</h2><h3 class="name has-anchor" id="event:callDataInfo">callDataInfo</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>direction</code></td><td class="type"><span class="param-type"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></span></td><td class="description last">Call direction</td></tr><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="description last">The final call disposition</td></tr><tr><td class="name"><code>originatingNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Caller ID number (a-number) used for call</td></tr><tr><td class="name"><code>destinationNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Destination number (b-number) used for call</td></tr><tr><td class="name"><code>startTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Start time of call</td></tr><tr><td class="name"><code>answerTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time call was answered</td></tr><tr><td class="name"><code>endTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">End time of call</td></tr><tr><td class="name"><code>duration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Total duration of the call (including call setup and remote answer time) (millisec)</td></tr><tr><td class="name"><code>durationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Total duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>answerDuration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Time before call was answered (millisec)</td></tr><tr><td class="name"><code>answerDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Time before call was answered formatted as (mm:ss)</td></tr><tr><td class="name"><code>activeDuration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Active duration of the call (time spend talking) (millisec)</td></tr><tr><td class="name"><code>activeDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Active duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>rateDestinationId</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Rate destination id</td></tr><tr><td class="name"><code>rateDestinationStr</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Rate destination name</td></tr><tr><td class="name"><code>rateDestinationCost</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Rate destination cost / minute</td></tr><tr><td class="name"><code>callConnectFee</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Call attempt/connect cost</td></tr><tr><td class="name"><code>effectiveCidId</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Phone number id used as a-number for call</td></tr><tr><td class="name"><code>effectiveCidNumberStr</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Phone number used as a-number for call</td></tr><tr><td class="name"><code>effectiveCidNameStr</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Phone number name used as a-number for call</td></tr><tr><td class="name"><code>callPrivacy</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">Call privacy used for call (number hidden)</td></tr><tr><td class="name"><code>hangupCauseQ850</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Q.850 hangup cause code</td></tr><tr><td class="name"><code>recordings</code></td><td class="type"><span class="param-type">Array.&lt;Object></span></td><td class="description last">List of recordings done for this call<h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>startTime</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Time recording was started</td></tr><tr><td class="name"><code>length</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Recording length in milliseconds</td></tr><tr><td class="name"><code>size</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Recording size (bytes)</td></tr><tr><td class="name"><code>urlPlayer</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">URL for recording with player</td></tr><tr><td class="name"><code>url</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">URL for recording without player</td></tr><tr><td class="name"><code>retentionDate</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Date recording will be automatically deleted</td></tr></tbody></table></td></tr></tbody></table></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">uuid</span></td><td class="description last">Customer Call UUID for 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#line810">line 810</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:callDurationUpdate">callDurationUpdate</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">String</span></td><td class="description last">UUID of session</td></tr><tr><td class="name"><code>beginTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time session was created</td></tr><tr><td class="name"><code>answerTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time session was answered</td></tr><tr><td class="name"><code>duration</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">The total duration of the session</td></tr><tr><td class="name"><code>durationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">The duration of the session string formated (mm:ss)</td></tr><tr><td class="name"><code>activeDuration</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">The active duration of the session</td></tr><tr><td class="name"><code>activeDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">The active duration of the session string formated (mm:ss)</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#line1689">line 1689</a></li></ul></dd></div></dl><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Example</strong><div class="rel"><pre class="prettyprint"><code>// Update duration text on screen
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><article><div class="container-overview"></div><h2 id="type-definitions" class="subsection-title has-anchor">Type Definitions</h2><h3 class="name has-anchor" id="CALL_DIRECTION">CALL_DIRECTION</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>INBOUND</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Incoming call</td></tr><tr><td class="name"><code>OUTBOUND</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Outgoing call</td></tr><tr><td class="name"><code>TRANSFER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Transferred call</td></tr><tr><td class="name"><code>LOCAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Local call</td></tr><tr><td class="name"><code>AUTOMATED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call triggered from api / server</td></tr><tr><td class="name"><code>LISTEN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Listen 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#line2049">line 2049</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CALL_DISPOSITION">CALL_DISPOSITION</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>BUSY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Number was busy</td></tr><tr><td class="name"><code>INVALID_NUMBER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Number call does not exist</td></tr><tr><td class="name"><code>NO_ANSWER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call was not picked up before cancelling</td></tr><tr><td class="name"><code>TEMP_UNAVAIL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Remote is temporarily unavailable</td></tr><tr><td class="name"><code>NORMAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call was terminated normally</td></tr><tr><td class="name"><code>FAILED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">There was a failure connecting the call</td></tr><tr><td class="name"><code>BARRED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call was prohibited by server</td></tr><tr><td class="name"><code>REJECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Incoming call was rejected</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#line2059">line 2059</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CONNECTION_STATE">CONNECTION_STATE</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>CONNECTING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Connecting to server</td></tr><tr><td class="name"><code>CONNECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Connected to server</td></tr><tr><td class="name"><code>DISCONNECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Disconnected from server</td></tr><tr><td class="name"><code>REGISTERED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Registered on server</td></tr><tr><td class="name"><code>UNREGISTERED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">De-registered from server</td></tr><tr><td class="name"><code>REGISTRATION_FAILED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Registration failed</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#line772">line 772</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="LOGLVL">LOGLVL</h3><div class="description">Log levels</div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">number</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">0 Error messages</td></tr><tr><td class="name"><code>WARN</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">1 Warning meesages</td></tr><tr><td class="name"><code>INFO</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">2 Informational messages (default)</td></tr><tr><td class="name"><code>DEBUG</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">3 Debug messages</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="logger.js.html">logger.js</a>, <a href="logger.js.html#line83">line 83</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="SESSION_STATE">SESSION_STATE</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>INITIALIZING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Session is initializing (Gather ICE candidates)</td></tr><tr><td class="name"><code>CALLING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Sending INVITE to server</td></tr><tr><td class="name"><code>PROGRESS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call progress received ('event.code' has new progress status)</td></tr><tr><td class="name"><code>ACTIVE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call is active (answered)</td></tr><tr><td class="name"><code>TERMINATED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call ended</td></tr><tr><td class="name"><code>FAILED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call failed (see 'event.cause' for more info)</td></tr><tr><td class="name"><code>ON_HOLD</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Call is on-hold</td></tr><tr><td class="name"><code>INCOMING</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Incoming call is waiting</td></tr><tr><td class="name"><code>PLAYBACK</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Playback with pending hangup in progress</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#line1951">line 1951</a></li></ul></dd></div></dl><h2 id="events" class="subsection-title has-anchor">Events</h2><h3 class="name has-anchor" id="event:callDataInfo">callDataInfo</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>direction</code></td><td class="type"><span class="param-type"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></span></td><td class="description last">Call direction</td></tr><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="description last">The final call disposition</td></tr><tr><td class="name"><code>originatingNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Caller ID number (a-number) used for call</td></tr><tr><td class="name"><code>destinationNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Destination number (b-number) used for call</td></tr><tr><td class="name"><code>startTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Start time of call</td></tr><tr><td class="name"><code>answerTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time call was answered</td></tr><tr><td class="name"><code>endTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">End time of call</td></tr><tr><td class="name"><code>duration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Total duration of the call (including call setup and remote answer time) (millisec)</td></tr><tr><td class="name"><code>durationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Total duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>answerDuration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Time before call was answered (millisec)</td></tr><tr><td class="name"><code>answerDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Time before call was answered formatted as (mm:ss)</td></tr><tr><td class="name"><code>activeDuration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Active duration of the call (time spend talking) (millisec)</td></tr><tr><td class="name"><code>activeDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Active duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>rateDestinationId</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Rate destination id</td></tr><tr><td class="name"><code>rateDestinationStr</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Rate destination name</td></tr><tr><td class="name"><code>rateDestinationCost</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Rate destination cost / minute</td></tr><tr><td class="name"><code>callConnectFee</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Call attempt/connect cost</td></tr><tr><td class="name"><code>effectiveCidId</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Phone number id used as a-number for call</td></tr><tr><td class="name"><code>effectiveCidNumberStr</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Phone number used as a-number for call</td></tr><tr><td class="name"><code>effectiveCidNameStr</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Phone number name used as a-number for call</td></tr><tr><td class="name"><code>callPrivacy</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">Call privacy used for call (number hidden)</td></tr><tr><td class="name"><code>hangupCauseQ850</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Q.850 hangup cause code</td></tr><tr><td class="name"><code>recordings</code></td><td class="type"><span class="param-type">Array.&lt;Object></span></td><td class="description last">List of recordings done for this call<h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>startTime</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Time recording was started</td></tr><tr><td class="name"><code>length</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Recording length in milliseconds</td></tr><tr><td class="name"><code>size</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Recording size (bytes)</td></tr><tr><td class="name"><code>urlPlayer</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">URL for recording with player</td></tr><tr><td class="name"><code>url</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">URL for recording without player</td></tr><tr><td class="name"><code>retentionDate</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Date recording will be automatically deleted</td></tr></tbody></table></td></tr></tbody></table></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">uuid</span></td><td class="description last">Customer Call UUID for 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#line813">line 813</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:callDurationUpdate">callDurationUpdate</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">String</span></td><td class="description last">UUID of session</td></tr><tr><td class="name"><code>beginTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time session was created</td></tr><tr><td class="name"><code>answerTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time session was answered</td></tr><tr><td class="name"><code>duration</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">The total duration of the session</td></tr><tr><td class="name"><code>durationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">The duration of the session string formated (mm:ss)</td></tr><tr><td class="name"><code>activeDuration</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">The active duration of the session</td></tr><tr><td class="name"><code>activeDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">The active duration of the session string formated (mm:ss)</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#line1733">line 1733</a></li></ul></dd></div></dl><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Example</strong><div class="rel"><pre class="prettyprint"><code>// Update duration text on screen
4
4
  session.on('callDurationUpdate', function (event) {
5
5
  document.getElementById('duration').textContent = event.durationStr;
6
- });</code></pre></div></div><h3 class="name has-anchor" id="event:callEnded">callEnded</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>direction</code></td><td class="type"><span class="param-type"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></span></td><td class="description last">Call direction</td></tr><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="description last">The final call disposition</td></tr><tr><td class="name"><code>originatingNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Caller ID number (a-number) used for call</td></tr><tr><td class="name"><code>destinationNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Destination number (b-number) used for call</td></tr><tr><td class="name"><code>startTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Start time of call</td></tr><tr><td class="name"><code>answerTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time call was answered</td></tr><tr><td class="name"><code>endTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">End time of call</td></tr><tr><td class="name"><code>duration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Total duration of the call (including call setup and remote answer time) (millisec)</td></tr><tr><td class="name"><code>durationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Total duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>answerDuration</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Time before call was answered (millisec)</td></tr><tr><td class="name"><code>answerDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Time before call was answered formatted as (mm:ss)</td></tr><tr><td class="name"><code>activeDuration</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Active duration of the call (time spend talking) (millisec)</td></tr><tr><td class="name"><code>activeDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Active duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>callQualityReport</code></td><td class="type"><span class="param-type">object</span></td><td class="description last">Call quality report (see callQualityReportUpdate event for details)</td></tr></tbody></table></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">uuid</span></td><td class="description last">Customer Call UUID for 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#line2106">line 2106</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:callQualityReportUpdate">callQualityReportUpdate</h3><div class="description">Contains information about call quality (fires in interval of 5 sec). Payload contains "total" (metrics for whole session) and "delta" (metrics last 5 secs).</div><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">String</span></td><td class="description last">UUID of session</td></tr><tr><td class="name"><code>outboundPacketsSent</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets sent</td></tr><tr><td class="name"><code>outboundBytesSent</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of bytes sent</td></tr><tr><td class="name"><code>outboundPacketsLost</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets lost to remote</td></tr><tr><td class="name"><code>outboundPacketLossPct</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Percentage of outbound packets lost</td></tr><tr><td class="name"><code>outboundJitter</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Network jitter to remote (ms)</td></tr><tr><td class="name"><code>inboundPacketsReceived</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets received</td></tr><tr><td class="name"><code>inboundBytesReceived</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of bytes received</td></tr><tr><td class="name"><code>inboundPacketsLost</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets lost from remote</td></tr><tr><td class="name"><code>inboundPacketLossPct</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Percentage of inbound packets lost</td></tr><tr><td class="name"><code>inboundJitter</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Network jitter from remote (ms)</td></tr><tr><td class="name"><code>roundTripTime</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Latency in ms to media gateway</td></tr><tr><td class="name"><code>effectiveLatency</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Effective latency with combined jitter impact</td></tr><tr><td class="name"><code>rFactor</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Quality of media stream (0 - 100%)</td></tr><tr><td class="name"><code>mos</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Synthetic MOS</td></tr><tr><td class="name"><code>qualityString</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Quality string [Excellent, Good, Fair, Poor, Bad]</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#line1733">line 1733</a></li></ul></dd></div></dl><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Example</strong><div class="rel"><pre class="prettyprint"><code>// Update call quality text on screen
6
+ });</code></pre></div></div><h3 class="name has-anchor" id="event:callEnded">callEnded</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>direction</code></td><td class="type"><span class="param-type"><a href="global.html#CALL_DIRECTION">CALL_DIRECTION</a></span></td><td class="description last">Call direction</td></tr><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="description last">The final call disposition</td></tr><tr><td class="name"><code>originatingNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Caller ID number (a-number) used for call</td></tr><tr><td class="name"><code>destinationNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Destination number (b-number) used for call</td></tr><tr><td class="name"><code>startTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Start time of call</td></tr><tr><td class="name"><code>answerTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">Time call was answered</td></tr><tr><td class="name"><code>endTime</code></td><td class="type"><span class="param-type">Date</span></td><td class="description last">End time of call</td></tr><tr><td class="name"><code>duration</code></td><td class="type"><span class="param-type">number</span></td><td class="description last">Total duration of the call (including call setup and remote answer time) (millisec)</td></tr><tr><td class="name"><code>durationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Total duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>answerDuration</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Time before call was answered (millisec)</td></tr><tr><td class="name"><code>answerDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Time before call was answered formatted as (mm:ss)</td></tr><tr><td class="name"><code>activeDuration</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Active duration of the call (time spend talking) (millisec)</td></tr><tr><td class="name"><code>activeDurationStr</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Active duration of the call formatted as (mm:ss)</td></tr><tr><td class="name"><code>callQualityReport</code></td><td class="type"><span class="param-type">object</span></td><td class="description last">Call quality report (see callQualityReportUpdate event for details)</td></tr></tbody></table></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">uuid</span></td><td class="description last">Customer Call UUID for 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#line2150">line 2150</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:callQualityReportUpdate">callQualityReportUpdate</h3><div class="description">Contains information about call quality (fires in interval of 5 sec). Payload contains "total" (metrics for whole session) and "delta" (metrics last 5 secs).</div><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><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"><span class="param-type">String</span></td><td class="description last">UUID of session</td></tr><tr><td class="name"><code>outboundPacketsSent</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets sent</td></tr><tr><td class="name"><code>outboundBytesSent</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of bytes sent</td></tr><tr><td class="name"><code>outboundPacketsLost</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets lost to remote</td></tr><tr><td class="name"><code>outboundPacketLossPct</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Percentage of outbound packets lost</td></tr><tr><td class="name"><code>outboundJitter</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Network jitter to remote (ms)</td></tr><tr><td class="name"><code>inboundPacketsReceived</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets received</td></tr><tr><td class="name"><code>inboundBytesReceived</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of bytes received</td></tr><tr><td class="name"><code>inboundPacketsLost</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Number of packets lost from remote</td></tr><tr><td class="name"><code>inboundPacketLossPct</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Percentage of inbound packets lost</td></tr><tr><td class="name"><code>inboundJitter</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Network jitter from remote (ms)</td></tr><tr><td class="name"><code>roundTripTime</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Latency in ms to media gateway</td></tr><tr><td class="name"><code>effectiveLatency</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Effective latency with combined jitter impact</td></tr><tr><td class="name"><code>rFactor</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Quality of media stream (0 - 100%)</td></tr><tr><td class="name"><code>mos</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last">Synthetic MOS</td></tr><tr><td class="name"><code>qualityString</code></td><td class="type"><span class="param-type">String</span></td><td class="description last">Quality string [Excellent, Good, Fair, Poor, Bad]</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#line1777">line 1777</a></li></ul></dd></div></dl><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Example</strong><div class="rel"><pre class="prettyprint"><code>// Update call quality text on screen
7
7
  session.on('callQualityReportUpdate', (report) => {
8
8
  document.getElementById('quality_text').textContent = report.delta.qualityString;
9
9
  document.getElementById('latency').textContent = report.delta.effectiveLatency;
10
- });</code></pre></div></div><h3 class="name has-anchor" id="event:connectionStateChange">connectionStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>state</code></td><td class="type"><span class="param-type"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></span></td><td class="description last">The current connection state</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#line780">line 780</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:holdStateChange">holdStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>state</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">New hold state</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#line2078">line 2078</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:incomingCall">incomingCall</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>session</code></td><td class="type"><span class="param-type"><a href="Session.html">Session</a></span></td><td class="description last">New incoming 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#line795">line 795</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:muteStateChange">muteStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>state</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">Mute state (true = muted / false = unmuted)</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#line2064">line 2064</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:recordingStateChange">recordingStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>state</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">New recording state</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#line2050">line 2050</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:sessionCreated">sessionCreated</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>session</code></td><td class="type"><span class="param-type">session</span></td><td class="description last">New session created</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#line695">line 695</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:sessionRemoved">sessionRemoved</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>session</code></td><td class="type"><span class="param-type">session</span></td><td class="description last">Session removed</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#line719">line 719</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:sessionStateChange">sessionStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>state</code></td><td class="type"><span class="param-type"><a href="global.html#SESSION_STATE">SESSION_STATE</a></span></td><td class="description last">The current session state</td></tr><tr><td class="name"><code>uuid</code></td><td class="type"><span class="param-type">uuid</span></td><td class="description last">Call UUID for session</td></tr><tr><td class="name"><code>originName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Originating name of call [INCOMING only]</td></tr><tr><td class="name"><code>originatingNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Originating phone number of call [INCOMING only]</td></tr><tr><td class="name"><code>destinationNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Destination number of call</td></tr><tr><td class="name"><code>cause</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Fail cause [FAILED only]</td></tr><tr><td class="name"><code>message</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Fail message description [FAILED only]</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#line1922">line 1922</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:whisperModeChange">whisperModeChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mode</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">New whisper mode (0 = No whisper / 1 = Local only / 2 = Three way)</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#line2092">line 2092</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>
10
+ });</code></pre></div></div><h3 class="name has-anchor" id="event:connectionStateChange">connectionStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>state</code></td><td class="type"><span class="param-type"><a href="global.html#CONNECTION_STATE">CONNECTION_STATE</a></span></td><td class="description last">The current connection state</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#line783">line 783</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:holdStateChange">holdStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>state</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">New hold state</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#line2122">line 2122</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:incomingCall">incomingCall</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>session</code></td><td class="type"><span class="param-type"><a href="Session.html">Session</a></span></td><td class="description last">New incoming 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#line798">line 798</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:muteStateChange">muteStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>state</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">Mute state (true = muted / false = unmuted)</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#line2108">line 2108</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:recordingStateChange">recordingStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>state</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">New recording state</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#line2094">line 2094</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:sessionCreated">sessionCreated</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>session</code></td><td class="type"><span class="param-type">session</span></td><td class="description last">New session created</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#line698">line 698</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:sessionRemoved">sessionRemoved</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>session</code></td><td class="type"><span class="param-type">session</span></td><td class="description last">Session removed</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#line722">line 722</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:sessionStateChange">sessionStateChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></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>state</code></td><td class="type"><span class="param-type"><a href="global.html#SESSION_STATE">SESSION_STATE</a></span></td><td class="description last">The current session state</td></tr><tr><td class="name"><code>uuid</code></td><td class="type"><span class="param-type">uuid</span></td><td class="description last">Call UUID for session</td></tr><tr><td class="name"><code>originName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Originating name of call [INCOMING only]</td></tr><tr><td class="name"><code>originatingNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Originating phone number of call [INCOMING only]</td></tr><tr><td class="name"><code>destinationNumber</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Destination number of call</td></tr><tr><td class="name"><code>cause</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Fail cause [FAILED only]</td></tr><tr><td class="name"><code>message</code></td><td class="type"><span class="param-type">string</span></td><td class="description last">Fail message description [FAILED only]</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#line1966">line 1966</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="event:whisperModeChange">whisperModeChange</h3><div class="method-member-container mt-20"><strong>Type:</strong><ul><li><span class="param-type">object</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mode</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last">New whisper mode (0 = No whisper / 1 = Local only / 2 = Three way)</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#line2136">line 2136</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>
@@ -11,7 +11,7 @@ import camelcaseKeys from 'camelcase-keys';
11
11
 
12
12
  const options = {
13
13
  wssServer: 'wss://api.telegenta.com/sip/',
14
- eventServer: 'wss://api.telegenta.com/es/',
14
+ eventServer: 'wss://esvc.telegenta.com/',
15
15
  provisionToken: null,
16
16
  authorizationUsername: null,
17
17
  password: null,
@@ -420,9 +420,11 @@ export class Phone extends EventEmitter {
420
420
  * @param {number} [params.answerCallTimeout=0] Hangup call with NO ANSWER if call is not picked up before specified interval (seconds). If 0, timeout is disabled.
421
421
  * @param {number} [params.maximumCallCost] 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.
422
422
  * @param {string} [params.metaInfo] Add meta info to call, which will be available in server events and inside call complete webhook (max 256 chars)
423
+ * @param {object} [params.setHeader] Custom SIP headers to add to the INVITE, as {name: value}.
423
424
  * @return {Session} object for call
424
425
  * @throws NotReady - If phone is not ready to call
425
426
  * @throws NotAllowed - If there are calls currently connecting
427
+ * @throws InvalidParameter - If setHeader contains an invalid header name or container
426
428
  *
427
429
  */
428
430
  call(number, params = {}) {
@@ -447,6 +449,7 @@ export class Phone extends EventEmitter {
447
449
  explicitCallerId: null,
448
450
  explicitShortCallerId: null,
449
451
  metaInfo: null,
452
+ setHeader: null,
450
453
  _isListenCall: false,
451
454
  },
452
455
  params,
@@ -1002,6 +1005,23 @@ export class Session extends EventEmitter {
1002
1005
  }
1003
1006
  }
1004
1007
 
1008
+ // Custom headers last, so they cannot displace the built-in ones.
1009
+ // Must be before _UA.call() below: jssip clones extraHeaders synchronously
1010
+ // inside connect(), so anything pushed after that call never reaches the INVITE.
1011
+ let customHeaders;
1012
+ try {
1013
+ customHeaders = Tools.buildCustomHeaders(callParams.setHeader);
1014
+ } catch (error) {
1015
+ if (error instanceof TypeError) {
1016
+ throw new Exceptions.InvalidParameter(error.message);
1017
+ }
1018
+ throw error;
1019
+ }
1020
+ for (const header of customHeaders) {
1021
+ this.log.debug('Adding custom header: ' + header);
1022
+ options.extraHeaders.push(header);
1023
+ }
1024
+
1005
1025
  // Prepare invite uri
1006
1026
  const uri = 'sip:' + number + '@telegenta.com';
1007
1027
 
@@ -1374,6 +1394,30 @@ export class Session extends EventEmitter {
1374
1394
  }
1375
1395
  }
1376
1396
 
1397
+ /**
1398
+ * Raw WebRTC statistics for this session's peer connection.
1399
+ *
1400
+ * Returns the browser's own `RTCStatsReport` untouched, so callers can read
1401
+ * any statistic the browser exposes - RTP packet and byte counters, the
1402
+ * DTLS/ICE transport state, codec and candidate-pair details.
1403
+ *
1404
+ * @returns {Promise&lt;RTCStatsReport>} The peer connection's statistics
1405
+ * @throws NoActiveSession - If the session has no established peer connection
1406
+ * (thrown synchronously, before the promise is created)
1407
+ *
1408
+ * @example
1409
+ * const report = await session.getRTCStats();
1410
+ * for (const stat of report.values()) {
1411
+ * if (stat.type === 'inbound-rtp') console.log(stat.packetsReceived);
1412
+ * }
1413
+ */
1414
+ getRTCStats() {
1415
+ if (!this._webRTCSession || !this._webRTCSession.connection) {
1416
+ throw new Exceptions.NoActiveSession('no peer connection for this session');
1417
+ }
1418
+ return this._webRTCSession.connection.getStats();
1419
+ }
1420
+
1377
1421
  // RECORDING
1378
1422
  /**
1379
1423
  * Start recording
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telegenta/webclient",
3
- "version": "3.0.1",
3
+ "version": "3.1.1",
4
4
  "type": "module",
5
5
  "description": "Webphone and event client library",
6
6
  "main": "dist/telegenta.js",
@@ -9,7 +9,7 @@
9
9
  "watch-docs": "rimraf docs && watch 'npm run build-docs'",
10
10
  "build-docs": "rimraf docs && npx jsdoc -c jsdoc.conf.json",
11
11
  "deploy-docs": "aws s3 cp docs/ s3://www.telegenta.com/docs/client-lib/$npm_package_version --recursive --profile telegenta && aws cloudfront --profile telegenta create-invalidation --distribution-id E1A9LQ3WGY7RF9 --paths /docs/*",
12
- "test": "echo \"Error: no test specified\" && exit 1",
12
+ "test": "node --test",
13
13
  "deploy-demos": "aws s3 cp demos/ s3://www.telegenta.com/demos/ --recursive --profile telegenta && aws cloudfront --profile telegenta create-invalidation --distribution-id E1A9LQ3WGY7RF9 --paths /demos/* ",
14
14
  "build": "rimraf dist && rollup -c",
15
15
  "dev": "rollup -c -w"