Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
configure_asterisk_for_cloud_version [2020/11/25 16:29] Евгений Романенко |
configure_asterisk_for_cloud_version [2021/06/22 19:23] Евгений Романенко |
||
---|---|---|---|
Строка 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 '', | ||
Строка 198: | Строка 200: | ||
[from-pstn-custom] | [from-pstn-custom] | ||
exten => _XX.,1, Macro(vistep.ru-record,${CALLERID(number)},${EXTEN})</code> | exten => _XX.,1, Macro(vistep.ru-record,${CALLERID(number)},${EXTEN})</code> | ||
+ | - Или у вас внезапно lua <code lua> | ||
+ | WAV = "/opt/records/wav" -- Временный каталог с WAV | ||
+ | MP3="/opt/records/mp3" --Куда выгружать mp3 файлы | ||
+ | RECORDING=1 -- 1 - запись включена. | ||
+ | |||
+ | function recording(calling,called) | ||
+ | if RECORDING == 1 then | ||
+ | fname = channel.UNIQUEID:get() .. "-" .. channel.STRFTIME("${EPOCH},,%Y-%m-%d-%H_%M".."-"..calling.."-"..called):get() | ||
+ | datedir = channel.STRFTIME("${EPOCH},,%Y/%m/%d"):get().."/" | ||
+ | os.execute("mkdir -p " .. WAV.."/"..datedir) | ||
+ | os.execute("mkdir -p " .. MP3.."/"..datedir) | ||
+ | WAVfname = WAV..datedir..fname..".wav" | ||
+ | MP3fname = MP3..datedir..fname..".mp3" | ||
+ | channel.CDR("filename"):set(MP3fname) | ||
+ | channel.CDR("realdst"):set(called) | ||
+ | channel.CDR("realsrc"):set(calling) | ||
+ | monopt = string.format("nice -n 19 /usr/bin/lame -b 32 --silent %s %s && rm -f %s && chown o+r %s",WAVfname,MP3fname,WAVfname,MP3fname) | ||
+ | app.mixmonitor(WAVfname,b,monopt) | ||
+ | return | ||
+ | end; | ||
+ | end; | ||
+ | |||
+ | extensions = { | ||
+ | ["local"] = { | ||
+ | --локальные вызовы на номера XXX | ||
+ | ["_XXX"] = function(context,extension) | ||
+ | app.answer() | ||
+ | recording(channel.CALLERID("num"):get(),extension) | ||
+ | app.dial("SIP/"..extension,300,"t") | ||
+ | app.hangup() | ||
+ | end; | ||
+ | }; | ||
+ | |||
+ | } | ||
+ | |||
+ | </code> | ||
- С препарированием нашей АТС закончили! \\ Переходим к настройке синхронизации БД и файлов записей разговоров в облако ViStep.RU. Для этого воспользуйтесь инструкцией - https://wiki.vistep.ru/doku.php?id=cloud_daemon_sync | - С препарированием нашей АТС закончили! \\ Переходим к настройке синхронизации БД и файлов записей разговоров в облако ViStep.RU. Для этого воспользуйтесь инструкцией - https://wiki.vistep.ru/doku.php?id=cloud_daemon_sync | ||
- Для входа в систему статистики используйте данные авторизации (Email-адрес/Пароль) из регистрационного письма. | - Для входа в систему статистики используйте данные авторизации (Email-адрес/Пароль) из регистрационного письма. |