Страница 2 из 2

Re: Запись исходящих от конкретных пользователей

Добавлено: 15 апр 2014, 10:43
Obi Van
virus_net писал(а): 1. добавить в название файла ID вызова и потом смотреть в CDR, потом, после завершения вызова, по крону переименовывать файл
В CDR есть поле CDR(linkedid) в которое попадает уникальное имя канала, которое сквозняком идёт по всей голосовой сессии, даже если вызов переводили. Основываясь на этом, я решил создавать имя файла из этой переменной, а потом в h-экстеншене его переименовывать. Мысль в общем то оказалась неплоха. Но применение команды StopMixMonitor(${MIXMONITORID}) оказалось по барабану, т.к файл формировался после отработки команды Hangup (видно из CLI).

Код: Выделить всё

exten => log,n,ExecIf($["${record_rename}"="yes"]?System(mv /var/lib/asterisk/records/input/${filename}.mp3 /var/lib/asterisk/records/input/${filename_new}.mp3))
По многим условиям, по которым проверяется, переведён ли вызов, включена ли запись и т.п. выставляется переменная ${record_rename} и переименование производится. Но беда в том, что переименовывается ещё не существующий файл... Возлагаю надежды на AGI, в котором сделаю всё уже после отвала канала.
2. после перевода вызова стопать предыдущий MixMonitor и начинать новый с новым названием
Вариант на первый взгляд годный, но получаем 2 файла - говорильня секретаря и клиента, затем клиента и менеджера. Некомильфо. :(

Re: Запись исходящих от конкретных пользователей

Добавлено: 16 апр 2014, 08:57
virus_net
Obi Van писал(а):Но применение команды StopMixMonitor(${MIXMONITORID}) оказалось по барабану, т.к файл формировался после отработки команды Hangup (видно из CLI).
StopMixMonitor я предлагал применять при переводе вызова, а не при hangup
Obi Van писал(а):а потом в h-экстеншене его переименовывать
кстати да, забыл об этом упомянуть.
можно поглядеть переменные канала при hangup и понять кто ж с кем разговаривал:

Код: Выделить всё

exten => h,1,DumpChan(3)
и переименовать файл
Obi Van писал(а):В CDR есть поле CDR(linkedid)
это есть не только в CDR, это и многое другое есть и доступно в переменных канала:

Код: Выделить всё

${CHANNEL(uniqueid)}
${CHANNEL(linkedid)}
Obi Van писал(а):но получаем 2 файла - говорильня секретаря и клиента, затем клиента и менеджера. Некомильфо
не вижу тут проблемы, т.к. она тоже решаема пользуя sox или ffmpeg

Re: Запись исходящих от конкретных пользователей

Добавлено: 16 апр 2014, 12:37
Obi Van
virus_net писал(а):StopMixMonitor я предлагал применять при переводе вызова, а не при hangup
Делал это ещё то того как постил на форум. ;)
virus_net писал(а):можно поглядеть переменные канала при hangup и понять кто ж с кем разговаривал:
В h многие нужные переменные есть. Сразу проверил.
Возникла мысль провернуть это в AGI скрипте, когда уже положили трубки. :|