Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
configure_asterisk_for_cloud_version [2021/06/03 02:31] Евгений Романенко |
configure_asterisk_for_cloud_version [2022/10/14 06:13] (текущий) Евгений Романенко |
||
|---|---|---|---|
| Строка 17: | Строка 17: | ||
| `src` VARCHAR(80) NOT NULL DEFAULT '', | `src` VARCHAR(80) NOT NULL DEFAULT '', | ||
| `dst` VARCHAR(80) NOT NULL DEFAULT '', | `dst` VARCHAR(80) NOT NULL DEFAULT '', | ||
| + | `realsrc` VARCHAR(80) NOT NULL DEFAULT '', | ||
| + | `realdst` VARCHAR(80) NOT NULL DEFAULT '', | ||
| `dcontext` VARCHAR(80) NOT NULL DEFAULT '', | `dcontext` VARCHAR(80) NOT NULL DEFAULT '', | ||
| `channel` VARCHAR(80) NOT NULL DEFAULT '', | `channel` VARCHAR(80) NOT NULL DEFAULT '', | ||
| Строка 143: | Строка 145: | ||
| 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)}); | ||
| Строка 151: | Строка 155: | ||
| Set(CDR(realdst)=${called}); | Set(CDR(realdst)=${called}); | ||
| Set(CDR(realsrc)=${calling}); | Set(CDR(realsrc)=${calling}); | ||
| + | ExecIf($["${calling}" = "${called}"]?Set(CDR(realsrc)=${CUTTEDCHANNEL})); | ||
| MixMonitor(${WAV}/${datedir}/${fname}.wav,b,${monopt}); | MixMonitor(${WAV}/${datedir}/${fname}.wav,b,${monopt}); | ||
| Строка 173: | Строка 178: | ||
| WAV=/records | WAV=/records | ||
| MP3=/records/mp3 | MP3=/records/mp3 | ||
| - | VISTEPRURECORDING=1 | + | FETGRECORDING=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(FETGRECORDING = ${FETGRECORDING}) |
| - | same => n,Set(datedir=${STRFTIME(${EPOCH},,%Y/%m/%d)}) | + | same => n,GotoIf($["${FETGRECORDING}" = "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}" = "${CalleeID}"]?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 | ||
| Строка 234: | Строка 242: | ||
| </code> | </code> | ||
| - | - С препарированием нашей АТС закончили! \\ Переходим к настройке синхронизации БД и файлов записей разговоров в облако ViStep.RU. Для этого воспользуйтесь инструкцией - https://wiki.vistep.ru/doku.php?id=cloud_daemon_sync | + | - С препарированием нашей АТС закончили! \\ Переходим к настройке синхронизации БД и файлов записей разговоров в облако FETG.UZ. Для этого воспользуйтесь инструкцией - https://wiki.fetg.uz/doku.php?id=cloud_daemon_sync |
| - Для входа в систему статистики используйте данные авторизации (Email-адрес/Пароль) из регистрационного письма. | - Для входа в систему статистики используйте данные авторизации (Email-адрес/Пароль) из регистрационного письма. | ||
| - | На этом все настройки завершены. \\ Если вы все сделали правильно, то через какое-то время (зависит от размера БД) сможете воспользоваться всеми отчетами системы статистики ViStep.RU в своем личном кабинете. \\ Если у вас остались вопросы и/или есть предложения/замечания, пишите нам на <support@vistep.ru>. | + | На этом все настройки завершены. \\ Если вы все сделали правильно, то через какое-то время (зависит от размера БД) сможете воспользоваться всеми отчетами системы статистики FETG.UZ в своем личном кабинете. \\ Если у вас остались вопросы и/или есть предложения/замечания, пишите нам на <support@fetg.uz>. |