Настройка Asterisk для работы Asterphone с PJSIP
Приложение Asterphone позволяет работать с телефонией Asterisk по протоколу WebRTC (Web Real-Time Communication), это технология для передачи аудио, видео и данных напрямую между браузерами. В связке с Asterisk/FreePBX позволяет совершать звонки прямо из браузера.
На смену устаревшего протокола SIP постепенно приходит более новый PJSIP, который полностью поддерживает WebRTC.
Глобальные настройки
Settings - Asterisk SIP settings
Misc PJSip Settings
taskprocessor overload trigger = pjsip_only распределяем задачи между потоками обработки, следим только за pjsip
TLS/SSL/SRTP Settings
certificate manager = example.simple.test выбираем сертификат из Certificate Manager для шифрования TLS/WSS соединений ssl method = tlsv1_2 - версия протокола TLS для шифрования соединений
wss
wss - 0.0.0.0 - All = No
только нужные extensions слушают на всех интерфейсах по протоколу WebSocket Secure wss - <ip адрес asterisk> - ens18 = Yes
настройка WSS транспорта на конкретный сетевой интерфейс
Settings - Advanced Settings
Force WebSocket Mode = pjsip
принудительное использование WebSocket транспорта для PJSIP
Создание extension (внутреннего номера)
Connectivity - Add Extension - Add New [chan_pjsip] Extension
Add Extension
extension = 100
внутренний номер телефона
display name = 100
должен совпадать с extension, номер который будет отображаться при вызове
secret
пароль, заполняется автоматически, обязательное поле, можно поставить свой
Add Extension
enable avpf = true
включение расширенного RTP профиля с обратной связью для улучшения качества медиа
enable ICESupport = true
включение поддержки ICE (Interactive Connectivity Establishment) для обхода NAT, критично для WebRTC за NAT/Firewall enable rtcpMux = true
включение мультиплексирования RTCP в одном потоке с RTP, требуется для WebRTC в браузерах media encryption = dtls-srtp (not recommended) Включение шифрования медиапотока через DTLS-SRTP, обязательно для безопасного WebRTC enable dtls = yes использовать шифрование use certificate <example>.ru (select current) указать сертификат
Transport
All - WSS Primary настройка транспорта по умолчанию для всех расширений
Enable AVPF
Yes включение расширенного профиля RTP с обратной связью (Audio/Video Profile with Feedback), критично для стабильного WebRTC
Force AVP
Yes принудительное использование базового профиля RTP (Audio/Video Profile) без обратной связи
Enable ICE Support
Yes включение поддержки ICE (Interactive Connectivity Establishment) для установления медиа-соединений через NAT, критично для WebRTC за NAT/Firewall
Enable rtcp Mux
Yes включение мультиплексирования RTCP в одном порту с RTP, обязательно для WebRTC в браузерах
Enable Encryption
Yes (SRTP only) включение шифрования медиапотока с использованием SRTP
DTLS
Enable DTLS
Yes включение протокола DTLS, обязательно для WebRTC в браузерах
Use Certificate
<example>.ru выбор SSL-сертификата для DTLS шифрования из Certificate Manager
Last updated