Начало http://asterisk-support.ru/question/44644/mozhno-li-sniat-trubku-na-khardfone-posle-dial
Есть задача. При входящем звонке нажать на экране кнопку Ответить, и в этот момент телефон снимает трубку(громкая связь или гарнитура).
Как я понял SIPAddHeader можно устанавливать только до того как телефон начал звонить.
При оригинации звонка, мы просто устанавливаем хидер через AMI и все работает, но при входящем не понятно как сделать. Пока предполагаю переводить вызов в контекст примерно такого содержания:
exten => _*XXX*,n,SIPAddHeader(“Call-Info:; answer-after=0″)
exten => _*XXX*,n,Dial(SIP/${SIPACCOUNT})
Может есть более красивые решения?
upd. С данным контекстом неприятная проблема. Все дальнейшие переводы с SIP/${SIPACCOUNT} на другие телефоны вызывают автоподъем и на них. Попробовал сделать так:
exten => _*XXX*,n,SIPAddHeader(Call-Info:\;answer-after=0)
exten => _*XXX*,n,Dial(SIP/${SIPACCOUNT},20,tTcM(miko-clear-auto-answer))
[macro-miko-clear-auto-answer]
exten => s,1,SIPRemoveHeader()
В verbose вижу что SIPAddHeader устанавливается для изначального канала, а SIPRemoveHeader для канала SIP/${SIPACCOUNT}, но все дальнейшие переадресации вызывают автоподъем у коллег на телефонах. Проблема с безусловным переводом.
спросил
2013-09-12 17:37:15 +0400
jorikfon 130 ● 9 ● 1 ● 10
http://www.telefon1c.ru/
В 11 астериске появились https://wiki.asterisk.org/wiki/display/AST/Pre-dial+handlers+Specification можно на нужном канале перед вызовом делать действия, но у нас 10 и 1.6 астериск
jorikfon ( 2013-09-12 17:51:05 +0400 )редактироватьоригинация и входящий вызов - одно и то же. Что Вам мешает разнести контексты для вызовов ?
zzuz ( 2013-09-12 18:41:55 +0400 )редактироватьzzuz не совсем понятно :(
jorikfon ( 2013-09-17 13:18:21 +0400 )редактировать