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

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


install_local_version

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
install_local_version [2021/11/02 05:21]
Евгений Романенко
install_local_version [2022/10/14 11:06] (текущий)
Евгений Романенко
Строка 7: Строка 7:
   * Сервер БД MySQL не ниже версии 5.5.   * Сервер БД MySQL не ниже версии 5.5.
  
-  * 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|нашей инструкцией]]+  * 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.fetg.uz/​doku.php?​id=установка_docker_на_freepbx_13_centos_6.6|нашей инструкцией]]
  
 ==== Настройка ==== ==== Настройка ====
Строка 70: Строка 70:
 macro recording (calling,​called) { macro recording (calling,​called) {
         if ("​${RECORDING}"​ = "​1"​){         if ("​${RECORDING}"​ = "​1"​){
 +              Set(CUTTEDCHANNEL=${CUT(CHANNEL,,​1)});​
 +              Set(CUTTEDCHANNEL=${CUT(CUTTEDCHANNEL,/,​2)});​
               Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,​%Y-%m-%d-%H_%M)}-${calling}-${called});​               Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,​%Y-%m-%d-%H_%M)}-${calling}-${called});​
        Set(datedir=${STRFTIME(${EPOCH},,​%Y/​%m/​%d)});​        Set(datedir=${STRFTIME(${EPOCH},,​%Y/​%m/​%d)});​
Строка 79: Строка 81:
               Set(CDR(realdst)=${called});​               Set(CDR(realdst)=${called});​
               Set(CDR(realsrc)=${calling});​               Set(CDR(realsrc)=${calling});​
 +              ExecIf($["​${calling:​-10:​10}"​ = "​${called:​-10:​10}"​]?​Set(CDR(realsrc)=${CUTTEDCHANNEL}));​
               MixMonitor(${WAV}/​${datedir}/​${fname}.wav,​b,​${monopt});​               MixMonitor(${WAV}/​${datedir}/​${fname}.wav,​b,​${monopt});​
  
Строка 101: Строка 104:
 WAV=/​records WAV=/​records
 MP3=/​records/​mp3 MP3=/​records/​mp3
-VISTEPRURECORDING=1 +FETGRURECORDING=1 
-[macro-vistep.ru-record] +[macro-fetg.uz-record] 
-exten => s,1,NoOp(== START macro-vistep.ru-record ==) +exten => s,1,NoOp(== START macro-fetg.uz-record ==) 
-same => n,​Set(CallerID=${ARG1}) + same => n,​Set(CallerID=${ARG1}) 
-same => n,​Set(CalleeID=${ARG2}) + same => n,​Set(CalleeID=${ARG2}) 
-same => n,​NoOp(CalleeID=${CalleeID},​ CallerID=${CallerID}) + same => n,​Set(CUTTEDCHANNEL=${CUT(CHANNEL,,​1)}) 
-same => n,NoOp(VISTEPRURECORDING ​= ${VISTEPRURECORDING}) + same => n,​Set(CUTTEDCHANNEL=${CUT(CUTTEDCHANNEL,/,​2)}) 
-same => n,​GotoIf($["​${VISTEPRURECORDING}" = "​0"​]?​end) + same => n,​NoOp(CalleeID=${CalleeID},​ CallerID=${CallerID}) 
-same => n,​Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,​%Y-%m-%d-%H_%M)}-${CallerID}-${CalleeID}) + same => n,NoOp(FETGRURECORDING ​= ${FETGRURECORDING}) 
-same => n,​Set(datedir=${STRFTIME(${EPOCH},,​%Y/​%m/​%d)}) + same => n,​GotoIf($["​${FETGRURECORDING}" = "​0"​]?​end) 
-same => n,​System(mkdir -p ${MP3}/​${datedir}) + same => n,​Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,​%Y-%m-%d-%H_%M)}-${CallerID}-${CalleeID}) 
-same => n,​Set(monopt=nice -n 19 /​usr/​bin/​lame -b 32 --silent "​${WAV}/​${fname}.wav" ​ "​${MP3}/​${datedir}/​${fname}.mp3"​ && rm -f "​${WAV}/​${fname}.wav"​ && chmod o+r "​${MP3}/​${datedir}/​${fname}.mp3"​) + same => n,​Set(datedir=${STRFTIME(${EPOCH},,​%Y/​%m/​%d)}) 
-same => n,​Set(CDR(filename)=${fname}.mp3) + same => n,​System(mkdir -p ${MP3}/​${datedir}) 
-same => n,​Set(CDR(realdst)=${CalleeID}) + same => n,​Set(monopt=nice -n 19 /​usr/​bin/​lame -b 32 --silent "​${WAV}/​${fname}.wav" ​ "​${MP3}/​${datedir}/​${fname}.mp3"​ && rm -f "​${WAV}/​${fname}.wav"​ && chmod o+r "​${MP3}/​${datedir}/​${fname}.mp3"​) 
-same => n,​Set(CDR(realsrc)=${CallerID}) + same => n,​Set(CDR(filename)=${fname}.mp3) 
-same => n,​MixMonitor(${WAV}/​${fname}.wav,​b,​${monopt}) + same => n,​Set(CDR(realdst)=${CalleeID}) 
-same => n(end),​MacroExit()+ same => n,​Set(CDR(realsrc)=${CallerID}
 + same => n,​ExecIf($["​${CallerID:​-10:​10}"​ = "​${CalleeID:​-10:​10}"​]?​Set(CDR(realsrc)=${CUTTEDCHANNEL})
 + same => n,​MixMonitor(${WAV}/​${fname}.wav,​b,​${monopt}) 
 + same => n(end),​MacroExit()
  
 ;​пример использования ;​пример использования
 [from-internal-custom] [from-internal-custom]
 ;include => from-internal ;include => from-internal
-exten => _XX.,1, Macro(vistep.ru-record,​${CALLERID(number)},​${EXTEN})+exten => _XX.,1, Macro(fetg.uz-record,​${CALLERID(number)},​${EXTEN})
  
 [from-pstn-custom] [from-pstn-custom]
-exten => _XX.,1, Macro(vistep.ru-record,​${CALLERID(number)},​${EXTEN})</​code>​+exten => _XX.,1, Macro(fetg.uz-record,​${CALLERID(number)},​${EXTEN})</​code>​
   - Или у вас внезапно lua <code lua>   - Или у вас внезапно lua <code lua>
 WAV = "/​opt/​records/​wav"​ -- Временный каталог с WAV WAV = "/​opt/​records/​wav"​ -- Временный каталог с WAV
Строка 164: Строка 170:
   - Для входа в систему статистики используйте email/​пароль,​ которые сообщат вам инженеры технической поддержки.   - Для входа в систему статистики используйте email/​пароль,​ которые сообщат вам инженеры технической поддержки.
 \\ \\
-На этом настройка завершена,​ приятного пользования! \\ По любым вопросам/​неполадкам/​пр. пишите нам на <​support@vistep.ru> или прямо из интерфейса,​ в меню Help Desk.+На этом настройка завершена,​ приятного пользования! \\ По любым вопросам/​неполадкам/​пр. пишите нам на <​support@fetg.uz> или прямо из интерфейса,​ в меню Help Desk.
  
 **Некоторые замечания по части MySQL.** **Некоторые замечания по части MySQL.**
Строка 178: Строка 184:
 Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the current input statement. Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the current input statement.
  
-MariaDB [(none)]>​ GRANT ALL PRIVILEGES ON *.* TO 'vistepru'​@'​%'​ \+MariaDB [(none)]>​ GRANT ALL PRIVILEGES ON *.* TO 'fetguz'​@'​%'​ \
 IDENTIFIED BY '​MySuperPassword111'​ WITH GRANT OPTION; IDENTIFIED BY '​MySuperPassword111'​ WITH GRANT OPTION;
 flush privileges; flush privileges;
 quit</​code>​\\  ​ quit</​code>​\\  ​
   - Также проверьте,​ что MySQL слушает не только 127.0.0.1, но и IP-адрес,​ по которому к нему будет обращаться система статистики. \\ За это в настройках MySQL отвечает параметр **bind-address**,​ проще всего закомментировать эту строку в my.cnf и перезагрузить демон MySQL, тогда сервис будет слушать все IP-адреса сервера.   - Также проверьте,​ что MySQL слушает не только 127.0.0.1, но и IP-адрес,​ по которому к нему будет обращаться система статистики. \\ За это в настройках MySQL отвечает параметр **bind-address**,​ проще всего закомментировать эту строку в my.cnf и перезагрузить демон MySQL, тогда сервис будет слушать все IP-адреса сервера.
install_local_version.1635812508.txt.gz · Последние изменения: 2021/11/02 05:21 — Евгений Романенко