# Провайдеры телефонии

«**Провайдеры телефонии**» в MikoPBX — это раздел системы, где настраиваются подключения к внешним операторам связи через интернет-протоколы для IP-телефонии. Здесь администраторы могут добавлять и настраивать учетные записи SIP-транков или других типов соединений, которые позволяют системе совершать и принимать звонки с городских и мобильных номеров.

Чтобы совершать или принимать внешние телефонные звонки по телефонной сети общего пользования или Интернет, вы должны создать, по крайней мере, одну учетную запись провайдера.\
Каждая технология имеет свой тип учетной записи. Для добавления новой учетной записи или изменения существующей, перейдите в "**Маршрутизация"** -> "**Провайдеры телефонии":**

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FXwMh0jXY9Q84N53QrfV0%2Fprov_telef_0.png?alt=media&#x26;token=bf2acae6-7a19-4c83-b1c8-3f6be53fb875" alt=""><figcaption><p>Раздел "<strong>Провайдеры телефонии</strong>"</p></figcaption></figure>

Обзор провайдеров содержит список всех доступных поставщиков услуг. Зеленый значок перед именем поставщика означает, что MikoPBX зарегистрировала этого провайдера, и Вы можете начать работу с этим провайдером. \
С помощью переключателя слева можно включать использование провайдера и отключать соответственно:

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FnYjzmZzQOELifkUimRl8%2Fprov_telef_0.gif?alt=media&#x26;token=186bf72a-6f4c-48c2-bb76-8678d2d4180c" alt=""><figcaption><p>Переключение статуса провайдера</p></figcaption></figure>

Для подключения новой учетной записи провайдера нажмите **Подключить SIP** или **Подключить IAX** в зависимости по типа подключаемой учетной записи:

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F12X7tt1bvZEp7HjG2cL6%2Fprov_telef_1.png?alt=media&#x26;token=601cdad3-16bf-404a-bf8e-0d1355d545d5" alt=""><figcaption><p>Опции подключения нового провайдера</p></figcaption></figure>

## Настройка SIP провайдера <a href="#nastrojka_sip_provajdera" id="nastrojka_sip_provajdera"></a>

### Общие настройки

{% hint style="info" %}
Инструкции по подключению наиболее популярных поставщиков услуг можно найти в [нашем FAQ](https://docs.mikopbx.com/mikopbx/faq/providers).
{% endhint %}

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FmLNhihEQvrr8nWN2Dqh9%2Fprov_telef_2.png?alt=media&#x26;token=d7cab7ee-1d0d-41e9-942e-a594990629f4" alt=""><figcaption><p>Общие настройки SIP-провайдера</p></figcaption></figure>

В общих настройках SIP провайдера укажите следующие настройки:

**Название провайдера** - произвольное удобное вам наименование. Оно будет отображаться в списках выбора в соответствующих меню.

**Тип учетной записи** - тип регистрации учетной записи провайдера. [Подробнее про тип регистрации](#podrobnee-pro-tip-registracii).

**Хост или IP адрес** - может быть либо URL либо IP-адресом

**Логин** и **Пароль**, который предоставляет ваш провайдер

**Режим DTMF** - определяет, как DTMF сигналы передаются через SIP. Cуществуют различные стандарты, используемые для передачи DTMF SIP-провайдерам. Попробуйте использовать различные стандарты для того, чтобы найти режим, который подойдет вам.\
**inband** передает нажатия клавиш в качестве «тона». Для использования этого стандарта вам необходим аудио кодек высокого качества. **Auto**, **rfc** и **info** передают нажатия клавиш в SIP кодирование.

### Расширенные настройки SIP провайдера <a href="#rasshirennye_nastrojki_sip_provajdera" id="rasshirennye_nastrojki_sip_provajdera"></a>

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FyHmiUbAkVmOLg4tIfxXd%2Fprov_telef_3.png?alt=media&#x26;token=d15d9c7c-9c17-43c5-a716-d363bfeb0374" alt=""><figcaption><p>Вкладка "<strong>Расширенные настройки</strong>" SIP провайдера</p></figcaption></figure>

#### **Дополнительные адреса провайдера**

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FibapeuOxNthoHGMXqOE9%2Fprov_telef_4.png?alt=media&#x26;token=f99d7683-0f3b-4c43-bf3c-c14c0a7cd13d" alt=""><figcaption><p>Поле "<strong>Дополнительные адреса провайдера</strong>"</p></figcaption></figure>

В этом разделе следует перечислить все адреса поставщика услуг связи, с которых могут приходит входящие звонки. Доступ для этих адресов к портам SIP и RTP будет автоматически открыт на firewall.

#### **Порт соединения SIP**

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FWtxtNlvN6S9PoFTW52ID%2Fprov_telef_5.png?alt=media&#x26;token=0549aafa-a15c-4b44-9c1f-82c5c13c408f" alt=""><figcaption><p>Поле "<strong>Порт соединения SIP</strong>"</p></figcaption></figure>

По умолчанию принимает значение **5060**. SIP протокол описывает, каким образом клиентское приложение (например, софтфон) может запросить начало соединения у другого, возможно, физически удалённого клиента, находящегося в той же сети, используя его уникальное имя.\
Протокол определяет способ согласования между клиентами об открытии каналов обмена на основе других протоколов, которые могут использоваться для непосредственной передачи информации (например, RTP).

#### **Транспортный протокол**&#x20;

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FxEDsFo67Jn0t8ZFpyBYt%2Fprov_telef_6.png?alt=media&#x26;token=2b7be7d0-f317-4adc-8308-009956b12ff8" alt=""><figcaption><p>Поле "<strong>Транспортный протокол</strong>"</p></figcaption></figure>

Позволяет указать используемый транспортный протокол для данной учетной записи провайдера.

#### **Outbound proxy**

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FvZcXpzmXAaDkq80Wn0O5%2Fprov_telef_13.png?alt=media&#x26;token=d9b37aab-acb6-4357-a26d-8b63fd468167" alt=""><figcaption><p>Поле "<strong>outbound proxy</strong>"</p></figcaption></figure>

Это SIP прокси сервер провайдера для обработки запросов. Реальный SIP сервер, может отличаться от этого адреса. Outbound proxy принимает на себя первичные запросы и перенаправляет на нужный сервер.

#### **Режим NAT**&#x20;

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FEhsMmCWWlxQpKHaoP2kc%2Fprov_telef_7.png?alt=media&#x26;token=92e240d0-4bc4-4377-94df-af4fc210a650" alt=""><figcaption><p>Режим NAT</p></figcaption></figure>

Режим NAT - Это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов.

* **force\_rport,comedia** опция заменяющая nat=yes;
* **force\_rport** даже если ни одного параметра rport не было указано, действовать, так, как если бы он был;
* **comedia** отправлять RTP пакеты обратно к порту с которого они были получены, игнорируя требуемый порт в SDP заголовке;
* <mark style="color:red;">**auto\_comedia**</mark> <mark style="color:red;"></mark><mark style="color:red;">если Asterisk сможет определить, что устройство находится за NAT, установить опцию comedia;</mark>
* **no** не выполнять никакой специальной обработки NAT, кроме той что указана в RFC 3581.

#### **Поддерживать NAT сессию**&#x20;

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F02zHg4OK8RdGGQihiSWH%2Fprov_telef_8.png?alt=media&#x26;token=4cff1b30-936f-4628-a128-55d2cf39ce1c" alt=""><figcaption><p>Подраздел "<strong>Поддерживать NAT сессию</strong>"</p></figcaption></figure>

При включение этой опции Asterisk будет отправлять SIP Options пакеты. Это необходимо для поддержки NAT туннелирования на вашем маршрутизаторе.&#x20;

Укажите **частоту**, с которой Asterisk будет отправлять SIP сообщение типа OPTIONS для проверки, что данное устройство работает и доступно для совершения вызовов.&#x20;

Если данное устройство, не ответит в течение заданного периода (60 секунд по умолчанию), тогда Asterisk рассматривает это устройство как выключенное и недоступное для совершения вызовов.

#### **Переопределение SIP заголовка "From"**

Можно отключить использование поля **fromuser** заголовка SIP-пакета.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FjmCUTz6cCNTzB2dcivfd%2Fprov_telef_9.png?alt=media&#x26;token=70821de7-bbf4-4a11-839a-e6e8abaa8991" alt=""><figcaption><p>Подраздел "<strong>Переопределение SIP заголовка FROM</strong>"</p></figcaption></figure>

Параметры файла *pjsip.conf* **fromuser** и **fromdomain** используются для вызовов исходящих от Asterisk в сторону SIP устройства.

Можно переопределить:&#x20;

* имя пользователя в поле From в SIP пакетах (**fromuser**);
* имя домена в поле From в SIP пакетах (**fromdomain**).

Для этого служат поля **User** и **Domain** соответственно.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FdECqzDpcPUC0E89YVBDC%2Fprov_telef_10.png?alt=media&#x26;token=c65b626c-8ba0-457c-8d2d-a713ec7aaed8" alt=""><figcaption><p>Поля "User" и "Domain"</p></figcaption></figure>

#### Дополнительные параметры <a href="#dopolnitelnye_parametry" id="dopolnitelnye_parametry"></a>

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FaJ7kLiNiznn9OtIqt160%2Fprov_telef_12.png?alt=media&#x26;token=7fa16682-4ebf-4fb8-81fe-47f7ed07f08b" alt=""><figcaption><p>Дополнительные параметры провайдера</p></figcaption></figure>

В этом поле вы можете изменять конфигурационные файлы Asterisk.

Переопределять можно практически все параметры. К примеру при использовании *chan\_pjsip* провайдер описывается следующими секциями:

{% code lineNumbers="true" %}

```
[REG-AUTH-***]
type = auth
; ----

[REG-***] 
type = registration
transport = transport-udp
; ----

[***-OUT]
type = auth
; ----

[***]
type = aor
max_contacts = 1
; ----

[***]
type = identify
; ----

[***]
type = endpoint
context = incoming
; ----
```

{% endcode %}

Для переопределения полей в секциях следует заполнить поле **Дополнительные параметры** следующим образом:

{% code lineNumbers="true" %}

```
[registration-auth]
; описываем параметры авторизации для [REG-AUTH-***]

[registration]
; описываем параметры регистрации на удаленном сервере [REG-***]

[endpoint-auth]
; описываем параметры авторизации для исходящих звонков через провайдера

[identify]
; Секция отвечает за сопоставление регистрации и endpoint. При поступлении входящего звонка 
; согласно INVITE будет проведена проверка соответствия identify параметров с endpoint. 

[aor]
; Правка секции AOR для endpoint

[endpoint]
; Правка параметров endpoint
```

{% endcode %}

Для завершения настройки нажмите **Сохранить**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FRhTzwNHsQEJIpcIc7erJ%2Fprov_telef_11.png?alt=media&#x26;token=87df59b0-3a5a-4a07-a107-620ba3e829f7" alt=""><figcaption><p>Кнопка "<strong>Сохранить</strong>"</p></figcaption></figure>

## Несколько провайдеров на одном IP <a href="#neskolko_provajderov_na_odnom_ip" id="neskolko_provajderov_na_odnom_ip"></a>

Бывают случаи, когда необходимо подключить несколько учетных записей одного поставщика услуг связи. В этом случае настройки **Хост или IP адрес** и **Порт соединения SIP** могут оказаться одинаковыми для всех учетных записей.

Asterisk такую ситуацию обыгрывает по-своему. АТС не сможет корректно «приземлить» вызов на нужного провайдера и вызов оборвется.

В качестве решения, в старых версиях АТС можно было для какой учетной записи описать дополнительные входящие маршруты и заполнить поле **Дополнительный номер (DID)** значением **Логин**. И так для каждой учетной записи требовалось создать некоторое количество дополнительных маршрутов, равное количеству аккаунтов провайдера.

Альтернатива инструкции [Регистрация нескольких учетных записей от одного провайдера](https://docs.mikopbx.com/mikopbx/faq/cases/registering-multiple-accounts-from-one-provider). Такой подход был не очевиден.

Поле **Логин** в большинстве случаев при входящем звонке будет использоваться в качестве номера назначения **Дополнительный номер (DID)**. И, учитывая, что выходящие маршруты для всех **Логин** будут описаны, вызов будет корректно обработан телефонной станцией.

## Подробнее про тип регистрации

#### **Исходящая регистрация**

Этот вариант используется при подключении большинства провайдеров.

Необходимость регистрации возникает в случае, когда провайдер не может знать, с какого IP-адреса будет подключаться клиент, к примеру, когда АТС расположена за NAT. Сервер провайдера обычно на публичном IP-адресе.

**Входящая регистрация**

Этот вариант актуален для работы некоторых FXO / GSM шлюзов **-** когда внешнее устройство должно подключиться к вашей АТС по логину и паролю.

Также этот вариант актуален, когда удаленное устройство находится за NAT и MikoPBX не может знать его IP адрес.

**Аутентификация по IP адресу, без пароля**

Актуально для безопасных частных сетей. Так к примеру Ростелеком часто ведет свой сетевой кабель и подключает клиента к своей локальной сети.

АТС и провайдер в данном случае должны находиться в одной и той же сети.
