Настройка Asterisk для интеграции c Intradesk
Подключение Intradesk к Asterisk происходит по технологии WebRTC
Связка осуществляется через модуль Asterisk
chan_pjsip, который требует настройки WebSocket (WSS) и специальных транспортных протоколов.Для настройки поддержки WebRTC в Asterisk необходимо внести изменения в несколько конфигурационных файлов. Основные действия описаны ниже.
1. Настройка веб-сервера и WebSocket (http.conf)
Включите встроенный HTTP-сервер Asterisk и активируйте защищенный WebSocket (WSS), который будет использоваться для сигнализации WebRTC.
Основные параметры:
tlsenable=yes— включить поддержку TLS для безопасного WSS .tlsbindaddr=0.0.0.0:8089— указать IP-адрес и порт (обычно 8089) для приема WSS-соединений .tlscertfileиtlsprivatekey— указать пути к SSL-сертификату и приватному ключу вашего сервера . Для тестов можно использовать самоподписанный сертификат .
2. Настройка RTP и ICE (rtp.conf)
WebRTC требует поддержки ICE (Interactive Connectivity Establishment) для обхода NAT и установки медиа-сессий.
Основные параметры:
3. Основная конфигурация PJSIP (pjsip.conf)
В этом файле настраиваются транспорт для WebSocket, а также сами конечные точки (endpoints) для WebRTC-клиентов .
Транспорт WSS: Создайте секцию для защищенного WebSocket-транспорта .
text[transport-wss] type = transport protocol = wss bind = 0.0.0.0:8089
Шаблон для WebRTC-клиентов: Создайте шаблон endpoint, чтобы не повторять настройки для каждого пользователя .
Пользователи (AOR, Auth, Endpoint): Для каждого клиента создайте секции
[aor],[auth](с логином/паролем) и[endpoint], который наследует настройки от шаблона .
4. Настройка диалплана (extensions.conf)
Убедитесь, что контекст, указанный в endpoint, существует в диалплане и маршрутизирует вызовы корректно .
Создайте контекст, например
[internal-webrtc], и пропишите в нем маршруты для звонков между вашими WebRTC-абонентами .
5. Отключение устаревшего драйвера (modules.conf)
Чтобы избежать конфликтов, убедитесь, что старый модуль chan_sip не загружается.
Проверка конфигурации
После внесения всех изменений перезапустите Asterisk и проверьте статус HTTP-сервера, чтобы убедиться, что WebSocket (/ws) активен .
systemctl restart asterisk asterisk -rx "http show status"
В выводе должны быть строки HTTPS Server Enabled and Bound to ... и /ws => Asterisk HTTP WebSocket . Также можно открыть в браузере https://<ваш_сервер>:8089/httpstatus, чтобы увидеть статус-страницу Asterisk