Разбираю для себя как создать внутренний номер внутри развернутой АТС
на базе 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
и нажимаю "Галочку"
Шаг №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
Шаг №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
Почему не проходит регистрация, на софтфоне проходит, а на телефоне нет, в чем причина?
Отресетил все настройки на телефоне и попробую заново все указать
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
все равно регистрация не проходит
попробую приобщиться к использованию утилиты 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.