Демонстрация работы

Вы можете самостоятельно проверить возможность работы библиотеки с нашим сервером на простом примере, позволяющим подключится к нашему серверу и совершить звонок.

Исходный код примера

	var l = $('.oktell_log');
	var btnCall = $('.call');
	var incall=false;

	initOkbutton();
	function initOkbutton() {
		if ( window.okbutton ) {
			return;
		}
		var config = {
			server: 't.oktell.ru:5060', register: true, secure: false, user: 'i3gTAn2v', password: 'n6kXGVLm'
		};

		window.okbutton = new Okbutton(config);

		okbutton.on('callEstablished', function() {
			setButtonState('Завершить', 'm_button_red', true);
			addLog('Соединение установлено');
		});

		okbutton.on('callEnded', function(reason) {
			if (reason) {
				addLog('Ошибка соединения: '+reason);
			} else {
				addLog('Звонок завершен');
			}
			setButtonState('Позвонить', 'm_button_green', true);
			incall = false;
		});

		okbutton.on('mediaPermissionsRequest', function() {
			setButtonState('Соединение...', 'm_button_green', false);
			addLog('Запрос на доступ к медиа устройствам');
		});

		okbutton.on('mediaPermissionsAccept', function() {
			addLog('Доступ к медиа устройствам разрешен');
		});

		okbutton.on('mediaPermissionsRefuse', function() {
			setButtonState('Завершить', 'm_button_red', true);
			addLog('Доступ к медиа устройствам запрещен пользователем');
		});
	}
	btnCall.click(function(){
		if (!incall) {
			okbutton.call('111');
			setButtonState('Соединение...', 'm_button_green', false);
			addLog('Соединение...');
			incall = true;
		} else {
			window.okbutton.endCall();
		}
	});

	function setButtonState(text, className, enable)	{
		btnCall.html(text);
		btnCall.removeClass('m_button_red');
		btnCall.removeClass('m_button_green');
		btnCall.addClass(className);
		btnCall.attr('disabled', !enable);
	}

	function addLog (text) {
		l.append(text+"\n");
	}