<html>
<head>
<title>HTML5 WebRTC Client</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type='text/javascript'>
var logger = undefined; //console;
</script>
<link rel="icon" type="image/png" href="img/telestax-favicon.png">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
</head>
<body onload="onLoad()" onbeforeunload="onBeforeUnload()">
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="#">HTML5 WebRTC Client Demo for Openfire using WebSockets & JingleNodes Plugins</a>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span5">
<div class="form-horizontal well">
<div id="jingleAccountSettings" >
<div class="nav-header">Registration</div>
<div class="nav-header"> </div>
<div class="control-group"id='jingleDisplayNameDiv'>
<label class="control-label"><a style="color:#555555" href="#" rel="tooltip" title="Name that will be displayed when you contact others" data-placement="top" data-delay: { show: 10, hide: 100 }>User Name</a>:</label>
<input id="jingleDisplayName" type="text" size="30">
</div>
<div class="accordion" id="accordion1">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle nav-header" data-toggle="collapse" data-parent="#accordion1" href="#security">
Security
</a>
</div>
<div id="security" class="accordion-body collapse">
<div class="accordion-inner">
<div class="control-group"id='jingleLoginDiv'>
<label class="control-label"><a style="color:#555555" href="#" rel="tooltip" title="Login to authenticate" data-placement="top" data-delay: { show: 10, hide: 100 }>Openfire Login</a>:</label>
<input id="jingleLogin" type="text" size="30">
</div>
<div class="control-group"id='jinglePasswordDiv'>
<label class="control-label"><a style="color:#555555" href="#" rel="tooltip" title="Password to authenticate" data-placement="top" data-delay: { show: 10, hide: 100 }>Openfire Password</a>:</label>
<input id="jinglePassword" type="password" size="30">
</div>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle nav-header" data-toggle="collapse" data-parent="#accordion1" href="#advancedSettings">
Advanced Settings
</a>
</div>
<div id="advancedSettings" class="accordion-body collapse">
<div class="accordion-inner">
<div class="control-group" id='stunServerDiv'>
<label class="control-label" for="stunServer"><a style="color:#555555" href="#" rel="tooltip" title="Specify the IP Address and Port of a Stun Server" data-placement="top" data-delay: { show: 10, hide: 100 }>STUN server</a>:</label>
<input id="stunServer" type="text" size="30">
</div>
<div class="control-group" id='wsUrlDiv'>
<label class="control-label"><a style="color:#555555" href="#" rel="tooltip" title="Specify the IP Address and Port of a WebSocket Server" data-placement="top" data-delay: { show: 10, hide: 100 }>Outbound Proxy</a> :</label>
<input id="wsUrl" type="text" size="30">
</div>
</div>
</div>
</div>
</div>
<div class="control-group"id ='input'>
<input id='Register' class="btn btn-primary" type='submit' name='Register' disabled="disabled" value='Register' onclick = "register();"/>
<input id='UnRegister' class="btn btn-primary" type='submit' name='UnRegister' value='UnRegister' disabled="disabled" onclick = "unRegister();"/>
</div>
</div>
</div><!--/.well -->
</div><!--/span-->
<div class="span7">
<div class="form-horizontal well">
<div>
<div class="nav-header">Communicate</div>
<p class="lead">
<div id='jingleContactPhoneNumberDiv'>
<div id='input'>
Contact To Call: <input id="jingleContactPhoneNumber" type="text" size="100" style="width:300px" class="input-xlarge focused" >
<input id='Call' class="btn btn-primary" type='submit' name='Call' value='Call' disabled="disabled" onclick = "call(document.getElementById('jingleContactPhoneNumber').value);"/>
<input id='Bye' class="btn btn-primary" type='submit' name='Bye' value='Bye' disabled="disabled" onclick = "bye();"/>
<div id='media'>
<div id='over'>
<video id="localVideoPreview" muted="true" autoplay="autoplay" class="ui-widget-content" style="height:120px; width:160px; margin-top: 10px; margin-right: 600px; -webkit-transition-property: opacity;-webkit-transition-duration: 2s;"></video>
</div>
<div id='resizable'>
<video id="remoteVideo" onDblClick="toggleFullScreen();" width="640px" height="480px" autoplay="autoplay" style="margin-top: 10px;-webkit-transition-property: opacity; -webkit-transition-duration: 2s;"></video>
</div>
</div>
<p><i>Double-Click the video to enter Full Screen mode </i></p>
</div>
</div>
</p>
</div>
</div>
</div>
</div>
<div class="modal hide fade" id="callModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<!--button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button-->
<h3 id="call_message">Incoming Call</h3>
</div>
<div class="modal-footer">
<button class="btn reject-btn" data-dismiss="modal" aria-hidden="true">Reject</button>
<button class="btn btn-primary accept-btn" data-dismiss="modal">Accept</button>
</div>
</div>
<div class="modal hide fade" id="messageModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<!--button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button-->
<h3 id="modal_message">Incoming Call</h3>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
<audio id="ringing" loop src="audio/ringing.wav" />
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery-ui-1.8.23.custom.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/webrtc-jingle.js" type="text/javascript"></script>
<script type='text/javascript'>
var defaultSipDisplayName="user1";
var defaultSipLogin="user1";
var defaultSipPassword="changeme";
var defaultSipContactPhoneNumber="user2@" + window.location.hostname + "/user2" ;
var defaultWsUrl = "ws://" + window.location.host + "/ws/server?username=null&password=null&resource=" + defaultSipDisplayName
var localVideo, remoteVideo;
var ws = null, interval = null;
var webrtc = null, remoteParty = null;
function onLoad()
{
console.debug("onLoad");
document.getElementById("stunServer").value=WebRtcJingle.stun;
document.getElementById("wsUrl").value=defaultWsUrl;
document.getElementById("jingleDisplayName").value=defaultSipDisplayName;
document.getElementById("jingleLogin").value=default
- 1
- 2
- 3
前往页