deprecated

Клиентская библиотека для работы с Webitel 2.x из веб-приложения по WebSocket протоколу. Библиотека используется в bpm'online версии 7.2 и 7.3.
Документация по Webitel 2.x

Работа с объектом Webitel

Webitel( option )

Инициализация Webitel.

options
server - строка подключения к серверу,
account - логин пользователя Webitel,
secret - пароль пользователя Webitel,
webrtc_server - строка подключения к серверу webrtc(если не нужно использовать webrtc, задать значение false),
webrtc_domain - домен пользователя Webitel,
webrtc: {webrtc_otion}
webrtc_otion:  
        server:  строка подключения к серверу webrtc,
        incomingMediaElementId - тег видео контейнера входящего вызова,
        outgoingMediaElementId - тег видео контейнера исходящего вызова,
        video - использовать видео

connect()

Подключение к серверу Webitel.

disconnect()

выход из Webitel

account()

Информация о текущем пользователе

login()

Войти в Webitel.

logout()

Выйти из Webitel.

getAgentsList(callback)

Получить список всех пользователей.

bindNumber(number, password, callback)

Привязать номер текущему оператору.

ready()

Установить статус пользователя Готов.

busy(cause, tag)

Установить статус пользователя.

Перечень состояний (cause):
onbreak – в перерыве.
cf – переадресация, tag – номер.
vm – переадресация на голосовую почту.
dnd – не беспокоить.

Работа с событиями

onConnect()

Событие успешного соединения с сервером Webitel.

onDisconnect()

Событие отключения соединения с сервером Webitel.

onAddAgent(agent)

Событие добавления информации о пользователе Webitel.

Agent
away: состояние пользователя, из значений WebitelAccountAwayCauseTypes.
domain: домен пользователя,
id: идентификатор пользователя ,
state: состояние пользователя, из значений WebitelAccountStatusTypes,
tag: дополнительная информация состояние (например номер телефона на который нужно делать перевод звонка в состоянии "Переадресация").

onRemoveAgents()

Событие удаления информации о пользователе Webitel.

onReady()

Событие пользователя в состоянии "Готов"

onError(err)

Событие ошибки.

onAgentStatusChange(agent)

Событие срабатывает после смены статуса пользователя.

Работа со звонками

сall(extension, agentName, useVideo)

Создать звонок. Extension – номер,  agentName – CID оператора, useVideo – использовать видео поток при webrtc звонке.

hangup(uuid)

Завершить звонок. Uuid - идентификатор звонка.

hold(uuid)

Поставить звонок на удержание. Uuid - идентификатор звонка.

transfer(uuid, destination)

Перевести звонок. Uuid - идентификатор звонка, destination – номер на который нужно перевести uuid звонок.

attendedTransfer(uuid, destination)

Перевод с консультацией. Перевести звонок. Uuid - идентификатор звонка, destination – номер на который нужно перевести uuid звонок.

События звонка

onNewCall(call)

Событие нового звонка.

call:
            call-direction: направление звонка,
            call-display-name: название абонента,
            call-display-number: номер абонента,
            call-old-uuid: старый идентификатор звонка,
            call-status: состояние звонка,
hangup: ф-ция (завершить звонок) при Webrtc звонке,
uuid: идентификатор звонка.

onAcceptCall(call)

Событие поднятия "Трубки"

onUpdateCall(call)

Событие обновления идентификатора звонка.

onCallState(call)

Событие обновления состояния звонка.

onHangupCall(call)

Событие завершения звонка.

onWebitelWebRTCCall(webrtcCall)

Событие Webrtc.

 

webrtc Call
answer - ф-ция поднять трубку,
dtmf - ф-ция dtmf,
getDirection - ф-ция напрвления звонка,
hangup - ф-ция положить трубку,
localStreams - локальный стрим.