Страница 1 из 3
Длительность разговора в заголовке
Добавлено: 28 апр 2015, 13:22
vgo
Я делаю запись и рассылку разговора таким образом:
Код: Выделить всё
exten => 1209,1,Set(dialto=FirstLine)
exten => 1209,2,Answer()
exten => 1209,n,Set(fname=${STRFTIME(${EPOCH},,%Y.%m.%d_%H-%M)}-${CALLERID(n
umber)}-${EXTEN})
exten => 1209,n,Set(msubj=Call from ${CALLERID(number)} to ${dialto}, ${STRF
TIME(${EPOCH},,%H:%M %d.%m.%Y)})
exten => 1209,n,MixMonitor(/var/lib/asterisk/records/${fname}.wav,,echo 'Lis
ten it:'| mailx -s '${msubj}' -a /var/lib/asterisk/records/${fname}.wav lll@ququ.ru)
exten => 1209,n,Playback(/var/lib/asterisk/sounds/gr)
exten => 1209,n,Dial(OOH323/PBX/603)
(все имена и фамилии изменены) )))
Теперь от меня хотят, чтобы в теме письма указывалась и длительность разговора.
Но в момент вызова MixMonitor разговор только начался.
А после Dial уже выполнение диалплана заканчивается.
Можно, конечно, использовать и более сложную команду, сделать скрипт. Но как ей передать длительность?
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 14:36
TVMaker
Не надо сложную команду, оставьте миксмонитору только запись. А вот в следующем за ним экстене внешней командой сделайте парсинг готового wav-файла на предмет длительности и рассылку туда, куда надо.
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 14:45
awsswa
а так нельзя что-ли ?
Noop( = время разговора = ${ANSWEREDTIME})
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 14:51
ded
Можно отправлять на hangup
exten => h,1,System(mailx -s '${msubj}' -a /var/lib/asterisk/records/${fname}.wav
lll@ququ.ru)
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 14:59
vgo
TVMaker писал(а):Не надо сложную команду, оставьте миксмонитору только запись. А вот в следующем за ним экстене внешней командой сделайте парсинг готового wav-файла на предмет длительности и рассылку туда, куда надо.
Следующий за миксмонитором экстен ничем не лучше, потому что разговор еще только начался.
Следующий за Dial экстен, по-моему, просто не выполняется никогда: разговор уже ушел.
Может, я конечно ошибся. Ну если скажете, что следующий за Dial экстен сработает в случае успешного дозвона, буду еще экспериментировать.
Собственно, тут как раз сложная команда и помогла бы: в скрипте можно написать парсинг wav-файла, а потом уже делать отсылку. Просто обидно, ведь система эту величину знает. А как парсить, это еще думать надо ))
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 15:04
TVMaker
Ахтыжблин, там второе плечо, оказывается. В таком случае искренне рекомендую поменять местами миксмонитор со следующим за ним плэйбэком, дабы не вносить погрешность в продолжительность разговора. Ну и дальше как посоветовал
ded - отлавливайте в h по окончании разговора ваш wav файл, анализируйте и отправляйте бандеролью
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 15:05
vgo
ded писал(а):Можно отправлять на hangup
exten => h,1,System(mailx -s '${msubj}' -a /var/lib/asterisk/records/${fname}.wav
lll@ququ.ru)
Спасибо, про hangup буду читать, в книжке вроде про это не написано?
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 15:06
vgo
awsswa писал(а):а так нельзя что-ли ?
Noop( = время разговора = ${ANSWEREDTIME})
Может и можно, вопрос в том, куда это воткнуть.
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 15:08
vgo
TVMaker писал(а):Ахтыжблин, там второе плечо, оказывается. В таком случае искренне рекомендую поменять местами миксмонитор со следующим за ним плэйбэком, дабы не вносить погрешность в продолжительность разговора. Ну и дальше как посоветовал
ded - отлавливайте в h по окончании разговора ваш wav файл, анализируйте и отправляйте бандеролью
Что такое "второе плечо"?
Нет, менять миксмонитор с плейбэком не буду, пусть в записи будет, что предупреждали о записи.
По поводу h: там не будет путаницы при обработке одновременно нескольких вызовов?
Re: Длительность разговора в заголовке
Добавлено: 28 апр 2015, 15:29
Wapo
Код: Выделить всё
По поводу h: там не будет путаницы при обработке одновременно нескольких вызовов?
Интересно - вы когда-нить видели ПУТАНИЦУ в вызовах типа exten => _ХХХ,1,Dial(SIP/${EXTEN}) ? Так чего тогда беспокоиться?