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

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

1

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

Как я понял 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-04-24 10:20:08 +0400

jorikfon Gravatar jorikfon flag of Russian Federation
130 9 1 10
http://www.telefon1c.ru/

обновил 2013-09-12 16:33:31 +0400

Comments

Нормальное вроде решение, может я тоже "красивше" не видел.. Домофон?

viktorkho ( 2013-04-24 10:25:07 +0400 )редактировать

Нет мы решения для интеграции с 1С делаем, и нам нужно там во всплывающем банере сделать ответ кнопкой. :)

jorikfon ( 2013-04-24 10:39:57 +0400 )редактировать

А телефон должен звонить до нажатия кнопки?

Sarumjnauch ( 2013-04-25 01:01:27 +0400 )редактировать

можно прекратить звонок и сделать новый с АА. вообще очень сильно зависит от телефона, тоесть для всех не получится.

meral ( 2013-04-25 08:58:34 +0400 )редактировать

Создайте новую тему, тут ответы нельзя добавлять

switch ( 2013-09-12 16:57:33 +0400 )редактировать

Попробуйте задать __TRANSFER_CONTEXT, и в нем указать SIPRemoveHeader().

Sarumjnauch ( 2013-09-12 16:57:56 +0400 )редактировать

3 Ответа

0

Правильно полагаете, делаем так же. В SIP протоколе иного не предусмотрено.

ссылка удалить спам редактировать

ответил 2013-04-24 10:29:40 +0400

switch Gravatar switch
8334 11 7 92
http://lynks.ru/
0

Делаю точно также только вместо Dial() у меня Queue(), ставлю стратегию Least Recent, у агентов автоматически происходит ответ на звонок... с 55% отвеченых вызовов, колцентр теперь имеет средний 97%.

ссылка удалить спам редактировать

ответил 2013-04-24 21:37:55 +0400

Sarumjnauch Gravatar Sarumjnauch flag of Ukraine
185 5 6
http://thirdlane.com/
0

В SIP предусмотрен Re-INVITE, но в мейлинг-листах находится, что оно не реализовано в channel_sip

Поэтому можно заводить новый вопрос "Как сделать Re-INVITE из диалплана"

Т.е. если найти способ сделать re-invite из диалплна или AMI, то можно было б проверить сабж..

ссылка удалить спам редактировать

ответил 2013-04-24 11:26:13 +0400

viktorkho Gravatar viktorkho flag of Kazakhstan
434 5 4 9

обновил 2013-04-24 11:35:19 +0400

Comments

и не будет реализовано. ибо от него глюков НАМНОГО больше

meral ( 2013-04-25 08:56:56 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-04-24 10:20:08 +0400

Просмотрен: 743 раз

Обновлен: Sep 12 '13

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