ансвер идет в самом начале логики диалплана, имеет ли смысл ставить еще один? Ну и сообщение то пишется в рекорд, проблема в том что после хэнгапа диалплан не проваливается в экстеншн h. Как я написал в коментах ниже обнаружил такую фигню, перед Record() я запускаю Playback() с проигрыванием приветствия, так вот если он не находит файл == не может приветствие проиграть то все отрабатывает отлично, после записи кладется трубка и скрипты отрабатывают. Если же Playback отыгрывает то происходит так проблема о которой я пишу
godlike ( 2013-09-09 13:09:15 +0400 )редактироватьну мы же не в курсе что у вас ансвер уже есть. Вообще в хангап он не проваливается по одной простой причине: хангап экстен в контексте выполнится только если в контексте есть Dial. У вас хангап отрабатывает тот, где был Dial, если он был конечно. Я так думаю следует сделать Dial(LOCAL/....), где воспроизвести или записать файл. Но лучшим вариантом будет накарябать нормальный AGI, а учитывая что у вас там много скриптов - сделать полноценное AGI приложение. Тем более что вы используете перл и для перла есть хорошая AMI библиотека. В AGI без проблем отрабатываются такие моменты. По крайней мере я не заметил проблем.
switch ( 2013-09-09 14:10:55 +0400 )редактироватья использую питон, вы имеете ввиду писать файл с помощью AGI?
godlike ( 2013-09-09 15:10:25 +0400 )редактироватьЯ предлагаю вам переписать ваш диалплан целиком на питоне с использованием AGI. Это не так сложно как кажется, я писал на PHP и мне показалось это даже удобнее во многом чем стандартный диалплан, хоть и порог входа заметно выше.
switch ( 2013-09-09 16:06:15 +0400 )редактироватья сейчас думаю с помощью этого https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+AGICommand_record+file писать файл, там же и сделаю все запросы которые должны были делаться по h
godlike ( 2013-09-09 16:07:48 +0400 )редактироватьправильно думаете. Попробуйте в любом случае. В AGI астериск немного не так работает как мы привыкли в диалплане. Он тупо исполняет то, что ему говорят.
switch ( 2013-09-09 16:09:23 +0400 )редактироватьпроблема абсолютно та же, пробую писать через AGI файл пишется но когда кладу трубку запись продолжает висеть, прекращается только по значению таймаута
godlike ( 2013-09-09 16:55:59 +0400 )редактироватьРазве никаких изменений в CLI нет когда трубку кладешь? как подключен к городу?
switch ( 2013-09-09 17:07:28 +0400 )редактироватьподключен транк, на транке канадский номер, звоню на него с сипфона через другой транк с американским номером. Когда трубку кладу в логе вообще тишина, как будто и не ложил, пробовал со скайпа на этот канадский номер звонить, та же фигня
godlike ( 2013-09-09 17:17:26 +0400 )редактироватьа если с внутреннего номера в этот контекст позвонить?
switch ( 2013-09-09 17:18:25 +0400 )редактироватьпопробовал два раза, оба раза все прекрасно отработало. В чем же тогда проблема? В транке?
godlike ( 2013-09-09 17:27:35 +0400 )редактироватьпопробовал подключить другой транк, от другого провайдера, такая же фигня :(
godlike ( 2013-09-09 17:38:18 +0400 )редактироватьНужно смотреть в CLI, что там происходит. А Dial(LOCAL/...) пробовал?
switch ( 2013-09-09 17:42:58 +0400 )редактироватьНе совсем понял как через Dial(LOCAL/) писать файл, можно подробнее?
godlike ( 2013-09-09 17:45:34 +0400 )редактировать
'k' : keep recorded file upon hangup
zzuz ( 2013-09-09 10:43:14 +0400 )редактироватьно мне нужно что бы файл сохранялся не по нажатию решетки а когда кладут трубку
godlike ( 2013-09-09 13:02:24 +0400 )редактировать