IntraVision

Настройка Asterisk для интеграции c Intradesk

Если у вас в компании уже используется телефония на базе сервера Asterisk. Его легко можно интегрировать в систему Intradesk.

Статья по настройке внутри Intradesk Статья №66787

Подключение Intradesk к Asterisk происходит по технологии WebRTC
Связка осуществляется через модуль Asterisk chan_pjsip, который требует настройки WebSocket (WSS) и специальных транспортных протоколов.

Для настройки поддержки WebRTC в Asterisk необходимо внести изменения в несколько конфигурационных файлов. Основные действия описаны ниже.

1. Настройка веб-сервера и WebSocket (http.conf)

Включите встроенный HTTP-сервер Asterisk и активируйте защищенный WebSocket (WSS), который будет использоваться для сигнализации WebRTC.

  • Файл/etc/asterisk/http.conf 

  • Основные параметры:

    • enabled=yes — включить HTTP-сервер .

    • 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 и установки медиа-сессий.

  • Файл/etc/asterisk/rtp.conf 

  • Основные параметры:

    • icesupport=yes — включить поддержку ICE . Это критически важно для работы WebRTC-клиентов за NAT/файрволами .

3. Основная конфигурация PJSIP (pjsip.conf)

В этом файле настраиваются транспорт для WebSocket, а также сами конечные точки (endpoints) для WebRTC-клиентов .

  • Файл/etc/asterisk/pjsip.conf 

  • Транспорт WSS: Создайте секцию для защищенного WebSocket-транспорта .

    text
    [transport-wss] type = transport protocol = wss bind = 0.0.0.0:8089
  • Шаблон для WebRTC-клиентов: Создайте шаблон endpoint, чтобы не повторять настройки для каждого пользователя .

    • media_encryption=dtls — обязательное шифрование медиапотока .

    • use_avpf=yes — включение расширенного RTP-профиля с обратной связью .

    • ice_support=yes — поддержка ICE для endpoint .

    • rtcp_mux=yes — мультиплексирование RTCP и RTP в одном потоке (требование браузеров) .

    • webrtc=yes — прямое указание о включении режима WebRTC для endpoint .

  • Пользователи (AOR, Auth, Endpoint): Для каждого клиента создайте секции [aor][auth] (с логином/паролем) и [endpoint], который наследует настройки от шаблона .

4. Настройка диалплана (extensions.conf)

Убедитесь, что контекст, указанный в endpoint, существует в диалплане и маршрутизирует вызовы корректно .

  • Файл/etc/asterisk/extensions.conf 

  • Создайте контекст, например [internal-webrtc], и пропишите в нем маршруты для звонков между вашими WebRTC-абонентами .

5. Отключение устаревшего драйвера (modules.conf)

Чтобы избежать конфликтов, убедитесь, что старый модуль chan_sip не загружается.

  • Файл/etc/asterisk/modules.conf 

  • Добавьте директиву noload => chan_sip.so .

Проверка конфигурации

После внесения всех изменений перезапустите Asterisk и проверьте статус HTTP-сервера, чтобы убедиться, что WebSocket (/ws) активен .

bash
systemctl restart asterisk asterisk -rx "http show status"

В выводе должны быть строки HTTPS Server Enabled and Bound to ... и /ws => Asterisk HTTP WebSocket . Также можно открыть в браузере https://<ваш_сервер>:8089/httpstatus, чтобы увидеть статус-страницу Asterisk 


asterisk
телефония