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

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

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

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

Settings - Asterisk SIP settings

<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 профиля с обратной связью для улучшения качества медиа</p> |
| <p><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>                                                       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.itgrix.ru/blog/nastroika-asterisk-dlya-raboty-asterphone-s-pjsip.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
