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);
}