Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2013-04-24 10:20:08 +0400

jorikfon Gravatar jorikfon flag of Russian Federation

http://www.telefon1c.ru/

Можно ли снять трубку на хардфоне после Dial программно?

Есть задача. При входящем звонке нажать на экране кнопку Ответить, и в этот момент телефон снимает трубку(громкая связь или гарнитура).

Как я понял SIPAddHeader можно устанавливать только до того как телефон начал звонить.

При оригинации звонка, мы просто устанавливаем хидер через AMI и все работает, но при входящем не понятно как сделать. Пока предполагаю переводить вызов в контекст примерно такого содержания:

exten => _*XXX*,n,SIPAddHeader(“Call-Info:; answer-after=0″)
exten => _*XXX*,n,Dial(SIP/${SIPACCOUNT})

Может есть более красивые решения?

нажмите, чтобы скрыть/показать версии 2
Добавил описание новой проблемы.
редактировать

Можно ли снять трубку на хардфоне после 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}, но все дальнейшие переадресации вызывают автоподъем у коллег на телефонах.

Можно ли снять трубку на хардфоне после 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))

_*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()

s,1,SIPRemoveHeader()

В verbose вижу что SIPAddHeader устанавливается для изначального канала, а SIPRemoveHeader для канала SIP/${SIPACCOUNT}, но все дальнейшие переадресации вызывают автоподъем у коллег на телефонах.

Можно ли снять трубку на хардфоне после 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}, но все дальнейшие переадресации вызывают автоподъем у коллег на телефонах.телефонах. Проблема с безусловным переводом.

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.