VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Аватара пользователя
Obi Van
Сообщения: 340
Зарегистрирован: 03 сен 2010, 11:21

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

Сообщение 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 файла - говорильня секретаря и клиента, затем клиента и менеджера. Некомильфо. :(
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

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

Сообщение 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
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Аватара пользователя
Obi Van
Сообщения: 340
Зарегистрирован: 03 сен 2010, 11:21

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

Сообщение Obi Van »

virus_net писал(а):StopMixMonitor я предлагал применять при переводе вызова, а не при hangup
Делал это ещё то того как постил на форум. ;)
virus_net писал(а):можно поглядеть переменные канала при hangup и понять кто ж с кем разговаривал:
В h многие нужные переменные есть. Сразу проверил.
Возникла мысль провернуть это в AGI скрипте, когда уже положили трубки. :|
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH