REGISTRATION
by Barry Carter
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jssip/3.1.2/jssip.min.js"></script>
<div id="totest" class="main"></div>
CSS
.main {
padding:5px;
margin: 5px;
}
.svr {
padding:10px;
}
.svrnm {
width: 400px;
display: inline-block;
}
.res {
margin-left: 20px;
padding:5px;
display: inline-block;
width: 100px;
}
.failed {
background-color: red;
}
.pass {
background-color: green;
}
JavaScript
var urls = [
'wss://webrtc-uks-1.maxcontact.com/ws',
'wss://webrtc-uks-2.maxcontact.com/ws',
'wss://webrtc-uks-3.maxcontact.com/ws',
'wss://webrtc-uks-4.maxcontact.com/ws',
'wss://webrtc-ukw-1.maxcontact.com/ws',
'wss://webrtc-ukw-2.maxcontact.com/ws',
'wss://webrtc-ukw-3.maxcontact.com/ws',
'wss://webrtc-aus-1.maxcontact.com/ws',
'wss://webrtc-aus-2.maxcontact.com/ws',
'wss://webrtc-noe-1.maxcontact.com/ws',
]
function registerTest(url, i) {
// control
var state = document.getElementById('u' + i);
var socket = new JsSIP.WebSocketInterface(url);
// minimal user agent
var ua = new JsSIP.UA({
'uri': 'sip:[email protected]',
'password': 'd3m0nstr4t10n',
'register': false,
'sockets': [ socket ],
});
// ua event handlers
ua.on('registrationFailed', function(a){
console.log (a);
if (a.cause === "Connection Error") {
if (!socket.isConnected()) {
state.innerHTML = 'Failed';
state.classList.add('failed');
}
}
else {
state.innerHTML = 'Passed';
state.classList.add('pass');
ua.stop();
}
});
ua.start();
ua.register();
}
for(var i = 0; i < urls.length; i++) {
var name =urls[i].replace('.maxcontact.com/ws', '').replace('wss://', '');
$("#totest").append("<div class='svr' id='t" + i + "'><span class='svrnm'>" + name + "</span><span class='res' id='u" + i + "'>Waiting...</span></div>");
registerTest(urls[i], i);
}