Начало 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}, но все дальнейшие переадресации вызывают автоподъем у коллег на телефонах. Проблема с безусловным переводом.
SIP header сняли средствами AMI. Установить переменную канала SIPADDHEADER01 в пустое значение. Во время первого события bridge.
Попробуйте задать __TRANSFER_CONTEXT, и в нем указать SIPRemoveHeader(). А выполнить какое либо действие на канале звонящего не реально... Где-то в астериск баг трекере писали что считают это не правильным. Сам столкнулся с проблемой, когда надо было менять MOH class после поднятия трубки...
Установить переменную канала SIPADDHEADER01 в пустое значение. jorikfon а как удалось это сделать? Такая же проблема, входящий звонок с 111 на 222 приходит с заголовком "Call-Info: answer-after=0". В AMI пробую снять заголовок при редиректе на 333:
Action: Redirect
Channel: SIP/111-0002c1d9
Context: from-phones
Exten: 333
Priority: 1
ActionID: 7
Variable: SIPADDHEADER01=
Редирект проходит, но заголовок не снимается, телефон (333) автоматом снимает трубку.
Задан: Sep 12 '13
Просмотрен: 1,953 раз
Обновлен: Oct 07 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
В 11 астериске появились https://wiki.asterisk.org/wiki/display/AST/Pre-dial+handlers+Specification можно на нужном канале перед вызовом делать действия, но у нас 10 и 1.6 астериск
jorikfon (Sep 12 '13)editоригинация и входящий вызов - одно и то же. Что Вам мешает разнести контексты для вызовов ?
zzuz (Sep 12 '13)editzzuz не совсем понятно :(
jorikfon (Sep 17 '13)edit