# Настройка Asterisk для работы Asterphone с PJSIP

Приложение **Asterphone** позволяет работать с телефонией **Asterisk** по протоколу **WebRTC** (Web Real-Time Communication), это технология для передачи аудио, видео и данных напрямую между браузерами. В связке с **Asterisk/FreePBX** позволяет совершать звонки прямо из браузера.

На смену устаревшего протокола **SIP** постепенно приходит более новый PJSIP, который полностью поддерживает WebRTC.&#x20;

### Глобальные настройки

Settings - Asterisk SIP settings&#x20;

<table data-full-width="false"><thead><tr><th width="367">SIP settings (chan_pjsip)</th><th></th><th data-hidden></th><th data-hidden></th></tr></thead><tbody><tr><td>Misc PJSip Settings</td><td><strong>taskprocessor overload trigger = pjsip_only</strong> распределяем задачи между потоками обработки, следим только за pjsip</td><td></td><td></td></tr><tr><td>TLS/SSL/SRTP Settings</td><td><strong>certificate manager = example.simple.test</strong> выбираем сертификат из Certificate Manager для шифрования TLS/WSS соединений<br><strong>ssl method = tlsv1_2</strong> - версия протокола TLS для шифрования соединений</td><td></td><td></td></tr><tr><td>wss</td><td><p><strong>wss - 0.0.0.0 - All = No</strong></p><p>только нужные extensions слушают на всех интерфейсах по протоколу WebSocket Secure<br><strong>wss - &#x3C;ip адрес asterisk> - ens18 = Yes</strong></p><p>настройка WSS транспорта на конкретный сетевой интерфейс</p></td><td></td><td></td></tr></tbody></table>

Settings - Advanced Settings

| Asterisk Builtin mini-HTTP server                                                                                      |
| ---------------------------------------------------------------------------------------------------------------------- |
| <p><strong>Force WebSocket Mode = pjsip</strong></p><p>принудительное использование WebSocket транспорта для PJSIP</p> |

### Создание extension (внутреннего номера)

Connectivity - Add Extension - Add New \[chan\_pjsip] Extension

| General       |                                                                                                                                                                                                                                                                                                                   |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Add Extension | <p><strong>extension = 100</strong></p><p>внутренний номер телефона</p><p><strong>display name  = 100</strong></p><p>должен совпадать с extension, номер который будет отображаться при вызове</p><p><strong>secret</strong></p><p>пароль, заполняется автоматически, обязательное поле, можно поставить свой</p> |

| Advanced                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                  |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Add Extension                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | <p><strong>enable avpf = true</strong> </p><p><strong>в</strong>ключение расширенного RTP профиля с обратной связью для улучшения качества медиа |
| <br><br><strong>enable ICESupport = true</strong></p><p>включение поддержки ICE (Interactive Connectivity Establishment) для обхода NAT, критично для WebRTC за NAT/Firewall<br><br><strong>enable rtcpMux = true</strong></p><p>включение мультиплексирования RTCP в одном потоке с RTP, требуется для WebRTC в браузерах<br><br><strong>media encryption = dtls-srtp</strong> <strong>(not recommended)</strong><br>Включение шифрования медиапотока через DTLS-SRTP, обязательно для безопасного WebRTC<br><br><strong>enable dtls = yes</strong><br>использовать шифрование<br><br><strong>use certificate \<example>.ru (select current)</strong><br>указать сертификат</p> |                                                                                                                                                  |

| Advanced           |                                                                                                                                                                                  |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Transport          | <p><strong>All - WSS Primary</strong><br>настройка транспорта по умолчанию для всех расширений</p>                                                                               |
| Enable AVPF        | <p><strong>Yes</strong><br>включение расширенного профиля RTP с обратной связью (Audio/Video Profile with Feedback), критично для стабильного WebRTC</p>                         |
| Force AVP          | <p><strong>Yes</strong><br>принудительное использование базового профиля RTP (Audio/Video Profile) без обратной связи</p>                                                        |
| Enable ICE Support | <p><strong>Yes</strong><br>включение поддержки ICE (Interactive Connectivity Establishment) для установления медиа-соединений через NAT, критично для WebRTC за NAT/Firewall</p> |
| Enable rtcp Mux    | <p><strong>Yes</strong><br>включение мультиплексирования RTCP в одном порту с RTP, обязательно для WebRTC в браузерах</p>                                                        |
| Enable Encryption  | <p><strong>Yes (SRTP only)</strong><br>включение шифрования медиапотока с использованием SRTP</p>                                                                                |
| DTLS               |                                                                                                                                                                                  |
| Enable DTLS        | <p><strong>Yes</strong><br>включение протокола DTLS, обязательно для WebRTC в браузерах</p>                                                                                      |
| Use Certificate    | <p><strong>\<example>.ru</strong><br><strong>в</strong>ыбор SSL-сертификата для DTLS шифрования из Certificate Manager</p>                                                       |
