Инструменты пользователя

Инструменты сайта


install_local_version_fpbx

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
install_local_version_fpbx [2019/06/21 12:04]
Евгений Романенко
install_local_version_fpbx [2023/02/16 13:46] (текущий)
Евгений Романенко
Строка 1: Строка 1:
 ===== Системные требования.===== ===== Системные требования.=====
  
-  * На сервере (здесь и далее примем,​ что “сервером” может быть как отдельный компьютер,​ \\ так и виртуальная машина,​ VPS/VDS и т .д. \\ Также отметим:​ docker-контейнер с локальной версией системы статистики может быть запущен как на том же сервере,​ что и АТС Asterisk, так и на отдельном сервере) должна быть установлена операционная система Linux семейства Debian не ниже ​8.0 (Ubuntu ​14.04  и выше), CentOS не ниже 7.0 или другие дистрибутивы с актуальной базой репозиториев.+  * На сервере (здесь и далее примем,​ что “сервером” может быть как отдельный компьютер,​ \\ так и виртуальная машина,​ VPS/VDS и т .д. \\ Также отметим:​ docker-контейнер с локальной версией системы статистики может быть запущен как на том же сервере,​ что и АТС Asterisk, так и на отдельном сервере) должна быть установлена операционная система Linux семейства Debian не ниже ​10.0 (Ubuntu ​18.04  и выше), CentOS не ниже 7 или другие дистрибутивы с актуальной базой репозиториев.
  
   * IP АТС Asterisk должна быть версии не ниже 1.8. \\ На Asterisk должна быть настроена запись информации о разговорах в таблицы cel, cdr и queue_log, подробную информацию о необходимых настройках Asterisk вы найдете ниже в разделе "​Настройки Asterisk"​.   * IP АТС Asterisk должна быть версии не ниже 1.8. \\ На Asterisk должна быть настроена запись информации о разговорах в таблицы cel, cdr и queue_log, подробную информацию о необходимых настройках Asterisk вы найдете ниже в разделе "​Настройки Asterisk"​.
Строка 7: Строка 7:
   * Сервер БД MySQL не ниже версии 5.5.   * Сервер БД MySQL не ниже версии 5.5.
  
-  * Docker версии 1.7.1 и выше (версии ниже нужно проверять дополнительно). \\ Установка docker в различных ОС подробно расписана в официальной документации:​ \\ [[https://store.docker.com/​editions/community/docker-ce-server-debian?​tab=description|Debian]], [[https://store.docker.com/​editions/community/docker-ce-server-ubuntu?​tab=description|Ubuntu]], [[https://store.docker.com/​editions/community/docker-ce-server-centos?​tab=description|CentOS]]. \\ Для установки в FreePBX 13 можете воспользоваться [[https://​wiki.vistep.ru/​doku.php?​id=установка_docker_на_freepbx_13_centos_6.6|нашей инструкцией]]+  * Docker версии 1.7.1 и выше (версии ниже нужно проверять дополнительно). \\ Установка docker в различных ОС подробно расписана в официальной документации:​ \\ [[https://docs.docker.com/​engine/install/debian/|Debian]], [[https://docs.docker.com/​engine/install/ubuntu/|Ubuntu]], [[https://docs.docker.com/​engine/install/centos/|CentOS]]. \\ Для установки в FreePBX 13 можете воспользоваться [[https://​wiki.vistep.ru/​doku.php?​id=установка_docker_на_freepbx_13_centos_6.6|нашей инструкцией]]
  
 ==== Вводная ==== ==== Вводная ====
Строка 14: Строка 14:
  
 ==== Настройка ==== ==== Настройка ====
-Часть шагов по конфигурированию вам поможет сделать установщик, ​доступный для скачивания ​по [[https://​vistep.ru/​statlocal/​installer|данной ссылке]]\\+Часть шагов по конфигурированию вам поможет сделать установщик,​ ссылку ​для скачивания ​которого пришлют наши инженеры после ​оплаты\\
 Скачайте,​ запустите и следуйте его инструкциям.\\ Скачайте,​ запустите и следуйте его инструкциям.\\
 В данном [[https://​youtu.be/​eYNTPAa06U4|видео]] представлен пример работы установщика на АТС FreePBX \\ В данном [[https://​youtu.be/​eYNTPAa06U4|видео]] представлен пример работы установщика на АТС FreePBX \\
Строка 22: Строка 22:
 Module '​cdr_adaptive_odbc.so'​ reloaded successfully. Module '​cdr_adaptive_odbc.so'​ reloaded successfully.
 localhost*CLI> ​ </​code>​ localhost*CLI> ​ </​code>​
-  - Далее настроим внесение realsrc и realdst-полей в cdr. \\ \\ Отредактируйте /​etc/​asterisk/​extensions_override_freepbx.conf,​ внеся в него <​code>​[sub-record-check]+  - Далее настроим внесение realsrc и realdst-полей в cdr. \\ \\ Отредактируйте /​etc/​asterisk/​extensions_override_freepbx.conf,​ внеся в него <​code>​[ext-did-catchall] 
 +include => ext-did-catchall-custom 
 +exten => _.,​1,​Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.) 
 +exten => _.,​n,​Set(__FROM_DID=${EXTEN}) 
 +exten => _.,​n,​Set(_VISTEPRUREALDST=${FROM_DID}) 
 +exten => _.,​n,​Set(_VISTEPRUREALSRC=${CALLERID(num)}) 
 +exten => _.,​n,​Set(CDR(realsrc)=${VISTEPRUREALSRC}) 
 +exten => _.,​n,​Set(CDR(realdst)=${VISTEPRUREALDST}) 
 +exten => _.,​n,​Goto(ext-did,​s,​1) 
 + 
 +[sub-record-check]
 include => sub-record-check-custom include => sub-record-check-custom
 exten => s,​1,​GotoIf($[${LEN(${FROMEXTEN})}]?​initialized) exten => s,​1,​GotoIf($[${LEN(${FROMEXTEN})}]?​initialized)
Строка 79: Строка 89:
 exten => out,​n,​Set(CDR(realsrc)=${FROMEXTEN}) exten => out,​n,​Set(CDR(realsrc)=${FROMEXTEN})
 exten => out,​n,​Set(CDR(realdst)=${ARG2}) exten => out,​n,​Set(CDR(realdst)=${ARG2})
 +exten => out,​n,​Set(CUTTEDCHANNEL=${CUT(CHANNEL,,​1)})
 +exten => out,​n,​Set(CUTTEDCHANNEL=${CUT(CUTTEDCHANNEL,/,​2)})
 +exten => out,​n,​ExecIf($["​${FROMEXTEN}"​ = "​${ARG2}"​]?​Set(CDR(realsrc)=${CUTTEDCHANNEL}))
 exten => out,​n,​Set(RECMODE=${DB(AMPUSER/​${FROMEXTEN}/​recording/​out/​external)}) exten => out,​n,​Set(RECMODE=${DB(AMPUSER/​${FROMEXTEN}/​recording/​out/​external)})
 exten => out,​n,​ExecIf($[!${LEN(${RECMODE})} | "​${RECMODE}"​ = "​dontcare"​]?​Goto(routewins)) exten => out,​n,​ExecIf($[!${LEN(${RECMODE})} | "​${RECMODE}"​ = "​dontcare"​]?​Goto(routewins))
Строка 89: Строка 102:
 exten => in,​1,​Noop(Inbound Recording Check to ${ARG2}) exten => in,​1,​Noop(Inbound Recording Check to ${ARG2})
 exten => in,​n,​Set(FROMEXTEN=unknown) exten => in,​n,​Set(FROMEXTEN=unknown)
 +exten => in,​n,​ExecIf($[${LEN(${FROM_DID})}]?​Set(_VISTEPRUREALDST=${FROM_DID}))
 exten => in,​n,​ExecIf($[${LEN(${CALLERID(num)})}]?​Set(FROMEXTEN=${CALLERID(num)})) exten => in,​n,​ExecIf($[${LEN(${CALLERID(num)})}]?​Set(FROMEXTEN=${CALLERID(num)}))
-exten => in,​n,​Set(_VISTEPRUREALDST=${ARG2}) +exten => in,n,ExecIf($[${LEN(${VISTEPRUREALDST})}]?​NoOp("​=== VISTEPRUREALDST has already been set ==="):Set(_VISTEPRUREALDST=${ARG2})
-exten => in,​n,​Set(_VISTEPRUREALSRC=${FROMEXTEN})+exten => in,n,ExecIf($[${LEN(${VISTEPRUREALSRC})}]?​NoOp("​=== VISTEPRUREALSRC has already been set ==="):Set(_VISTEPRUREALSRC=${FROMEXTEN}))
 exten => in,​n,​Set(CDR(realsrc)=${VISTEPRUREALSRC}) exten => in,​n,​Set(CDR(realsrc)=${VISTEPRUREALSRC})
 exten => in,​n,​Set(CDR(realdst)=${VISTEPRUREALDST}) exten => in,​n,​Set(CDR(realdst)=${VISTEPRUREALDST})
Строка 154: Строка 168:
 exten => parking,​n,​Return() exten => parking,​n,​Return()
  
-;--== end of [sub-record-check] ==--;</​code>​ \\ и выполните команду <​code>​dialplan reload</​code>​ в консоли Asterisk \\ **Код проверен на FreePBX 13.0.191.11 ​и 14.0.2.10 .** \\ Если мажорная (13 в данном примере) версия FreePBX ​ у вас отличается,​ то контекст [sub-record-check] может быть немного другим. Напишите нам на <​support@vistep.ru>​ и мы поможем с написанием диалплана данного контекста.+;--== end of [sub-record-check] ==--;</​code>​ \\ и выполните команду <​code>​dialplan reload</​code>​ в консоли Asterisk \\ **Код проверен на FreePBX 13.0.191.1114.0.2.10 ​и  15.0.23.25.** \\ Если мажорная (13 в данном примере) версия FreePBX ​ у вас отличается,​ то контекст [sub-record-check] может быть немного другим. Напишите нам на <​support@vistep.ru>​ и мы поможем с написанием диалплана данного контекста.
   - Теперь научим FreePBX писать табличку queue_log. \\ Отправляемся в web-интерфейс и создаем новый файл под именем **extconfig.conf**,​ кликнув Add New File. \\ Внести в него нужно лишь одну строчку <code bash>​[settings]   - Теперь научим FreePBX писать табличку queue_log. \\ Отправляемся в web-интерфейс и создаем новый файл под именем **extconfig.conf**,​ кликнув Add New File. \\ Внести в него нужно лишь одну строчку <code bash>​[settings]
 queue_log => odbc,​asteriskcdrdb</​code>​ Скрин: {{https://​img.vistep.ru/​i/​5347bc8b8a5a1f66dd9c87a7c980.png}} *не забываем про Save и Apply Configs \\ После выполнения данных действий и совершения звонков в очереди,​ запрос из консоли mysql <code sql>​select * from queue_log;</​code>​ должен вернуть вам нечто подобное {{https://​img.vistep.ru/​i/​7d2a89142a30ddd7ea0c36e2443b.png}} *на запрос в скрине не ориентируйтесь,​ там мы специально добавили условие,​ чтобы сократить выхлоп queue_log => odbc,​asteriskcdrdb</​code>​ Скрин: {{https://​img.vistep.ru/​i/​5347bc8b8a5a1f66dd9c87a7c980.png}} *не забываем про Save и Apply Configs \\ После выполнения данных действий и совершения звонков в очереди,​ запрос из консоли mysql <code sql>​select * from queue_log;</​code>​ должен вернуть вам нечто подобное {{https://​img.vistep.ru/​i/​7d2a89142a30ddd7ea0c36e2443b.png}} *на запрос в скрине не ориентируйтесь,​ там мы специально добавили условие,​ чтобы сократить выхлоп
install_local_version_fpbx.1561093442.txt.gz · Последние изменения: 2019/06/21 12:04 — Евгений Романенко