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

При сбросе входящего звонка с X-Lite QUEUESTATUS=TIMEOUT

0

Всех с Наступившим Новым годом!

Обращаюсь к участникам форума со следующим интересующим меня вопросом... Имеется контекст из диалплана,который работает сл.образом.... 1)Звонки поступают в очередь,агент на софтфоне сбрасывает вызов,не отвечая на него,в итоге QUEUESTATUS=TIMEOUT(выдает через Verbose) 2)По таймауту 30 секунд переменная QUEUESTATUSвыдает то же значение TIMEOUT!

    [incoming]
exten=>s,1,Answer()
exten=>s,n,Playback(hello1)
exten=>s,n,Set(__INCALLERID=${CALLERID(num):2})
exten=>s,n,Verbose(${INCALLERID})
exten=>s,n,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskow,"%d-%m-%Y-%H-%M-%S")})
exten=>s,n,Monitor(wav,/RECORD/INPUT/${CFName},mb)
exten=>s,n,Queue(turn,n,,,30,los)
exten=>s,n,GotoIf(["${QUEUESTATUS}"="TIMEOUT"]?timeout:busy)
exten=>s,n,Verbose("${QUEUESTATUS}")
exten=>s,n(timeout),Playback(sorry)
exten=>s,n(busy),Hangup()

На мой взгляд во втором случае по проишествию тайм-аута переменная QUEUESTATUS и должна выдаватьTIMEOUT!(все логично!) НО,вот почему при сбросе с софтфона агентом(при отклонении входящего звонка) переменная QUEUESTATUS выдает TIMEOUT,мне не понятно.... Ведь,по логике,сброс агентом,не ответив на звонок и само событие TIMEOUT-это разные вещи!!! Помогите пожалуйста советом,если кто сталкивался с подобной ситуацией...

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

спросил 2014-01-02 14:32:48 +0400

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

обновил 2014-01-02 17:25:00 +0400

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

Comments

кнопки формата зачем? по теме - смотриет как у вас агент прописан.

meral ( 2014-01-02 15:46:54 +0400 )редактировать

За оформление прошу прощения... по теме-а если подробнее про агента? что в queue.conf смотреть?

ilya1989 ( 2014-01-02 19:09:39 +0400 )редактировать

Здесь дело не в том,обязан кто соглашаться со мной или нет.... дело в логике!понимаете?

ilya1989 ( 2014-01-03 13:20:04 +0400 )редактировать

не, не понимаем. по логике все работает. а у вас не работает и вы не обьясняете что. НЕЛОГИЧНО

meral ( 2014-01-03 14:06:48 +0400 )редактировать

Как в таком случае отключить TIMEOUT при сбросе входящего звонка с сфотфона? так понятней изъясняюсь?

ilya1989 ( 2014-01-03 15:32:38 +0400 )редактировать

выставить queuetimeout в 1000500 секунд. ну и leavewhenempty=no. а вообще пойдите просто почитайте документацию по очередям.

meral ( 2014-01-03 15:33:50 +0400 )редактировать

выставить timeout где именно? их 2... одни в самом приложении queue() второй в конфиге queues.conf... и еще,если не сложно,не могли бы Вы пояснить,почему нужно выставлять такое большое число? в книге Asterisk Будущее телефонии я смотрел...в ней этим параметрам не особо-то уделяется внимание...

ilya1989 ( 2014-01-03 15:40:10 +0400 )редактировать

так вот как отключить этот самый TIMEOUT при сбросе звонка? Просто терпеть не могу,когда умничают некоторые...на форумах.. спокойно спрашиваешь,как можно решить проблему.... в итоге коротко,без разъяснений что-то отвечают...как хочешь-так и понимай потом,что некоторые имели в виду... да и в документации толком не разъясняется работа этих параметров timeout...

ilya1989 ( 2014-01-03 17:32:57 +0400 )редактировать

за вас вашу проблему никто не решит. ибо непонятно в чем вобщмто проблема. нет, не могу я пояснить. читайте умные книжки. чтоб задать правильно вопрос(так чтоб его можно было понять) надо владеть занниями хоть какимито. или наймите експерат, поакжите ему по принципе "вот оно так смотрите, а я хочу чтоб дальше звонило" и получить ответ что происходит.

meral ( 2014-01-03 22:58:57 +0400 )редактировать

и от моего желания тут ничего не зависит. видите, вам наотвечали кто как понял ваш вопрос. и вам не помогло. вот читайте http://asterisk-support.ru/question/38386/kak-poniat-chto-proiskhodit-na-asteriske/ и смотриет что происходит.

meral ( 2014-01-03 23:00:14 +0400 )редактировать

2 Ответа

0

Ваш взгляд это ваша проблема, никто не обязан писать астериск так как хочется только вам. Астериск поступает правильно: агент сбросил вызов, вызов остался в очереди и не был обработан за заданный период времени.

Вам следует определиться, правильно ли вы поступаете сбрасывая вызов на стороне агента. Идеологически верно приостанавливать участие агента.

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

ответил 2014-01-03 09:18:51 +0400

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

Начнем с того, что X-Lite при сбросе вызова шлет SIP-сообщение "480 Temporairly Unavailable". Что транслируется как Cause 19 - No answer. Так что Asterisk тут формально прав, что ему дают - то он и показывает.

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

ответил 2014-01-03 17:08:12 +0400

mistral Gravatar mistral flag of Ukraine
370 2 5 19

Comments

так вот как отключить этот самый TIMEOUT при сбросе звонка? Просто терпеть не могу,когда умничают некоторые...на форумах.. спокойно спрашиваешь,как можно решить проблему.... в итоге коротко,без разъяснений что-то отвечают...как хочешь-так и понимай потом,что некоторые имели в виду... да и в документации толком не разъясняется работа этих параметров timeout...

ilya1989 ( 2014-01-03 19:53:02 +0400 )редактировать

Или же это особенность софтфона такая?

имеет ли смысл менять X-Lite на 3CX?

ilya1989 ( 2014-01-03 19:54:09 +0400 )редактировать

Можете попробовать вставить костыли функцией DEVICE_STATE(), анализируя состояние члена очереди или агента.

mistral ( 2014-01-03 20:21:31 +0400 )редактировать

эта функция как-то выводит на монитор состояние,типа Verbose?

ilya1989 ( 2014-01-03 20:39:56 +0400 )редактировать

в CLI астериска вводите core show function DEVICE_STATE, и изучаем, чем она может быть полезна.

mistral ( 2014-01-03 23:07:38 +0400 )редактировать

можно ли какой-либо переменной вернуть значение прошедшего по timeout времени из функции queue()

например,в функции queue() значение timeout заданно 60 секунд. НО SIP-устройство сбросило входящий вызов ранее 60 секунд.

сохраняет ли он значение timeout из функции queue() в какую-либо переменную?

ilya1989 ( 2014-01-04 08:28:48 +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 ленту новостей

Статистика

Задан: 2014-01-02 14:32:48 +0400

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

Обновлен: Jan 03 '14

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

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