���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /proc/self/root/usr/local/FlashphonerWebCallServer/client2/doc/ |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Namespace: Flashphoner</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Namespace: Flashphoner</h1> <section> <header> <h2>Flashphoner</h2> </header> <article> <div class="container-overview"> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line14">line 14</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <h4 class="name" id=".createSession"><span class="type-signature">(static) </span>createSession<span class="signature">(options)</span><span class="type-signature"> → {<a href="Session.html">Session</a>}</span></h4> <div class="description"> Create new session and connect to server. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>options</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last">Session options <h6>Properties</h6> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>urlServer</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last">Server address in form of [ws,wss]://host.domain:port</td> </tr> <tr> <td class="name"><code>authToken</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last">Token for auth on server with keepalived client</td> </tr> <tr> <td class="name"><code>keepAlive</code></td> <td class="type"> <span class="param-type">Boolean</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Keep alive client on server after disconnect</td> </tr> <tr> <td class="name"><code>lbUrl</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Load-balancer address</td> </tr> <tr> <td class="name"><code>flashProto</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Flash protocol [rtmp,rtmfp]</td> </tr> <tr> <td class="name"><code>flashPort</code></td> <td class="type"> <span class="param-type">Integer</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Flash server port [1935]</td> </tr> <tr> <td class="name"><code>appKey</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">REST App key</td> </tr> <tr> <td class="name"><code>custom</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">User provided custom object that will be available in REST App code</td> </tr> <tr> <td class="name"><code>sipOptions</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Sip configuration</td> </tr> <tr> <td class="name"><code>mediaOptions</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Media connection configuration</td> </tr> <tr> <td class="name"><code>timeout</code></td> <td class="type"> <span class="param-type">Integer</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Connection timeout in milliseconds</td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line411">line 411</a> </li></ul></dd> </dl> <h5>Throws:</h5> <ul> <li> <dl> <dt> <div class="param-desc"> Error if API is not initialized </div> </dt> <dd></dd> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> <dd></dd> </dl> </li> <li> <dl> <dt> <div class="param-desc"> Error if options.urlServer is not specified </div> </dt> <dd></dd> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">TypeError</span> </dd> </dl> </dt> <dd></dd> </dl> </li> </ul> <h5>Returns:</h5> <div class="param-desc"> Created session </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="Session.html">Session</a></span> </dd> </dl> <h4 class="name" id=".getLogger"><span class="type-signature">(static) </span>getLogger<span class="signature">()</span><span class="type-signature"> → {Object}</span></h4> <div class="description"> Get logger </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line228">line 228</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Logger </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Object</span> </dd> </dl> <h4 class="name" id=".getMediaAccess"><span class="type-signature">(static) </span>getMediaAccess<span class="signature">(constraints, display, mediaProvider, disableConstraintsNormalization)</span><span class="type-signature"> → {Promise.<HTMLElement>}</span></h4> <div class="description"> Get access to local media </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>constraints</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last">Media constraints <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>audio</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last">Audio constraints <h6>Properties</h6> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>deviceId</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Audio device id</td> </tr> </tbody> </table> </td> </tr> <tr> <td class="name"><code>video</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last">Video constraints <h6>Properties</h6> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>deviceId</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Video device id</td> </tr> <tr> <td class="name"><code>width</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last">Video width</td> </tr> <tr> <td class="name"><code>height</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last">Video height</td> </tr> <tr> <td class="name"><code>frameRate</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last">Video fps</td> </tr> <tr> <td class="name"><code>type</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> </td> <td class="description last">Video device type: camera, screen</td> </tr> <tr> <td class="name"><code>mediaSource</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> </td> <td class="description last">Video source type for FF: screen, window</td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> <tr> <td class="name"><code>display</code></td> <td class="type"> <span class="param-type">HTMLElement</span> </td> <td class="description last">Div element local media should be displayed in</td> </tr> <tr> <td class="name"><code>mediaProvider</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last">Media provider type</td> </tr> <tr> <td class="name"><code>disableConstraintsNormalization</code></td> <td class="type"> <span class="param-type">Boolean</span> </td> <td class="description last">Disable constraints normalization</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line299">line 299</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> Error if API is not initialized </div> </dt> <dd></dd> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> <dd></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Promise with display on fulfill </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise.<HTMLElement></span> </dd> </dl> <h4 class="name" id=".getMediaDevices"><span class="type-signature">(static) </span>getMediaDevices<span class="signature">(mediaProvider<span class="signature-attributes">opt</span>, labels<span class="signature-attributes">opt</span>, kind, deviceConstraints<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<<a href="Flashphoner.html#.MediaDeviceList">Flashphoner.MediaDeviceList</a>>}</span></h4> <div class="description"> Get available local media devices </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>mediaProvider</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Media provider that will be asked for device list</td> </tr> <tr> <td class="name"><code>labels</code></td> <td class="type"> <span class="param-type">Boolean</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Ask user for microphone access before getting device list. This will make device label available.</td> </tr> <tr> <td class="name"><code>kind</code></td> <td class="type"> <span class="param-type">Flashphoner.constants.MEDIA_DEVICE_KIND</span> </td> <td class="attributes"> </td> <td class="description last">Media devices kind to access: MEDIA_DEVICE_KIND.INPUT (default) get access to input devices only (camera, mic). MEDIA_DEVICE_KIND.OUTPUT get access to output devices only (speaker, headphone). MEDIA_DEVICE_KIND.ALL get access to all devices (cam, mic, speaker, headphone).</td> </tr> <tr> <td class="name"><code>deviceConstraints</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">If labels == true. If {audio: true, video: false}, then access to the camera will not be requested. If {audio: false, video: true}, then access to the microphone will not be requested.</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line268">line 268</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> Error if API is not initialized </div> </dt> <dd></dd> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> <dd></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Promise with media device list on fulfill </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise.<<a href="Flashphoner.html#.MediaDeviceList">Flashphoner.MediaDeviceList</a>></span> </dd> </dl> <h4 class="name" id=".getMediaProviders"><span class="type-signature">(static) </span>getMediaProviders<span class="signature">()</span><span class="type-signature"> → {Array}</span></h4> <div class="description"> Get available MediaProviders. </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line195">line 195</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Available MediaProviders </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Array</span> </dd> </dl> <h4 class="name" id=".getSession"><span class="type-signature">(static) </span>getSession<span class="signature">(id)</span><span class="type-signature"> → {<a href="Session.html">Session</a>}</span></h4> <div class="description"> Get session by id. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>id</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last">Session id</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line387">line 387</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Session </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="Session.html">Session</a></span> </dd> </dl> <h4 class="name" id=".getSessions"><span class="type-signature">(static) </span>getSessions<span class="signature">()</span><span class="type-signature"> → {Array.<<a href="Session.html">Session</a>>}</span></h4> <div class="description"> Get active sessions. </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line376">line 376</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Array containing active sessions </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Array.<<a href="Session.html">Session</a>></span> </dd> </dl> <h4 class="name" id=".init"><span class="type-signature">(static) </span>init<span class="signature">(options)</span><span class="type-signature"></span></h4> <div class="description"> Static initializer. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>options</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last">Global api options <h6>Properties</h6> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>mediaProvidersReadyCallback</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Callback of initialized WebRTC Plugin</td> </tr> <tr> <td class="name"><code>flashMediaProviderSwfLocation</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Location of media-provider.swf file</td> </tr> <tr> <td class="name"><code>preferredMediaProvider</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">DEPRECATED: Use preferred media provider if available</td> </tr> <tr> <td class="name"><code>preferredMediaProviders</code></td> <td class="type"> <span class="param-type">Array</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Use preferred media providers order</td> </tr> <tr> <td class="name"><code>receiverLocation</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Location of WSReceiver.js file</td> </tr> <tr> <td class="name"><code>decoderLocation</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Location of video-worker2.js file</td> </tr> <tr> <td class="name"><code>screenSharingExtensionId</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Chrome screen sharing extension id</td> </tr> <tr> <td class="name"><code>constraints</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Default local media constraints</td> </tr> <tr> <td class="name"><code>logger</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Enable logging</td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line53">line 53</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> Error if none of MediaProviders available </div> </dt> <dd></dd> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> <dd></dd> </dl> <h4 class="name" id=".playFirstSound"><span class="type-signature">(static) </span>playFirstSound<span class="signature">(noise)</span><span class="type-signature"></span></h4> <div class="description"> Play audio chunk </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>noise</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last">Use noise in playing</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line205">line 205</a> </li></ul></dd> </dl> <h4 class="name" id=".playFirstVideo"><span class="type-signature">(static) </span>playFirstVideo<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Play video chunk </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line215">line 215</a> </li></ul></dd> </dl> <h4 class="name" id=".releaseLocalMedia"><span class="type-signature">(static) </span>releaseLocalMedia<span class="signature">(display, mediaProvider<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Boolean}</span></h4> <div class="description"> Release local media </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>display</code></td> <td class="type"> <span class="param-type">HTMLElement</span> </td> <td class="attributes"> </td> <td class="description last">Div element with local media</td> </tr> <tr> <td class="name"><code>mediaProvider</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last">Media provider type</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line360">line 360</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> Error if API is not initialized </div> </dt> <dd></dd> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> <dd></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> True if media was found and released </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Boolean</span> </dd> </dl> <h3 class="subsection-title">Type Definitions</h3> <h4 class="name" id=".MediaDevice">MediaDevice</h4> <h5>Type:</h5> <ul> <li> <span class="param-type">Object</span> </li> </ul> <h5 class="subsection-title">Properties:</h5> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>type</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last">Type of device: mic, camera, screen</td> </tr> <tr> <td class="name"><code>id</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last">Unique id</td> </tr> <tr> <td class="name"><code>label</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last">Device label</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line243">line 243</a> </li></ul></dd> </dl> <h4 class="name" id=".MediaDeviceList">MediaDeviceList</h4> <h5>Type:</h5> <ul> <li> <span class="param-type">Object</span> </li> </ul> <h5 class="subsection-title">Properties:</h5> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>audio</code></td> <td class="type"> <span class="param-type">Array.<<a href="Flashphoner.html#.MediaDevice">Flashphoner.MediaDevice</a>></span> </td> <td class="description last">Audio devices (microphones)</td> </tr> <tr> <td class="name"><code>video</code></td> <td class="type"> <span class="param-type">Array.<<a href="Flashphoner.html#.MediaDevice">Flashphoner.MediaDevice</a>></span> </td> <td class="description last">Video devices (cameras)</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="flashphoner-core.js.html">flashphoner-core.js</a>, <a href="flashphoner-core.js.html#line236">line 236</a> </li></ul></dd> </dl> </article> </section> </div> <nav> <h2><a href="index.html">Web SDK</a></h2><h3>Events</h3><ul><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_DTLS_ERROR">FAILED_BY_DTLS_ERROR</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_DTLS_FINGERPRINT_ERROR">FAILED_BY_DTLS_FINGERPRINT_ERROR</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_ERROR">FAILED_BY_ERROR</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_ICE_ERROR">FAILED_BY_ICE_ERROR</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_REQUEST_TIMEOUT">FAILED_BY_REQUEST_TIMEOUT</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_RTMP_WRITER_ERROR">FAILED_BY_RTMP_WRITER_ERROR</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_RTP_ACTIVITY">FAILED_BY_RTP_ACTIVITY</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:FAILED_BY_SESSION_CREATION">FAILED_BY_SESSION_CREATION</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:NO_COMMON_CODECS">NO_COMMON_CODECS</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:NORMAL_CALL_CLEARING">NORMAL_CALL_CLEARING</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html#.event:TRANSCODING_REQUIRED_BUT_DISABLED">TRANSCODING_REQUIRED_BUT_DISABLED</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:CALLBACK_NEEDS_TO_BE_A_VALID_FUNCTION">CALLBACK_NEEDS_TO_BE_A_VALID_FUNCTION</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:CAN_NOT_SWITCH_CAM">CAN_NOT_SWITCH_CAM</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:CAN_NOT_SWITCH_MIC">CAN_NOT_SWITCH_MIC</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:EVENT_CANT_BE_NULL">EVENT_CANT_BE_NULL</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:FLASHPHONER_API_NOT_INITIALIZED">FLASHPHONER_API_NOT_INITIALIZED</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:INVALID_CALL_STATE">INVALID_CALL_STATE</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:INVALID_SESSION_STATE">INVALID_SESSION_STATE</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:NONE_OF_MEDIAPROVIDERS_AVAILABLE">NONE_OF_MEDIAPROVIDERS_AVAILABLE</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:NONE_OF_PREFERRED_MEDIAPROVIDERS_AVAILABLE">NONE_OF_PREFERRED_MEDIAPROVIDERS_AVAILABLE</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:OPTIONS_MUST_BE_PROVIDED">OPTIONS_MUST_BE_PROVIDED</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:OPTIONS_NAME_MUST_BE_PROVIDED">OPTIONS_NAME_MUST_BE_PROVIDED</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html#.event:OPTIONS_URLSERVER_MUST_BE_PROVIDED">OPTIONS_URLSERVER_MUST_BE_PROVIDED</a></li><li><a href="Flashphoner.constants.NOT_ENOUGH_BANDWIDTH.html#.event:NOT_ENOUGH_BANDWIDTH">NOT_ENOUGH_BANDWIDTH</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:APP_DATA">APP_DATA</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:CONNECTED">CONNECTED</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:DEBUG">DEBUG</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:DISCONNECTED">DISCONNECTED</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:ESTABLISHED">ESTABLISHED</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:FAILED">FAILED</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:SEND_DATA_STATUS">SEND_DATA_STATUS</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html#.event:WARN">WARN</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:FAILED">FAILED</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:PAUSED">PAUSED</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:PLAYBACK_PROBLEM">PLAYBACK_PROBLEM</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:PLAYING">PLAYING</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:PUBLISHING">PUBLISHING</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:RESIZE">RESIZE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:SNAPSHOT_COMPLETE">SNAPSHOT_COMPLETE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:STOPPED">STOPPED</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html#.event:UNPUBLISHING">UNPUBLISHING</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:AGENT_SERVICING_ORIGIN_STREAM_IS_SHUTTING_DOWN">AGENT_SERVICING_ORIGIN_STREAM_IS_SHUTTING_DOWN</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:BAD_URI">BAD_URI</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:CDN_STREAM_NOT_FOUND">CDN_STREAM_NOT_FOUND</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:DISTRIBUTOR_STOPPED">DISTRIBUTOR_STOPPED</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_DTLS_ERROR">FAILED_BY_DTLS_ERROR</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_DTLS_FINGERPRINT_ERROR">FAILED_BY_DTLS_FINGERPRINT_ERROR</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_ERROR">FAILED_BY_ERROR</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_HLS_WRITER_ERROR">FAILED_BY_HLS_WRITER_ERROR</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_ICE_ERROR">FAILED_BY_ICE_ERROR</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_ICE_TIMEOUT">FAILED_BY_ICE_TIMEOUT</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_KEEP_ALIVE">FAILED_BY_KEEP_ALIVE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_RTMP_WRITER_ERROR">FAILED_BY_RTMP_WRITER_ERROR</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_BY_RTP_ACTIVITY">FAILED_BY_RTP_ACTIVITY</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_TO_ADD_STREAM_TO_PROXY">FAILED_TO_ADD_STREAM_TO_PROXY</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_TO_CONNECT_TO_ORIGIN_STREAM">FAILED_TO_CONNECT_TO_ORIGIN_STREAM</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_TO_CONNECT_TO_RTSP_STREAM">FAILED_TO_CONNECT_TO_RTSP_STREAM</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_TO_GET_AGENT_STORAGE">FAILED_TO_GET_AGENT_STORAGE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FAILED_TO_READ_FILE">FAILED_TO_READ_FILE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FILE_HAS_WRONG_FORMAT">FILE_HAS_WRONG_FORMAT</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:FILE_NOT_FOUND">FILE_NOT_FOUND</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:GOT_EXCEPTION_WHILE_STREAMING_FILE">GOT_EXCEPTION_WHILE_STREAMING_FILE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:MEDIASESSION_ID_ALREADY_IN_USE">MEDIASESSION_ID_ALREADY_IN_USE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:MEDIASESSION_ID_NULL">MEDIASESSION_ID_NULL</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:NO_COMMON_CODECS">NO_COMMON_CODECS</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:PUBLISH_STREAM_IS_NOT_READY">PUBLISH_STREAM_IS_NOT_READY</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:REQUESTED_STREAM_SHUTDOWN">REQUESTED_STREAM_SHUTDOWN</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:RESTRICTED_ACCESS">RESTRICTED_ACCESS</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:RTSP_HAS_WRONG_FORMAT">RTSP_HAS_WRONG_FORMAT</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:RTSP_STREAM_NOT_FOUND">RTSP_STREAM_NOT_FOUND</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:RTSPAGENT_SHUTDOWN">RTSPAGENT_SHUTDOWN</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:SESSION_DOES_NOT_EXIST">SESSION_DOES_NOT_EXIST</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:SESSION_NOT_READY">SESSION_NOT_READY</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STOPPED_BY_PUBLISHER_STOP">STOPPED_BY_PUBLISHER_STOP</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STOPPED_BY_REST_TERMINATE">STOPPED_BY_REST_TERMINATE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STOPPED_BY_SESSION_DISCONNECT">STOPPED_BY_SESSION_DISCONNECT</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STOPPED_BY_USER">STOPPED_BY_USER</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STREAM_FAILED">STREAM_FAILED</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STREAM_NAME_ALREADY_IN_USE">STREAM_NAME_ALREADY_IN_USE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:STREAM_NOT_FOUND">STREAM_NOT_FOUND</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:TERMINATED_BY_KEEP_ALIVE">TERMINATED_BY_KEEP_ALIVE</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html#.event:TRANSCODING_REQUIRED_BUT_DISABLED">TRANSCODING_REQUIRED_BUT_DISABLED</a></li></ul><h3>Namespaces</h3><ul><li><a href="Call.html">Call</a></li><li><a href="Flashphoner.html">Flashphoner</a></li><li><a href="Flashphoner.constants.CALL_STATUS.html">CALL_STATUS</a></li><li><a href="Flashphoner.constants.CALL_STATUS_INFO.html">CALL_STATUS_INFO</a></li><li><a href="Flashphoner.constants.ERROR_INFO.html">ERROR_INFO</a></li><li><a href="Flashphoner.constants.SESSION_STATUS.html">SESSION_STATUS</a></li><li><a href="Flashphoner.constants.STREAM_STATUS.html">STREAM_STATUS</a></li><li><a href="Flashphoner.constants.STREAM_STATUS_INFO.html">STREAM_STATUS_INFO</a></li><li><a href="roomApi.html">roomApi</a></li><li><a href="roomApi.Room.html">Room</a></li><li><a href="roomApi.Room.Participant.html">Participant</a></li><li><a href="roomApi.Session.html">Session</a></li><li><a href="Session.html">Session</a></li><li><a href="Stream.html">Stream</a></li></ul><h3><a href="global.html">Global</a></h3> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a> on Mon May 24 2021 14:25:08 GMT+0700 (+07) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>