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

Осуществление исходящих вызовов по очереди через GOIP 4

0

Добрый день

Есть 4 шлюза goip 4, и 2 шлюза gudwin Asterisk 1.6, Elastix 2.0

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

В данный момент настроена схема для gudwin, как корректно добавить в эту очередь шлюзы goip?

[outbound-1] 
exten => _.,1,Answer() 
exten => _.,2,Wait(1) 
exten => _.,3,Set(fname=${UNIQUEID}) 
exten => _.,4,MixMonitor(/var/spool/asterisk/monitor/${STRFTIME(,,%G%m%d)}/${fname}.wav) 
exten => _XXX,5,Dial(SIP/${EXTEN}) 
exten => _XXX,6,Goto(lbl_vdp-outbound_3) 
exten => _044XXXXXXX,5,Goto(trunks) 
exten => _044XXXXXX,5,Goto(trunks) 
exten => _XXXXXXX,5,Goto(trunks) 
exten => _XXXXXX,5,Goto(trunks) 
exten => _0800X.,5,Goto(trunks) 

;exten => _0157XXXXXXXXXX,5,Goto(moscow) 
;exten => _01537XXXXXXXXXX,5,Goto(moscow) 

exten => _X.,5(moscow),Set(SES=0) 
exten => _X.,6,Set(GMIN=1) 
exten => _X.,7,Set(GMAX=4) 
exten => _X.,n,Set(GSMGMIN=1) 
exten => _X.,n,Set(GSMGMAX=2) 
exten => _X.,n,Set(GSMGATE=${RAND(${GSMGMIN},${GSMGMAX})}) 
exten => _X.,n,Set(GATE=${RAND(${GMIN},${GMAX})}) 

exten => _X.,n,GotoIf($["${GSMGATE}" = "1"]?lbl_vdp-outbound_0:lbl_vdp-outbound_12) 

exten => _X.,n(lbl_vdp-outbound_0),GotoIf($["${SES}" = "4"]?:lbl_vdp-outbound_2) 
exten => _X.,n,Set(SES=0) 
exten => _X.,n,Goto(lbl_vdp-outbound_12) 

exten => _X.,n(lbl_vdp-outbound_2),Dial(SIP/gudwin1/99${GATE}${EXTEN}) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?lbl_vdp-outbound_4:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?lbl_vdp-outbound_4:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?lbl_vdp-outbound_4:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?lbl_vdp-outbound_4:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CANCEL"]?lbl_vdp-outbound_4:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "DONTCALL"]?lbl_vdp-outbound_4:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "TORTURE"]?lbl_vdp-outbound_4:) 
exten => _X.,n,Goto(lbl_vdp-outbound_3) 
exten => _X.,n(lbl_vdp-outbound_4),GotoIf($["${GATE}" = "4"]?:lbl_vdp-outbound_7) 
exten => _X.,n,Set(GATE=1) 
exten => _X.,n(lbl_vdp-outbound_6),Set(SES=$[(${SES}+1)]) 
exten => _X.,n,Goto(lbl_vdp-outbound_0) 
exten => _X.,n(lbl_vdp-outbound_5),GotoIf($["${GATE}" < "4"]?:lbl_vdp-outbound_4) 
exten => _X.,n,Set(GATE=$[${GATE} + 1]) 
exten => _X.,n,Goto(lbl_vdp-outbound_6) 

exten => _X.,n(lbl_vdp-outbound_12),GotoIf($["${SES}" = "4"]?:lbl_vdp-outbound_7) 
exten => _X.,n,Set(SES=0) 
exten => _X.,n,Goto(lbl_vdp-outbound_0) 
exten => _X.,n(lbl_vdp-outbound_7),Dial(SIP/gudwin2/98${GATE}${EXTEN}) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?lbl_vdp-outbound_9:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?lbl_vdp-outbound_9:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?lbl_vdp-outbound_9:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?lbl_vdp-outbound_9:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CANCEL"]?lbl_vdp-outbound_9:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "DONTCALL"]?lbl_vdp-outbound_9:) 
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "TORTURE"]?lbl_vdp-outbound_9:) 
exten => _X.,n,Goto(lbl_vdp-outbound_3) 
exten => _X.,n(lbl_vdp-outbound_9),GotoIf($["${GATE}" = "4"]?:lbl_vdp-outbound_10) 
exten => _X.,n,Set(GATE=1) 
exten => _X.,n(lbl_vdp-outbound_11),Set(SES=$[(${SES}+1)]) 
exten => _X.,n,Goto(lbl_vdp-outbound_0) 
exten => _X.,n(lbl_vdp-outbound_10),GotoIf($["${GATE}" < "4"]?:lbl_vdp-outbound_9) 
exten => _X.,n,Set(GATE=$[${GATE} + 1]) 
exten => _X.,n,Goto(lbl_vdp-outbound_11) 

exten => _.,n(lbl_vdp-outbound_3),Hangup()

спасибо

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

спросил 2012-09-05 16:31:35 +0400

Mixa87 Gravatar Mixa87
1 1 1

обновил 2012-09-05 16:54:20 +0400

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

Comments

Столкнулся с подобной проблемой. Как на GOIP выбирать вторую линию, если первая занята. Как Вы решили свой вопрос?

grimic ( 2015-04-06 22:13:51 +0400 )редактировать

2 Ответа

0

Для GOIP последовательный выбор свободной карточки решается так:

exten => s,n,GotoIf($[${DEVICE_STATE(SIP/1111)} = NOT_INUSE]?call:next)

Для нас балансинг не критичен, им не заморачивались.

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

ответил 2015-12-18 20:24:05 +0400

Soeti Gravatar Soeti
1 7 4

Comments

Если Вы найдете у автора тег в контексте call или next , то Вам полагается 1000 рублей. Конечно если это не бесполезный некрофлуд.

zzuz ( 2015-12-19 04:07:43 +0400 )редактировать
0

поиск не рулит конечно.

и вообще ваш диалпан странный,читать чтото не хочется. вы бы еще выложили ВЕСЬ конфиг. там 80% не касается задачи.

вот тут гляньте

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

ответил 2012-09-05 18:49:35 +0400

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

обновил 2012-09-05 18:50:06 +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 ленту новостей

Статистика

Задан: 2012-09-05 16:31:35 +0400

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

Обновлен: Dec 18 '15

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