Настройка Asterisk для работы Asterphone с PJSIP
Приложение Asterphone позволяет работать с телефонией Asterisk по протоколу WebRTC (Web Real-Time Communication), это технология для передачи аудио, видео и данных напрямую между браузерами. В связке с Asterisk/FreePBX позволяет совершать звонки прямо из браузера.
На смену устаревшего протокола SIP постепенно приходит более новый PJSIP, который полностью поддерживает WebRTC.
Глобальные настройки
Settings - Asterisk SIP settings
| SIP settings (chan_pjsip) | |
|---|---|
| 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
| Asterisk Builtin mini-HTTP server |
|---|
| Force WebSocket Mode = pjsip принудительное использование WebSocket транспорта для PJSIP |
Создание extension (внутреннего номера)
Connectivity - Add Extension - Add New [chan_pjsip] Extension
| General | |
|---|---|
| Add Extension | extension = 100 внутренний номер телефона display name = 100 должен совпадать с extension, номер который будет отображаться при вызове secret пароль, заполняется автоматически, обязательное поле, можно поставить свой |
| Advanced | |
|---|---|
| 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) указать сертификат |
| Advanced | |
|---|---|
| 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 |