User Tools

Site Tools


freepbx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
freepbx [2019/09/24 08:54]
val [Подготовка VM]
freepbx [2026/03/30 10:22] (current)
val [Настройка сети]
Line 1: Line 1:
 ====== FreePBX ====== ====== FreePBX ======
  
-  * [[http://www.voxlink.ru/knowledge-base/curriculum/​manual-po-freepbx/|FreePBX руководство]] +  * [[http://val.bmstu.ru/unix/voip/Rukovodstvo_Administratora_FreePBX_na_russkom_yazyke.pdf|FreePBX ​13 руководство]] 
-  * [[http://​wiki.merionet.ru/​ip-telephoniya/​45/​krakozyabry-kodirovka-v-cdr-freepbx-14/​|КРАКОЗЯБРЫ:​ КОДИРОВКА В CDR FREEPBX 14]]+
 ===== Установка ===== ===== Установка =====
  
 +  * [[https://​www.asterisk.org/​downloads/​]]
 +  * [[https://​www.freepbx.org/​get-started/​]]
 +  * [[https://​www.freepbx.org/​downloads/​]]
 +  * [[https://​downloads.freepbxdistro.org/​ISO/​]] Новый образ FreePBX
 + 
 ==== Подготовка VM ==== ==== Подготовка VM ====
  
   * Память от 2Gb   * Память от 2Gb
  
-==== Подготовка voip1.un ​====+==== Настройка сети ​====
  
-  * Учетки 00000X на voip1.un настроить на nat +  * Настройка сети в Linux [[Настройка сети в Linux#Файлы конфигурации ​initscripts]] или
-  * Старые ​сервера остановить,  +
-  * отрегистрировать на voip1 и  +
-  * перезапустить voip1 +
- +
-==== Процесс начальной конфигурации ==== +
- +
-  * В визарде все ответы по умолчанию (Skip или Yes) +
-  * Большая пауза в конфигурационном визарде после выбора временной зоны ​+
  
 <​code>​ <​code>​
-Username: admin +# ifconfig eth0 inet 172.16.1.100+X/24
-Password: Pa$$w0rd +
-Admin Email address: userX@isp.un +
-</code> +
-===== SNG7-FPBX-64bit-1805-2 =====+
  
-!!! Для работы PJSIP необходимо обновить модули (лучше все, занимает,​ примерно ​1 час, некоторые модули обновляются после нескольких итераций,​ необходимо,​ минимум три)+# route add default gw 172.16.1.254
  
-<code> +# echo "​nameserver 172.16.1.254" ​> /​etc/​resolv.conf
-Admin->​Updates->​Module Updates +
-  Check Online, Download all, Upgrade all, Process +
-   +
-  Confirm+
 </​code>​ </​code>​
  
-<​code>​ +  ​* После изменения сетевых настроек нужно произвести рестарт asterisk (так ​же помогает ​при проблемах со звуком)
-# systemctl disable fail2ban +
- +
-# systemctl mask fail2ban +
- +
-# init 6   ​# Перезагружается долго +
- +
- +
-# service asterisk start +
-</​code>​+
  
 <​code>​ <​code>​
-Application-Extensions+[root@freepbx ~]# rasterisk ​-vvv
  
-  Add Extensions -> PJSIP +freepbx*CLI> core restart now
-  User Extension: 402 +
-  Display Name: Petr Petrov +
-  Secret: tpassword402 +
-  Link to a Default User: Create New User +
-  Username: user2   Use Custom Username +
-  Password For New User: password2+
  
 +ИЛИ
  
-Connectivity -> Trunks +[root@freepbx ~]# ps ax | grep ast 
-Add Trunk -> Add...pjsip... +... asterisk ​...
-  Trunk Name: PSTN +
-  Outbound CallerID: 8495NNNNNNN +
-  Username: 00000X +
-  Secret: spasswordX +
-  SIP Server: voip1.un +
-  Contact User: 8495NNNNNNN +
-  From Domain: voip1.un +
-  From User: 00000X+
  
-Connectivity -> Outbound Routes +[root@freepbx ~]# kill NNNN
-  Route Name: ToPSTN +
-  Trunk Sequence for Matched Routes: PSTN +
-  Dial Patterns (match pattern): 8XXXXXXXXXX+
  
-Connectivity -> Inbound Routes +[root@freepbx ~]# service asterisk start
-  Description:​ FromPSTN +
-  DID Number: 8495NNNNNNN +
-  Set Destination:​ Ext 403+
 </​code>​ </​code>​
 +==== Процесс начальной конфигурации ====
  
-===== AsteriskNOW-612 =====+  * В визарде все ответы по умолчанию (Skip или Yes) 
 +  * [[https://​wiki.freepbx.org/​pages/​viewpage.action?​pageId=37912685#​fwconsolecommands(13+)-Unlock|unlock the GUI login of FreePBX to let you into the FreePBX GUI without the username and password]]
  
-==== Setup ==== +  * !!! Большая пауза в конфигурационном визарде для загрузки русских семплов (в настоящее время не доступны)
- +
-Please provide the core credentials that will be used to administer your system+
  
 <​code>​ <​code>​
Line 94: Line 55:
 </​code>​ </​code>​
  
-==== Восстановление ​забытого пароля ==== +==== Отключение ​Firewall ​====
- +
-<​code>​ +
-UPDATE `ampusers` SET `password_sha1` = SHA1('​12345678'​) WHERE `username`='​admin';​ +
-</​code>​ +
- +
-Не активировать,​ отказаться от SIPStation +
- +
-==== Настройки безопасности ​====+
  
-Желательно отключить ​f2ban для локальной сети+  * Можно оставить
  
 <​code>​ <​code>​
-Admin->System Admin->​Intrusion Detection->​Whitelist->​172.16.1.0/​24+Connectivity ​- Firewall ​- Disable Firewall
 </​code>​ </​code>​
  
-==== Общие настройки SIP ==== +  * !!! в методических целях - обязательно
- +
-  * Опционально!!!+
  
 <​code>​ <​code>​
-Settings->​Asterisk SIP Settings +# systemctl stop fail2ban
- +
-или +
-NAT: no +
-IP Configuration:​ Public IP +
- +
-или +
-External IP: 172.16.1.X +
-Local Networks: 192.168.1.0/​255.255.255.0 +
- +
- +
-Allow SIP Guests: no+
 </​code>​ </​code>​
  
-==== Настройка SIP канала ​==== +==== sangoma-freepbx-12 ​====
- +
-В версии 1013 не получается менять имя пользователя при создании канала +
  
 <​code>​ <​code>​
-Applications->Extensions->Generic CHAN SIP devices +# cat /​etc/​network/​interfaces 
-  ​Submit +</code><​code>​ 
-    User Extension: 401 +... 
-    ​Display Name: Ivanov Ivan Ivanovitch +allow-hotplug enp0s3 
-  ​Device Options +iface enp0s3 inet static 
-    ​secret:​ tpassword401+        address 172.16.1.100+X 
 +        netmask 255.255.255.0 
 +        gateway 172.16.1.254 
 +</​code><​code> 
 +# /​etc/​resolv.conf 
 +</​code><​code>​ 
 +nameserver 172.16.1.254 ​ 
 +</​code><​code>​ 
 +# init 6
 </​code>​ </​code>​
  
-==== Отладка ====+  * На шаге "​Sangoma Smart Firewall..."​ выбираем Abort, включим после настройки через Connectivity->​Firewall 
 +  * В случае блокировки использовать команды:​
 <​code>​ <​code>​
-Admin->​Asterisk CLI+# fwconsole firewall disable
  
-Reports->​Asterisk Log Files+# systemctl disable fail2ban
 </​code>​ </​code>​
  
-==== Делегирование прав регистрации абонентов ​====+===== Базовая конфигурация =====
  
-Удерживая клавишу CTRL+Может не понадобиться
  
 <​code>​ <​code>​
-Admin -> Administrator +Settings ​- Asterisk SIP Settings 
-  ​Username: admin2 +  ​External Address: 172.16.1.100+X 
-  ​Password: password2 +  ​Local Networks: 172.16.0.0 / 16 
-  ​Admin Access +  ​Local Networks: 10.0.0.0 / 8
-    Application->​Extensions +
-    Apply Changes Bar +
-    Add Extensions+
 </​code>​ </​code>​
-==== Настройка подключения к VoIP ====+===== Управление ​телефонными номерами и пользователями =====
  
-<​code>​ +  * [[https://​wiki.freepbx.org/​display/​FPG/​Bulk+Handler+User+Guide|Bulk Handler User Guide]]
-Connectivity->​Trunks->​Add SIP Trunk +
-</code>+
  
-=== Обработка исходящих вызовов === 
- 
-== Настройка канала для исходящих вызовов == 
 <​code>​ <​code>​
-Connectivity->​Trunks->​Add SIP Trunk+Application-Extensions
  
-General Settings +  Add Extensions -> PJSIP 
-  ​Trunk Name: Voip1 00000X +  ​User Extension: 402 
-  ​Outbound CallerID: 89166071103+  Display ​Name: Petr Petrov 
 +  ​Secret: tpassword402 
 +  Link to a Default User: Create New User 
 +  Username: user2   Use Custom Username 
 +  Password For New User: password2 
 +</​code><​code>​ 
 +C:\> cd Documents
  
-Outgoing Settings +C:\> notepad extensions.csv 
-  Trunk Name: voip1_00000X +</​code><​code>​ 
- +extension,​name,​secret 
-  PEER Details: +401,Ivan Ivanov,​tpassword401 
- +403,Sidor Sidorov,​tpassword403
-host=voip1.un +
-defaultuser=00000X +
-fromuser=00000X +
-fromdomain=voip1.un +
-secret=spasswordX +
-type=peer+
 </​code>​ </​code>​
  
-== Добавление маршрута для совершения ​исходящих вызовов == +Можно после, когда понадобиться UCP 
-<​code>​ +
-Connectivity->​Outbound Routes->​Add Route +
-Route Name: Call_To_PSTN +
-Dial Patterns that will use this Route  +
-  match pattern 89XXXXXXXXX +
-  match pattern 8495XXXXXXX +
-  match pattern 8499XXXXXXX+
  
-Trunk Sequence for Matched Routes 
-  0: voip1 00000X ​ 
-</​code>​ 
- 
-=== Обработка входящих вызовов === 
- 
-  * [[http://​wiki.merionet.ru/​ip-telephoniya/​35/​nastrojka-modulya-custom-context-v-freepbx/​]] 
- 
-== Настройка канала для входящих звонков == 
 <​code>​ <​code>​
-Connectivity->Trunks->Edit SIP Trunk +C:\> notepad users.csv 
- +</​code><​code> 
-  PEER Details: +username,​password,​default_extension 
- +user1,​password1,​401 
-nat=no +user3,​password3,​403 
-directmedia=no +</​code><​code>​ 
-insecure=invite +Admin -> Bulk Handler 
-callbackextension=voip1_00000X+!!! Не включает в группу All Users, приходится "​вручную"​ для доступа к UCP 
 </​code>​ </​code>​
  
-== Объединение телефонов в группу вызова == +===== Звонки в "город" =====
-<​code>​ +
-Application->​Ring Groups->​Add Ring Group +
-Group Description:​ All Phones +
-Ring Strategy: ringall +
-Extension List: 401 +
-                403 +
-Destination if no answer: Terminate Call Hangup +
-</​code>​+
  
-== Добавление маршрута для обработки входящих вызовов == +  * !!! Могут быть проблемы с голосом,​ помогает потребуется перезагрузка всей системы (попробовать перезагрузить сервис asterisk) ​
-<​code>​ +
-Connectivity->​Inbound Routes->​Add Incoming Route+
  
-Description:​ From voip1 00000X 
-DID Number: voip1_00000X ​ 
-Set Destination:​ Ring Groups: All Phones 
-</​code>​ 
- 
-можно использовать цепочки групп используя атрибут групп "​Destination if no answer"​ 
- 
-==== Управление кодами ДВО ==== 
- 
-  * !!! Для LinkSys может понадобиться отключить Voice->​Regional->​Vertical Service Activation Codes 
  
 <​code>​ <​code>​
-Admin->Feature Codes +Connectivity ​-> Trunks 
-</code>+Add Trunk -> Add...pjsip... 
 +  Trunk Name: PSTN 
 +  Outbound CallerID: 8495NNNNNNN 
 +  Username: 00000X 
 +  Secret: spasswordX 
 +  SIP Server: voip1.un 
 +  Contact User: 8495NNNNNNN 
 +  From Domain: voip1.un 
 +  From User: 00000X
  
-=== Управление переводом вызова === +Connectivity ​-> Outbound Routes 
-<​code>​ +  Route Name: ToPSTN 
-Admin->Feature Codes+  Trunk Sequence for Matched Routes: PSTN 
 +  Dial Patterns (match pattern): 8XXXXXXXXXX
  
-In-Call Asterisk Attended Transfer: *2 +Connectivity ​-> Inbound Routes 
-In-Call Asterisk Blind Transfer ​    ## +  Description: FromPSTN 
- +  DID Number: 8495NNNNNNN 
-Setting->​General Setting->​Asterisk Dial command options: Tt...+  Set Destination: Ext 403
 </​code>​ </​code>​
  
-=== Перехват вызовов ===+===== Звонки ​в "соседний офис"​ =====
 <​code>​ <​code>​
-Application->Extension->4XX +Connectivity ​-> Trunks 
-callgroup: 1 +Add Trunk -> Add...iax2... 
-pickupgroup: 1 +  Trunk Name: CORP 
-</​code>​ +  ​Outbound CallerID: 013401 
-==== Follow Me ====+  iax Settings 
 +    ​Outgoing 
 +      Trunk Name: corp_out 
 +      PEER Details 
 +host=corp.un 
 +username=corp13 
 +secret=apassword13 
 +type=peer 
 +auth=md5 
 +    Incoming 
 +      USER Context: corp 
 +      USER Details: 
 +secret=apassword 
 +type=user 
 +host=dynamic 
 +auth=md5 
 +   
 +Connectivity -> Outbound Routes 
 +  Route Name: ToCORP 
 +  Trunk Sequence for Matched Routes: CORP 
 +  Dial Patterns  
 +    prefix: 000 
 +    match pattern: XXX
  
-<​code>​ +Connectivity ​-> Inbound Routes 
-Admin->​User Management->Ivanov Ivan Ivanovitch +  ​Description: FromCORP 
-  ​Login Name: user1 +  ​DID Number: _XXX 
-  ​Password: password1 +  ​Set Destination: Ext 401 
-  ​Linked Extension: 401 +</​code> ​ 
-</​code>​ +
- +
-==== Локализация ====+
  
-  * [[Сервис Asterisk#Локализация сообщений Asterisk]]+===== Интерфейс пользователя =====
  
 +  * Unconditional Call Forwarding
 <​code>​ <​code>​
-Settings->​Asterisk SIP Settings->​Chan SIP +http://​172.16.1.100+X/​ucp/​
-  Language: ru+
 </​code>​ </​code>​
  
Line 286: Line 217:
  
   * [[https://​asterisk-pbx.ru/​wiki/​freepbx/​custom_context|Во FreePBX предусмотрено использование пользовательских (custom) файлов]]   * [[https://​asterisk-pbx.ru/​wiki/​freepbx/​custom_context|Во FreePBX предусмотрено использование пользовательских (custom) файлов]]
 +
 +  * Admin -> Config Edit
 <​code>​ <​code>​
-# cat /​etc/​asterisk/​sip_general_additional.conf 
-</​code><​code>​ 
-... 
-</​code><​code>​ 
-# cat /​etc/​asterisk/​sip_additional.conf 
-</​code><​code>​ 
-... 
-</​code><​code>​ 
-# cat /​etc/​asterisk/​extensions_additional.conf 
-</​code><​code>​ 
-... 
-</​code><​code>​ 
-# cat /​etc/​asterisk/​sip_custom.conf 
-</​code><​code>​ 
-language=ru 
-</​code><​code>​ 
 # cat /​etc/​asterisk/​extensions_custom.conf # cat /​etc/​asterisk/​extensions_custom.conf
 </​code><​code>​ </​code><​code>​
Line 315: Line 232:
 </​code>​ </​code>​
  
 +===== Сброс пароля =====
 +  * [[https://​voxlink.ru/​kb/​freepbx/​if-you-forgot-your-password-freepbx/​]]
 +<​code>​
 +MariaDB [(none)]>​ USE asterisk;
 +
 +MariaDB [asterisk]>​ SELECT * FROM `ampusers`;
 +
 +UPDATE `ampusers` SET `password_sha1` = SHA1('​strongpassword'​) WHERE `username`='​admin';​
 +</​code>​
 +
 +===== Дополнительные задания =====
  
 +  * Настроить IVR
 +  * Добавить учетную запись помошника администратора с ограниченными правами (только на регистрацию телефонов и пользователей)
 +  * Разобраться,​ как сделать импорт пользователей с автоматическим включение в группу "All Users"
freepbx.1569304470.txt.gz · Last modified: 2019/09/24 08:54 by val