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

Ожидание на линии пока идёт дозвон

0

Задача такая: подключены транки от мегафон - мультифон. На номер звонит клиент, далее вызов отправляется на сотовый "оператора", но если он в не зоне действия, выключен, сбросил, необходимо чтобы абонент ещё ждал на линии, а Asterisk выполнял попытки дозвониться. Сейчас происходит следующее: Звонит клиент, у оператора сотовый выключен, абонент слышит от оператора это.

Делал так:

exten = s,5,Playback(transfer)
exten = s,6,Dial(SIP/${mychannel}/${operator_num})
exten = s,7,NoOp($[${DIALSTATUS})
exten = s,8,GotoIf($["${DIALSTATUS}" = "ANSWER"]?:14)
exten = s,9,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?:6)
exten = s,10,GotoIf($["${DIALSTATUS}" = "CANCEL"]?:6)
exten = s,11,GotoIf($["${DIALSTATUS}" = "BUSY"]?:6)
exten = s,12,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?:6)
exten = s,13,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?:6)
exten = s,14,Hangup()

Что я сделал не так? Как сделать чтобы человек слышил приятную мелодию, а не это "Аппарат вызываемого абонента выключен..."?

Неужели только очередями это сделать?

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

спросил 2013-12-12 14:48:47 +0400

mention Gravatar mention flag of Russian Federation
486 42 2 12
http://localhost/

1 Ответ

1

то что вы написали называется queue.

соответветсвенно клиент висит, ему говорится какой он по счету, музыка, реклама

а очередь звонит.

можно конечно сделать это через диалплан. но не так топорно как вы написали, пример смотрите в extensions.conf.sample.

чтоб играла музыка делается вот так

exten => _s,5,Dial(local/s@dialagent/n,150,m);dial upto 150 seconds

[dialagent]
exten => s,1,Noop(calling agent ${operator_num})
exten => s,n(redial),Dial(SIP/${mychannel}/${operator_num})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => _s-.,1,Wait(1);надо чтоб диалплан не ушел в глубокий цикл)
exten => _s-.,2,Goto(s,redial)
exten => s-,1,Hangup;DIALSTATUS пустой.
exten => s-ANSWER,1,Hangup
ссылка удалить спам редактировать

ответил 2013-12-13 01:37:57 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

обновил 2013-12-13 01:39:46 +0400

Comments

Благодарю, вот только теперь у меня то что хранилось в параметрах ${mychannel} и ${operatornum} - пусто. А после строки "exten => _s,5,Dial(local/s@dialagent/n,150,m)" пишет: addextentopattern_tree: Found duplicate exten. Had s- found s

В чём может быть проблема?

mention ( 2013-12-13 05:24:19 +0400 )редактировать

__mychannel=somethign делайте если хотите чтоб оно прошло в под-каналы Local. а по поводу сообщения наверно вашу 5-ю строку удалить надо,не? хз. читайте умные книжки про диалплан.

meral ( 2013-12-13 06:44:52 +0400 )редактировать

разобрался и всё-таки сделал очередями ))) но всё-равно спасибо за экстеншен... особенно за эти две строки: exten => _s-.,1,Wait(1);надо чтоб диалплан не ушел в глубокий цикл) exten => _s-.,2,Goto(s,redial) у меня сами видели во-сколько строк вылазило. по поводу 5-ой строки нее... ;-)

mention ( 2013-12-13 06:52:57 +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-12-12 14:48:47 +0400

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

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

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