First time here? Check out the FAQ!

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

Осуществление исходящих вызовов по очереди через 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()

спасибо

спросил Sep 5 '12

Mixa87 Gravatar Mixa87
1 1 1

обновил Sep 5 '12

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

Comments

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

grimic (Apr 6 '15)edit

2 Ответа

0

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

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

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

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

ответил Dec 18 '15

Soeti Gravatar Soeti
1 7 4

Comments

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

zzuz (Dec 19 '15)edit
0

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

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

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

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

ответил Sep 5 '12

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

обновил Sep 5 '12

Ваш ответ

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 ленту новостей

Статистика

Задан: Sep 5 '12

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

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

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