Разбираю для себя как создать внутренний номер внутри развернутой АТС на базе FreePBX из дистрибутива SNG7-PBX16-64bit-2302-1.iso

Основой любой АТС являются внутренние номера, которыми идентифицируются абоненты в системе. В данной статье я на собственном примере рассмотрю, как средствами Web-интерфейса FreePBX создаются внутренние номера (Extensions)

В заметке участвуют:

  • Смартфон Honor 9X с установленным приложением через Google Play: GS Wave
  • Телефонный аппарат: ATCOM AT610

Шаг №1: Авторизуюсь на своей развернутой АТС установленной опираясь на заметку: "Как установить образ SNG7-PBX16 on Proxmox"

https://IP&DNS (172.35.35.27) – после нажимаю на FreePBX Administration – авторизуюсь

Управление внутренними номерами производится на вкладке: Applications (Приложения) - Extensions (Внутренние номера)

Типы устройств, которые можно создать:

  • Generic SIP [chan_pjsip] — устройство работающее по технологии SIP
  • Generic IAX2 Device — устройство работающее по технологии IAX2
  • Generic DUHDI Device — аналоговое устройство
  • Other (Custom) Device — устройство не использующее вышеперечисленные технологии
  • None (virtual exten) — виртуальное устройство

Выбрав тип устройства, нажмите кнопку Submit, откроется страница задания параметров внутреннего номера.

Шаг №2: Создаю  PJSIP:

https://IP&DNS (172.35.35.27) – после нажимаю на FreePBX Administration – авторизуюсь – Applications – Extensions – Add Extension – Add New SIP [chan_pjsip] Extension

вкладка General

  • User Extension: 1001
  • Display Name: phone 1001
  • Secret: Aa1234567aA
  • Language Code: English

и нажимаю Submit, Apply Config

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

Шаг №3: Настраиваю его либо на телефонном аппарате, либо на софтфоне:

Понадобятся следующие данные

Включаю Wi-Fi на своем смартфоне Honor 9X

На свой смартфон Honor 9X устанавливаю приложение GS Wave через Google Play

Запускаю приложение GS Wave – Параметры – Параметры аккаунта – нажимаю +(Общие аккаунты) выбираю Sip  Аккаунт

  • Активный аккаунт: Да
  • Имя аккаунта: pbx
  • SIP-сервер: 172.35.35.27
  • Синтаксис: IPv4:port/[IPv6]:port
  • ID  пользователя SIP: 1001
  • Аутентификационный идентификатор SIP: 1001
  • Пароль: Aa1234567aA

и нажимаю "Галочку"

SIP Аккаунт на смартфоне Honor 9X через приложение GS Wave успешно зарегистрирован.

Шаг №4: Для тестирования нашего пользователя вы можете использовать софтфон (приложение GS Wave) набрав с него *65 — система продиктует вам ваш внутренний номер, пока на английском.

Да, продиктовала

Шаг №5: Проверяю, а как через оснастку FreePBX посмотреть, что внутренний номер успешно зарегистрирован:

https://IP&DNS (172.35.35.27) – после нажимаю на FreePBX Administration – авторизуюсь – Reports – Asterisk Info – Peers

Endpoint:  <Endpoint/CID.....................................>  <State.....>  <Channels.>
I/OAuth:  <AuthId/UserName...........................................................>
Aor:  <Aor............................................>  <MaxContact>
Contact:  <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress..................>
Identify:  <Identify/Endpoint.........................................................>
Match:  <criteria.........................>
Channel:  <ChannelId......................................>  <State.....>  <Time.....>
Exten: <DialedExten...........>  CLCID: <ConnectedLineCID.......>
==========================================================================================

Endpoint:  1001/1001                                            Not in use    0 of inf
InAuth:  1001-auth/1001
Aor:  1001                                               1
Contact:  1001/sip:1001@172.33.33.101:52637          f2a2efcd1c Avail       230.426


Objects found: 1

Шаг №6: Проверяю, а как через консоль FreePBX посмотреть, что внутренний номер успешно зарегистрирован:

freepbx*CLI> pjsip show endpoints

 Endpoint:  <Endpoint/CID.....................................>  <State.....>  <Channels.>
    I/OAuth:  <AuthId/UserName...........................................................>
        Aor:  <Aor............................................>  <MaxContact>
      Contact:  <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
  Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress..................>
   Identify:  <Identify/Endpoint.........................................................>
        Match:  <criteria.........................>
    Channel:  <ChannelId......................................>  <State.....>  <Time.....>
        Exten: <DialedExten...........>  CLCID: <ConnectedLineCID.......>
==========================================================================================

 Endpoint:  1001/1001                                            Not in use    0 of inf
     InAuth:  1001-auth/1001
        Aor:  1001                                               1
      Contact:  1001/sip:1001@172.33.33.101:52637          f2a2efcd1c Avail       285.260


Objects found: 1

freepbx*CLI>

Шаг №7: Также увидеть какие из "Внутренних номеров" зарегистрированы на FreePBX (все):

https://IP&DNS (172.35.35.27) – после нажимаю на FreePBX Administration – авторизуюсь – Settings – Extension Settings

Увидеть какие из “Внутренних номеров” зарегистрированы на FreePBX (все):

Шаг №8: Можно ограничить с каких внутренних сетей возможна регистрация внутреннего номера:

https://IP&DNS (172.35.35.27) – после нажимаю на FreePBX Administration – авторизуюсь – Applications – Extensions – захожу в номер 1001 – вкладка Advanced – (Edit Extension)

  • Match (Permit): 172.35.35.0/24,172.33.33.0/24

На заметку: Значение представляет собой список IP-адресов, разделенных запятыми. IP-адреса могут иметь добавленную маску подсети. Маска подсети может быть записана либо в формате CIDR, либо в точечно-десятичной системе счисления. Разделяйте IP-адрес и маску подсети косой чертой ('/').

и нажимаю Submit, Apply Config

Шаг №9: Проверяю, а будет ли регистрация из сети OpenVPN на смартфоне Honor 9X с приложением GS Wave и что по логам нам сообщит FreePBX, ха, а регистрация все равно прошла:

    -- Attempted to remove non-existent contact 'sip:1001@10.8.0.10:55527' from AOR '1001' by request
    -- Attempted to remove non-existent contact 'sip:1001@10.8.0.10:55527' from AOR '1001' by request
    -- Added contact 'sip:1001@10.8.0.10:55527' to AOR '1001' with expiration of 3600 seconds
    -- Removed contact 'sip:1001@10.8.0.10:20099' from AOR '1001' due to remove existing
  == Contact 1001/sip:1001@10.8.0.10:20099 has been deleted
  == Endpoint 1001 is now Reachable
    -- Contact 1001/sip:1001@10.8.0.10:55527 is now Reachable.  RTT: 118.599 msec
freepbx*CLI>

Шаг №10: У меня телефонный аппарат ATCOM AT610 попробую на нем выполнить регистрацию еще одного внутреннего номера (1002)

http://172.33.33.113/ - admin&admin – VOIP -

  • Server Address: 172.35.35.27
  • Server Port: 5060
  • Account Name: 1002
  • Password: Aa1234567aA
  • Phone Number: 1002
  • Display Name: ext 1002
  • Enable Register: отмечаю галочкой

и нажимаю Apply

но почему-то получаю что не могу

[2023-03-03 08:16:52] NOTICE[4495]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from '"1002" <sip:1002@172.35.35.27>' failed for '172.33.33.113:5060' (callid: 275722171628022-14802109864971@172.33.33.113) - Failed to authenticate

Failed with 401

Не регистрируется SIP номер на ATCOM AT610

Почему не проходит регистрация, на софтфоне проходит, а на телефоне нет, в чем причина?

Отресетил все настройки на телефоне и попробую заново все указать

http://172.33.33.113/ - admin&admin – VOIP -

  • Server Address: 172.35.35.27
  • Server Port: 5060
  • Account Name: 1002
  • Password: Aa1234567aA
  • Phone Number: 1002
  • Display Name: ext 1002
  • Enable Register: отмечаю галочкой

и нажимаю Apply

Сбросил все настройки на телефонном аппарате ATCOM AT610 - и все равно не регистрируется SIP-аккаунт

все равно регистрация не проходит

попробую приобщиться к использованию утилиты sngrep

через sngrep вижу успешную регистрацию телефона (софтфона)

через sngrep вижу успешную регистрацию телефона (софтфона)

а вот с физического телефона ATCOM AT610 нет:

[2023-03-03 08:54:29] NOTICE[13954]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from '"1002" <sip:1002@172.35.35.27>' failed for '172.35.35.29:5060' (callid: 149642635731347-1207528687789@172.35.35.29) - Failed to authenticate

На заметку: Пароль правильный указываю, даже пробовал менять его на простой, к примеру 12345678 и все равно возвращает Failed to authenticate.

Не могу пока разобраться, почему не идет авторизация с физического телефона и где затык, вроде все правильно и ранее я уже регистрировал

Попробовал перебить регистрацию на другой Asterisk + PJSIP без оснастки FreePBX и там

ekzorchik@srv-us2204a:~$ sudo nano /etc/asterisk/pjsip.conf

;создаем аккаунт и привязываем к нему шаблон
[1001](endpoint-template)
auth = auth1001
callerid = phone1 <1001>
aors = 1001

[1001](aor-reg-template)

[auth1001](auth-userpass-template)
username = 1001
password = Aa1234567aA

ekzorchik@srv-us2204a:~$ sudo asterisk -rvvv
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 16.26.1 currently running on srv-us2204a (pid = 859)
srv-us2204a*CLI> core reload

[Mar  3 12:09:04] NOTICE[85671]: app_queue.c:9449 reload_queue_rules: queuerules.conf has not changed since it was last loaded. Not taking any action.
 Reloading SIP
 Reloading unistim.conf...
    -- Added contact 'sip:1001@172.35.35.29:5060' to AOR '1001' with expiration of 60 seconds
  == Endpoint 1001 is now Reachable
srv-us2204a*CLI>

Вопрос почему регистрация прошла на консольном, а на FreePBX не идет. Т.к. пока не полностью понимаю где смотреть во FreePBX что не нравится, оставлю, как есть.

Пока все, буду дополнять свой конспект, с уважением автор блога Олло Александр aka ekzorchik.