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

Как сбросить 1 абонента из очереди?

0

Имеется контекст входящих звонков в диалплане Asterisk

[incoming]
1.exten=>s,1,Answer()
2.exten=>s,n,Playback(hello1)
3.exten=>s,n,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskov,"%d-%m-%Y-%H-%M-%S")})
4.exten=>s,n,Monitor(wav,/RECORD/INPUT/${CFName},mb)
5.exten=>s,n,Dial(${OPERATOR_OUTCALL},,m)
6.exten=>s,n,GotoIf($["${DIALSTATUS}"="BUSY"]?:busy)
7.exten=>s,n,Hangup()
8.exten=>s,n(busy),Playback(hello1)
9.exten=>s,n,Queue(turn)
10.exten=>s,n,Hangup()

Имеется следующая проблема: не сбрасывается с софтфона входящий вызов,полученный из очереди.

вроде Hangup стоит 10-й строчкой,только толку от не 0

кто сталкивался с подобной ситуацией,пожалуйста подскажите,как быть

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

спросил 2013-12-07 08:35:42 +0400

ilya1989 Gravatar ilya1989 flag of Russian Federation
45 8 6
http://vk.com/illarioshki...

обновил 2013-12-07 08:44:01 +0400

Comments

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

awsswa ( 2013-12-07 12:23:55 +0400 )редактировать

Спасибо.Я то как раз понимаю,что сброса-то никакого и не происходит,так как при вызове из одного SIPa пытается найти другого свободного....а раз такого нет,он возвращается к сбросившему.... так вот и вопрос,как решить проблему?

ilya1989 ( 2013-12-07 16:11:40 +0400 )редактировать

за место очереди использовать группы вызова - тогда и сбросить звонок можно будет

awsswa ( 2013-12-07 17:49:51 +0400 )редактировать

Здесь все дело в том,что в моем случае SIP-абонент в очереди всего один всего один.....(то есть,допустим работает один диспетчер в смену....) звонков поступает несколько.....один идет сразу на софтфон,второй,так как софтфон уже занят,идет в очередь.... допустим,первый звонок сбрасывается с софтфона на ура.... но проблема в том,звонит мне с очереди 2-й вызов,но он,допустим,хамит диспетчеру,и он тупо хочет его сбросить,не отвечая на него.... так как мне это организовать,имея в астериске всего одного SIP-абонента? можно пример конкретный,что мне поставить вместо queue()? Или наоборот,добавить что? С астериском знаком около месяца... все приложения пока изучить досконально не удалось...

ilya1989 ( 2013-12-07 18:53:28 +0400 )редактировать

3 Ответа

0

вам надо сделать hangup на том канале который в очереди входящий.

но тут такое дело. он никак не связан прямо с каналом исходящим. очередь работает приблизительно так

входящий канал ставится на moh, делается n исходящих несвязаных с входящим, потом если ответили делается mangle/bridge.

задача вычесления входящего канала по исходящему решаема, но не тривиальна.

сложность вашего диалплана - експерт/гуру. описать меньше чем на пару страниц не получится.

можно правда по callerid сделать правило ДО входа в очередь. используется диалплан типа blacklist(в freepbx есть). сложность - низкая.

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

ответил 2013-12-08 21:33:02 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2013-12-08 21:34:26 +0400

Comments

С blacklist даже проще будет и правильнее.

Ну и вот тут про параметры Queue почитай:

https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_Queue

bolshoy_plohish ( 2013-12-09 05:29:10 +0400 )редактировать

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

bandys ( 2013-12-09 11:07:10 +0400 )редактировать

хз. то что у вас написано оставит его в очереди. ответа то нету. но это все не важно правильно через blacklist это решать. он же еще раз позвонит.

meral ( 2013-12-09 22:23:27 +0400 )редактировать
0

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

[my-exit-from-queue] ;выход звонка из очереди на оператора
exten => X.,1,NoOp (звонок оператору)
same => n,Dial(канал вызова вашего оператора и ключ указанный в первом ответе)
same => n,Hangup

2. В очередь добавляете агентов следующим образом

"канал оператора"@my-exit-from-queue/n

Все. Сам контекст можете править как вам угодно. Единственное, что тут не удобно это то, что статистика очереди будет считать сброшенные звонки отвечеными. Можете придумать дальше сами чего хотите.

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

ответил 2013-12-08 14:49:46 +0400

bandys Gravatar bandys
284 9 11
0
CLI> core show application Dial 
    g    - Proceed with dialplan execution at the current extension if the
           destination channel hangs up.
ссылка удалить спам редактировать

ответил 2013-12-07 11:35:27 +0400

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Ваш ответ

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-12-07 08:35:42 +0400

Просмотрен: 1,082 раз

Обновлен: Dec 08 '13

Похожие вопросы:

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