/usr/share/sipml5-web-phone/expert.htm is in sipml5-web-phone 0.0.20130314.2030-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <!DOCTYPE html>
<!--
* Copyright (C) 2012 Doubango Telecom <http://www.doubango.org>
* License: GPLv3
* This file is part of Open Source sipML5 solution <http://www.sipml5.org>
-->
<html lang="en">
<head>
<meta charset="utf-8" />
<title>sipML5 - Expert mode</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Keywords" content="doubango, VoIP, HTML5, WebRTC, RTCWeb, SIP, IMS, Video chat, VP8 " />
<meta name="Description" content="HTML5 SIP client using WebRTC framework" />
<meta name="author" content="Doubango Telecom" />
<!-- Le styles -->
<link href="./assets/css/bootstrap.css" rel="stylesheet" />
<style type="text/css">
body
{
padding-top: 80px;
padding-bottom: 40px;
}
</style>
<link href="./assets/css/bootstrap-responsive.css" rel="stylesheet" />
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="./assets/ico/favicon.ico" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="./assets/ico/apple-touch-icon-114-precomposed.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="./assets/ico/apple-touch-icon-72-precomposed.png" />
<link rel="apple-touch-icon-precomposed" href="./assets/ico/apple-touch-icon-57-precomposed.png" />
</head>
<script type="text/javascript">
var cbVideoDisable;
var cbAVPFDisable;
var txtWebsocketServerUrl;
var txtSIPOutboundProxyUrl;
var txtInfo;
window.onload = function () {
cbVideoDisable = document.getElementById("cbVideoDisable");
cbRTCWebBreaker = document.getElementById("cbRTCWebBreaker");
txtWebsocketServerUrl = document.getElementById("txtWebsocketServerUrl");
txtSIPOutboundProxyUrl = document.getElementById("txtSIPOutboundProxyUrl");
txtInfo = document.getElementById("txtInfo");
txtWebsocketServerUrl.disabled = !window.WebSocket;
document.getElementById("btnSave").disabled = !window.localStorage;
document.getElementById("btnRevert").disabled = !window.localStorage;
if(window.localStorage){
settingsRevert(true);
}
}
function settingsSave() {
window.localStorage.setItem('org.doubango.expert.disable_video', cbVideoDisable.checked ? "true" : "false");
window.localStorage.setItem('org.doubango.expert.enable_rtcweb_breaker', cbRTCWebBreaker.checked ? "true" : "false");
if (!txtWebsocketServerUrl.disabled) {
window.localStorage.setItem('org.doubango.expert.websocket_server_url', txtWebsocketServerUrl.value);
}
window.localStorage.setItem('org.doubango.expert.sip_outboundproxy_url', txtSIPOutboundProxyUrl.value);
window.localStorage.setItem('org.doubango.expert.ice_servers', txtIceServers.value);
txtInfo.innerHTML = '<i>Saved</i>';
}
function settingsRevert(bNotUserAction) {
cbVideoDisable.checked = (window.localStorage.getItem('org.doubango.expert.disable_video') == "true");
cbRTCWebBreaker.checked = (window.localStorage.getItem('org.doubango.expert.enable_rtcweb_breaker') == "true");
txtWebsocketServerUrl.value = (window.localStorage.getItem('org.doubango.expert.websocket_server_url') || "");
txtSIPOutboundProxyUrl.value = (window.localStorage.getItem('org.doubango.expert.sip_outboundproxy_url') || "");
txtIceServers.value = (window.localStorage.getItem('org.doubango.expert.ice_servers') || "");
if (!bNotUserAction) {
txtInfo.innerHTML = '<i>Reverted</i>';
}
}
</script>
<body>
<div class="container">
<div class="span7 well">
<label align="center" id="txtInfo"> </label>
<h2> Expert settings</h2>
<br />
<table style='width: 100%'>
<tr>
<td>
<label style="height: 100%">Disable Video:</label>
</td>
<td>
<input type='checkbox' id='cbVideoDisable' />
</td>
</tr>
<tr>
<td>
<label style="height: 100%">Enable RTCWeb Breaker<sup><a href="#aRTCWebBreaker">[1]</a></sup>:</label>
</td>
<td>
<input type='checkbox' id='cbRTCWebBreaker' />
</td>
</tr>
<tr>
<td>
<label style="height: 100%">WebSocket Server URL<sup><a href="#aWebSocketServerURL">[2]</a></sup>:</label>
</td>
<td>
<input type="text" style="width: 100%; height: 100%" id="txtWebsocketServerUrl" value="" placeholder="e.g. ws://sipml5.org:5062" />
</td>
</tr>
<tr>
<td>
<label style="height: 100%">SIP outbound Proxy URL<sup><a href="#aSIPOutboundProxyURL">[3]</a></sup>:</label>
</td>
<td>
<input type="text" style="width: 100%; height: 100%" id="txtSIPOutboundProxyUrl" value="" placeholder="e.g. udp://sipml5.org:5060" />
</td>
</tr>
<tr>
<td>
<label style="height: 100%">ICE Servers<sup><a href="#aIceServers">[4]</a></sup>:</label>
</td>
<td>
<input type="text" style="width: 100%; height: 100%" id="txtIceServers" value="" placeholder="e.g. [{ url: 'stun:stun.l.google.com:19302'}, { url:'turn:user@numb.viagenie.ca', credential:'myPassword'}]" />
</td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="button" class="btn-success" id="btnSave" value="Save" onclick='settingsSave();' />
<input type="button" class="btn-danger" id="btnRevert" value="Revert" onclick='settingsRevert();' />
</td>
</tr>
</table>
</div>
</div>
<hr />
<footer>
<a name="aRTCWebBreaker"><sup><b>[1]</b></sup></a> The <b>RTCWeb Breaker</b> is used to enable audio and video transcoding when the endpoints do not support the same codecs or the remote server is not RTCWeb-compliant. Please note that the <b>Media Coder</b> will most likely be disabled on the <b>sipml5.org</b> hosted server.<br />
For example, you can enable this feature if:
<ul>
<li>You want to make call from/to <b>Chrome</b> to/from <b>Firefox Nightly</b></li>
<li>You're using any RTCWeb-capable browser and trying to call the PSTN network</li>
<li>You're using any RTCWeb-capable browser and trying to call any SIP client (e.g. <b>xlite</b>) not implementing some mandatory features (e.g. <b>ICE</b>, <b>DTLS-SRTP</b>...)</li>
<li>You're using <b>Google Chrome</b> which only support VP8 codec and trying to call a SIP-legacy client supporting only <b>H.264</b>, <b>H.263</b>, <b>Theora</b> or <b>MP4V-ES</b></li>
<li>Making audio/video calls from/to <a href="https://www.google.com/intl/en/chrome/browser/">Google Chrome</a> to/from <a href="https://labs.ericsson.com/apps/bowser">Ericsson Bowser</a></li>
<li>Your media server is not RTCWeb-capable (e.g. <b>FreeSWITCH</b>)</li>
</ul>
Please check the <a href="http://webrtc2sip.org/technical-guide-1.0.pdf">Technical guide</a> for more information about the <b>RTCWeb Breaker</b> and <b>Media Coder</b>.<br />
<a name="aWebSocketServerURL"><sup><b>[2]</b></sup></a> The <b>WebSocket Server URL</b> is only required if you're a developer and using your own SIP Proxy gateway not publicly reachable. <br />
<a name="aSIPOutboundProxyURL"><sup><b>[3]</b></sup></a> The <b>SIP outbound Proxy URL</b> is used to set the destination IP address and Port to use for all outgoing requests regardless the <i>domain name</i> (a.k.a <i>realm</i>).
This is a good option for developers using a SIP domain name without valid DNS A/NAPTR/SRV records. <br />
<a name="aIceServers"><sup><b>[4]</b></sup></a> This must be an array of STUN/TURN servers to use. The format is as explained at <a href="http://www.w3.org/TR/webrtc/#rtciceserver-type">http://www.w3.org/TR/webrtc/#rtciceserver-type</a> <br />
Example: <i>[{ url: 'stun:stun.l.google.com:19302'}, { url:'turn:user@numb.viagenie.ca', credential:'myPassword'}]</i>
</footer>
</body>
</html>
|