This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
freepbx [2019/09/18 09:53] val [Установка] |
freepbx [2022/04/04 15:50] val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== FreePBX ====== | ====== FreePBX ====== | ||
- | * [[http://www.voxlink.ru/knowledge-base/curriculum/manual-po-freepbx/|FreePBX руководство]] | + | * [[http://gate.isp.un/unix/VBox/FreePBX%201910-2.ova]] |
- | * [[http://wiki.merionet.ru/ip-telephoniya/45/krakozyabry-kodirovka-v-cdr-freepbx-14/|КРАКОЗЯБРЫ: КОДИРОВКА В CDR FREEPBX 14]] | + | * [[http://val.bmstu.ru/unix/voip/Rukovodstvo_Administratora_FreePBX_na_russkom_yazyke.pdf|FreePBX 13 руководство]] |
===== Установка ===== | ===== Установка ===== | ||
==== Подготовка VM ==== | ==== Подготовка VM ==== | ||
- | * Память от 1Gb | + | * Память от 2Gb |
+ | * https://www.freepbx.org/downloads/ | ||
+ | * https://www.asterisk.org/downloads/ | ||
- | ==== Подготовка voip1.un ==== | + | ==== Настройка сети ==== |
+ | |||
+ | * При наличии вебинаристов использовать сеть 172.16.1.0/24 | ||
+ | * Настройка сети в Linux [[Настройка сети в Linux#Файлы конфигурации CentOS/SL/RHEL]] или | ||
+ | |||
+ | <code> | ||
+ | # ifconfig eth0 inet 172.16.1.100+X/24 | ||
+ | |||
+ | # route add default gw 172.16.1.254 | ||
+ | </code> | ||
- | * Учетки 00000X на voip1.un настроить на nat | ||
- | * Старые сервера остановить, | ||
- | * отрегистрировать на voip1 и | ||
- | * перезапустить voip1 | ||
==== Процесс начальной конфигурации ==== | ==== Процесс начальной конфигурации ==== | ||
* В визарде все ответы по умолчанию (Skip или Yes) | * В визарде все ответы по умолчанию (Skip или Yes) | ||
- | * Большая пауза в конфигурационном визарде после выбора временной зоны | + | * !!! Большая пауза в конфигурационном визарде для загрузки русских семплов (возможно, после выбора временной зоны) |
<code> | <code> | ||
Username: admin | Username: admin | ||
Line 26: | Line 33: | ||
Admin Email address: userX@isp.un | Admin Email address: userX@isp.un | ||
</code> | </code> | ||
- | ===== SNG7-FPBX-64bit-1805-2 ===== | ||
- | !!! Для работы PJSIP необходимо обновить модули (лучше все, занимает, примерно 1 час, некоторые модули обновляются после нескольких итераций, необходимо, минимум три) | + | ==== Отключение Firewall ==== |
+ | |||
+ | * !!! в методических целях | ||
<code> | <code> | ||
- | Admin->Updates->Module Updates | + | Connectivity - Firewall - Disable Firewall |
- | Check Online, Download all, Upgrade all, Process | + | |
</code> | </code> | ||
<code> | <code> | ||
- | # systemctl disable fail2ban | + | # systemctl stop fail2ban |
- | + | ||
- | # systemctl mask fail2ban | + | |
- | + | ||
- | # init 6 | + | |
</code> | </code> | ||
+ | ===== Базовая конфигурация ===== | ||
+ | <code> | ||
+ | Settings - Asterisk SIP Settings | ||
+ | External Address: 172.16.1.100+X | ||
+ | Local Networks: 172.16.0.0 / 16 | ||
+ | Local Networks: 10.0.0.0 / 8 | ||
+ | </code> | ||
+ | ===== Управление телефонными номерами и пользователями ===== | ||
<code> | <code> | ||
Application-Extensions | Application-Extensions | ||
Line 53: | Line 64: | ||
Username: user2 Use Custom Username | Username: user2 Use Custom Username | ||
Password For New User: password2 | Password For New User: password2 | ||
+ | </code><code> | ||
+ | C:\> notepad extensions.csv | ||
+ | </code><code> | ||
+ | extension,name,secret | ||
+ | 401,Ivan Ivanov,tpassword401 | ||
+ | 403,Sidor Sidorov,tpassword403 | ||
+ | </code><code> | ||
+ | C:\> notepad extensions.csv | ||
+ | </code><code> | ||
+ | username,password,default_extension | ||
+ | user1,password1,401 | ||
+ | user3,password3,403 | ||
+ | </code><code> | ||
+ | Admin -> Bulk Handler | ||
+ | </code> | ||
+ | ===== Звонки в "город" ===== | ||
+ | * !!! Могут быть проблемы с голосом, помогает потребуется перезагрузка сервиса asterisk или всей системы | ||
+ | |||
+ | <code> | ||
Connectivity -> Trunks | Connectivity -> Trunks | ||
Add Trunk -> Add...pjsip... | Add Trunk -> Add...pjsip... | ||
Line 69: | Line 99: | ||
Route Name: ToPSTN | Route Name: ToPSTN | ||
Trunk Sequence for Matched Routes: PSTN | Trunk Sequence for Matched Routes: PSTN | ||
- | Dial Patterns: 8XXXXXXXXXX | + | Dial Patterns (match pattern): 8XXXXXXXXXX |
Connectivity -> Inbound Routes | Connectivity -> Inbound Routes | ||
Line 77: | Line 107: | ||
</code> | </code> | ||
- | ===== AsteriskNOW-612 ===== | + | ===== Звонки в "соседний офис" ===== |
- | + | ||
- | ==== Setup ==== | + | |
- | + | ||
- | Please provide the core credentials that will be used to administer your system | + | |
<code> | <code> | ||
- | Username: admin | + | Connectivity -> Trunks |
- | Password: Pa$$w0rd | + | Add Trunk -> Add...iax2... |
- | Admin Email address: userX@isp.un | + | Trunk Name: CORP |
- | </code> | + | Outbound CallerID: 013401 |
- | + | iax Settings | |
- | ==== Восстановление забытого пароля ==== | + | Outgoing |
- | + | Trunk Name: corp_out | |
- | <code> | + | PEER Details |
- | UPDATE `ampusers` SET `password_sha1` = SHA1('12345678') WHERE `username`='admin'; | + | host=corp.un |
- | </code> | + | username=corp13 |
- | + | secret=apassword13 | |
- | Не активировать, отказаться от SIPStation | + | |
- | + | ||
- | ==== Настройки безопасности ==== | + | |
- | + | ||
- | Желательно отключить f2ban для локальной сети | + | |
- | + | ||
- | <code> | + | |
- | Admin->System Admin->Intrusion Detection->Whitelist->172.16.1.0/24 | + | |
- | </code> | + | |
- | + | ||
- | ==== Общие настройки SIP ==== | + | |
- | + | ||
- | * Опционально!!! | + | |
- | + | ||
- | <code> | + | |
- | Settings->Asterisk SIP Settings | + | |
- | + | ||
- | или | + | |
- | 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> | + | |
- | + | ||
- | ==== Настройка SIP канала ==== | + | |
- | + | ||
- | В версии 1013 не получается менять имя пользователя при создании канала | + | |
- | + | ||
- | <code> | + | |
- | Applications->Extensions->Generic CHAN SIP devices | + | |
- | Submit | + | |
- | User Extension: 401 | + | |
- | Display Name: Ivanov Ivan Ivanovitch | + | |
- | Device Options | + | |
- | secret: tpassword401 | + | |
- | </code> | + | |
- | + | ||
- | ==== Отладка ==== | + | |
- | <code> | + | |
- | Admin->Asterisk CLI | + | |
- | + | ||
- | Reports->Asterisk Log Files | + | |
- | </code> | + | |
- | + | ||
- | ==== Делегирование прав регистрации абонентов ==== | + | |
- | + | ||
- | Удерживая клавишу CTRL | + | |
- | + | ||
- | <code> | + | |
- | Admin -> Administrator | + | |
- | Username: admin2 | + | |
- | Password: password2 | + | |
- | Admin Access | + | |
- | Application->Extensions | + | |
- | Apply Changes Bar | + | |
- | Add Extensions | + | |
- | </code> | + | |
- | ==== Настройка подключения к VoIP ==== | + | |
- | + | ||
- | <code> | + | |
- | Connectivity->Trunks->Add SIP Trunk | + | |
- | </code> | + | |
- | + | ||
- | === Обработка исходящих вызовов === | + | |
- | + | ||
- | == Настройка канала для исходящих вызовов == | + | |
- | <code> | + | |
- | Connectivity->Trunks->Add SIP Trunk | + | |
- | + | ||
- | General Settings | + | |
- | Trunk Name: Voip1 00000X | + | |
- | Outbound CallerID: 89166071103 | + | |
- | + | ||
- | Outgoing Settings | + | |
- | Trunk Name: voip1_00000X | + | |
- | + | ||
- | PEER Details: | + | |
- | + | ||
- | host=voip1.un | + | |
- | defaultuser=00000X | + | |
- | fromuser=00000X | + | |
- | fromdomain=voip1.un | + | |
- | secret=spasswordX | + | |
type=peer | type=peer | ||
- | </code> | + | 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 | ||
- | == Добавление маршрута для совершения исходящих вызовов == | + | Connectivity -> Inbound Routes |
- | <code> | + | Description: FromCORP |
- | Connectivity->Outbound Routes->Add Route | + | DID Number: _XXX |
- | Route Name: Call_To_PSTN | + | Set Destination: Ext 401 |
- | Dial Patterns that will use this Route | + | </code> |
- | 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 | + | http://172.16.1.100+X/ucp/ |
- | + | ||
- | PEER Details: | + | |
- | + | ||
- | nat=no | + | |
- | directmedia=no | + | |
- | insecure=invite | + | |
- | callbackextension=voip1_00000X | + | |
- | </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> | + | |
- | + | ||
- | == Добавление маршрута для обработки входящих вызовов == | + | |
- | <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> | + | |
- | Admin->Feature Codes | + | |
- | </code> | + | |
- | + | ||
- | === Управление переводом вызова === | + | |
- | <code> | + | |
- | Admin->Feature Codes | + | |
- | + | ||
- | In-Call Asterisk Attended Transfer: *2 | + | |
- | In-Call Asterisk Blind Transfer ## | + | |
- | + | ||
- | Setting->General Setting->Asterisk Dial command options: Tt... | + | |
- | </code> | + | |
- | + | ||
- | === Перехват вызовов === | + | |
- | <code> | + | |
- | Application->Extension->4XX | + | |
- | callgroup: 1 | + | |
- | pickupgroup: 1 | + | |
- | </code> | + | |
- | ==== Follow Me ==== | + | |
- | + | ||
- | <code> | + | |
- | Admin->User Management->Ivanov Ivan Ivanovitch | + | |
- | Login Name: user1 | + | |
- | Password: password1 | + | |
- | Linked Extension: 401 | + | |
- | </code> | + | |
- | + | ||
- | ==== Локализация ==== | + | |
- | + | ||
- | * [[Сервис Asterisk#Локализация сообщений Asterisk]] | + | |
- | + | ||
- | <code> | + | |
- | Settings->Asterisk SIP Settings->Chan SIP | + | |
- | Language: ru | + | |
</code> | </code> | ||
Line 282: | Line 153: | ||
* [[https://asterisk-pbx.ru/wiki/freepbx/custom_context|Во FreePBX предусмотрено использование пользовательских (custom) файлов]] | * [[https://asterisk-pbx.ru/wiki/freepbx/custom_context|Во FreePBX предусмотрено использование пользовательских (custom) файлов]] | ||
<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> |