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

Запись входящих извне разговоров и именование файлов записи

Проблемы Asterisk без вэб-оболочек и их решения

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

vlad_kkk
Сообщения: 20
Зарегистрирован: 18 янв 2013, 11:58

Запись входящих извне разговоров и именование файлов записи

Сообщение vlad_kkk »

Здравствуйте,
Настроил запись исходящих звонков. Файлу с записью присваивается имя, по которому можно определить кто звонил и куда звонил.

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

exten => _98XXXXXXXXXX,n,Set(fname=${STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}_from_${CALLERID(number)}_to_${EXTEN:2})
exten => _98XXXXXXXXXX,n,MixMonitor(outbound_records/${STRFTIME(,,${CALLERID(num)}/%Y/%m/%d)}/${fname}.wav)
А вот с входящими извне не могу понять, как реализовать желаемое именование файла, чтобы было понятно, на какой экстеншен пришел звонок. Трудность у меня в том, что MixMonitor выполняется раньше, чем Dial, и соотвественно у него нет информации, куда пойдет звонок. Вот:

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

exten => 74951234567,n,Set(fname=${STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}_from_${CALLERID(num)})
exten => 74951234567,n,MixMonitor(inbound_records/${STRFTIME(,,${CALLERID(name)}/%Y/%m/%d)}/${fname}.wav)
Перемена приоритета выполнения MixMonitor и Dial не приводит к нужному результату (если конечно правильно все делаю).
Подскажите, пожалуйста, куда копать?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение awsswa »

А вот так ?
exten => 74951234567,n,Set(fname=${STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}-from-${CALLERID(number)}-${CALLERID(dnid)}-${EXTEN})
exten => 74951234567,n,Set(MONITOR_FILENAME=/home/zapis/${fname})
платный суппорт по мере возможностей
vlad_kkk
Сообщения: 20
Зарегистрирован: 18 янв 2013, 11:58

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение vlad_kkk »

Да, так я тоже делал. Игрался и CALLERID(dnid) и DIALEDPEERNUMBER
Вот так:

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

{STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}_from_${CALLERID(num)}_to_${CALLERID(dnid)})
И еще от так: :)

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

{STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}_from_${CALLERID(num)}_to_${DIALEDPEERNUMBER})
В первом случае имя файла получается следующим 23_01_2013_15h_12min_32sec_from_916блаблабла_to_74951234567.wav
Во втором поле пустое, так как опять так MixMonitor не знает еще, какой конкретно экстеншен соединит Dial.
Вот:

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

exten => 74951234567,n,Set(fname=${STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}_from_${CALLERID(num)}_to_${CALLERID(dnid)})
exten => 74951234567,n,MixMonitor(inbound_records/${STRFTIME(,,${CONTEXT}/${CALLERID(name)}/%Y/%m/%d)}/${fname}.wav)
exten => 74951234567,n,Dial(SIP/1099,20,t)
Как получить значение 1099 для MixMonitor? Я специально упростил Dail, чтобы исключить лишнюю логику, по факту же, там еще правило GotoIf и звонок не обязательно уйдет на 1099, то есть указать в MixMonitor конткретно 1099 - не вариант.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение awsswa »

Вы по моему сделайте а потом выхлоп с консоли покажите.
платный суппорт по мере возможностей
vlad_kkk
Сообщения: 20
Зарегистрирован: 18 янв 2013, 11:58

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение vlad_kkk »

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

Set("SIP/PROV-00000601", "CALLERID(name)=Fly") in new stack
    -- Executing [74951234567@inbound2:3] NoOp("SIP/PROV-00000601", "916блаблабла") in new stack
    -- Executing [74951234567@inbound2:4] Set("SIP/PROV-00000601", "AUDIOHOOK_INHERIT(MixMonitor)=yes") in new stack
    -- Executing [74951234567@inbound2:5] Set("SIP/PROV-00000601", "fname=23_01_2013_15h_46min_47sec-from-916блаблабла-74951234567-74951234567") in new stack
    -- Executing [74951234567@inbound2:6] Set("SIP/PROV-00000601", "MONITOR_FILENAME=/var/spool/asterisk/zapis/23_01_2013_15h_46min_47sec-from-916блаблабла-74951234567-74951234567") in new stack
    -- Executing [74951234567@inbound2:7] NoOp("SIP/PROV-00000601", "/var/spool/asterisk/zapis/23_01_2013_15h_46min_47sec-from-916блаблабла-74951234567-74951234567") in new stack
    -- Executing [74951234567@inbound2:8] MixMonitor("SIP/PROV-00000601", "/var/spool/asterisk/zapis/23_01_2013_15h_46min_47sec-from-916блаблабла-74951234567-74951234567") in new stack
    -- Executing [74951234567@inbound2:9] Dial("SIP/PROV-00000601", "SIP/1099,20,t") in new stack
  == Begin MixMonitor Recording SIP/PROV-00000601
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение Vlad1983 »

вы бы лучше сказали словами с пояснениями в каком формате нужно имя файла формировать и куда складывать
подозреваю хотите включить в имя того кто ответил на вызов, если так то это сделать впринципе невозможно из чистого диалплана изпользуя MixMonitor
ЛС: @rostel
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение ded »

Я думаю можно.
Писать в некоторый RANDOM_tmp_file.wav, который при положении трубки переименовывать
exten => h,1,Set(fname=${STRFTIME(${EPOCH},,%d_%m_%Y_%Hh_%Mmin_%Ssec)}_from_${CALLERID(num)}_to_${DIALEDPEERNUMBER})
exten => h,n,System('mv RANDOM_tmp_file.wav ${fname}')
exten => h,n,Hangup()

А зачем отсебятина Set(MONITOR_FILENAME=/home/zapis/${fname}')?
Астериск сам пишет в /var/spool/asterisk/monitor
Последний раз редактировалось ded 23 янв 2013, 16:34, всего редактировалось 3 раза.
vlad_kkk
Сообщения: 20
Зарегистрирован: 18 янв 2013, 11:58

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение vlad_kkk »

Именно так, включить в имя файла номер ответившего на звонок.
А с помощью чего это можно реализовать?
vlad_kkk
Сообщения: 20
Зарегистрирован: 18 янв 2013, 11:58

Re: Запись входящих извне разговоров и именование файлов зап

Сообщение vlad_kkk »

ded писал(а):Ответил выше.
Извините, просто пока печатал, не увидел от Вас сообщение.
Действительно, как же я не додумался... Сейчас буду пробовать. Спасибо!
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH