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

Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 11:43
viktor1986
Здравствуйте! Подскажите пожалуйста где я ошибся и вообще может ли такое работать? Необходимо послать единицу в текстовый файл, если это заработает уже потом прикрутить отправку на почту.

exten => h,1,Answer()
exten => h,2,Set(CALLERID(name)=7777777)
exten => h,3,Set(fname=${STRFTIME(${EPOCH},,%H%M%S)}-${CALLERID(number)}-${CALLERID(name)})
exten => h,4,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => h,5,Queue(7777777)
exten => h,6,ExecIf($["${CDR(disposition)}" = "NO ANSWER"]?System(echo "1" >> /usr/src/letter.txt))
exten => h,7,Macro(hangupcall,)

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 11:52
april22
а зачем Extention h ?
Это же обработка после hangup

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 12:27
viktor1986
Виноват! Не изучил как точно работает h. Переделаю

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 12:28
ded
viktor1986 писал(а):Здравствуйте! Подскажите пожалуйста где я ошибся и вообще может ли такое работать? Необходимо послать единицу в текстовый файл, если это заработает уже потом прикрутить отправку на почту.
Просто VoiceMail чем не устраивает?


exten => h,1,Answer() - это, конечно, ужос. Вы бы книгу о будущём телефонии начали читать, что ли?

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 12:32
viktor1986
Потому что нужно выслать на почту письмо с номером звонившего (исключительно тех кто не дозвонился на очередь или бросил трубку сразу после звонка).

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 13:02
ded
У вас на участке
exten => 7777777,n,Queue(7777777)
exten => 7777777,n,ExecIf($["${CDR(disposition)}" = "NO ANSWER"]?System(echo "1" >> /usr/src/letter.txt))
exten => 7777777,n,Macro(hangupcall)
не будет никакого ${CDR(disposition)}, потому что транзакция не завершена, нет ещё записи в журнале CDR. Она появится только после Macro(hangupcall)

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 14:22
viktor1986
ded Спасибо за подсказку! Работает но с глюками.

exten => s,1,Answer()
exten => s,2,Set(CALLERID(name)=7777777)
exten => s,3,Set(fname=${STRFTIME(${EPOCH},,%H%M%S)}-${CALLERID(number)}-${CALLERID(name)})
exten => s,4,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => s,5,Queue(7777777)
exten => s,6,Macro(hangupcall)
exten => h,1,ExecIf($["${CDR(disposition)}" = "NO ANSWER"]?System(echo "куку" >> /usr/src/letter.txt))

При такой схеме работает, но в этот текстовый файл сыпятся и другие звонки вообще с другого номера.

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 14:27
Vlad1983
exten => h
работает для всего контекста

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 14:37
viktor1986
Судя по статистике asternic у операторов не было пропущенных, текстовый файл же словил уже 6 телефонов... Почему?

Re: Пропущенный вызов в текстовый файл

Добавлено: 06 май 2016, 15:58
awsswa
сколько очередь по времени ? может не дождались ответа ?