Rate this page:

Работа с CTI сервером

CTI или Computer telephony integration означает интеграцию компьютера и телефона посредством подключения к единому серверу.

CTI сервер служит для обеспечения обмена сообщениями между устройствами, подключенными к Voximplant Kit. Такое взаимодействие обеспечивает возможность создания единого центра обработки, передачи и хранения информации. Примеры приложений, чаще всего интегрируемых с телефонией Voximplant Kit, – различные CRM и программы техподдержки.

Как это работает?

CTI открывает websocket endpoint для подключения и объединяет подключенные устройства (клиенты) в виртуальные комнаты для последующего обмена сообщениями.

На каждый аккаунт создается одна общая виртуальная комната. Все соединения должны быть авторизованы посредством access_token (как его получить, см. ниже).

Устройства, подключенные к общей комнате, получают все сообщения от устройств АККАУНТА.

Как подключиться к CTI серверу?

Для подключения можно использовать любой websocket, например Postman.

URL для подключения - wss://{host}/{domain_name}-{md5(token_id)}?access_token={token}.

  • host – Хост, на котором запущен CTI сервер. Скопируйте имя хоста, нажав кнопку Данные доступа к API в разделе Управление > Безопасность > API токены.

  • domain_name - Имя аккаунта. Скопируйте имя аккаунта, нажав кнопку Данные доступа к API в разделе Управление > Безопасность > API токены.

  • token - API токен. Создайте API токен в разделе Управление > Безопасность > API токены.

  • token_id – ID токена. Скопируйте ID созданного токена в разделе Управление > Безопасность > API токены.

Протокол взаимодействия CTI и websocket

Copy URL

Событие: connection_accepted

Событие, которое сервис отправляет обратно при удачном подключении нового клиента. Клиент получает Sender_id, который необходимо передавать в каждом сообщении в CTI.

connection_accepted

connection_accepted

Событие: connected

Событие, которое отправляет каждый клиент после соединения с сервисом.

connected

connected

Событие: outgoing_call

Событие при старте исходящего звонка.

outgoing_call

outgoing_call

Событие: call_connected

Событие при подключении звонка.

call_connected

call_connected

Событие: call_failed

Событие при неответе вызываемым абонентом на звонок.

call_failed

call_failed

Событие: data_updated

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

data_updated

data_updated

Событие: incoming_call

Событие при старте входящего звонка.

incoming_call

incoming_call

Событие: status_changed

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

status_changed

status_changed

Событие: call_disconnected

Событие при окончании звонка.

call_disconnected

call_disconnected

Команда: make_call

Команда пользователю позвонить на номер телефона.

make_call

make_call

Команда: set_variables

Команда пользователю на проставление переменных к звонку.

set_variables

set_variables

Команда: logout

Команда пользователю на выход из системы.

logout

logout

Пример отправки сообщения

Пример

Пример