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

случайный выбор транка в outbound route FreePBX

0

Есть Elastix и GoIP4 с четырьмя симками. У каждой симки есть, как водится, лимит 300 минут.

Каждая sim-карта заведена на Elastix как отдельный транк, и в Outbound route по маске 89ХХХХХХХХХ подряд выставлены три трнака, таким образом, основная нагрузка идет на первую симку.

Какие есть типовые решения для задачи лоад балансинга в данном случае?

Нагуглилось сходу freepbx-trunk-balancing, кто-нибудь пробовал или избыточное решение?

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

спросил 2013-03-18 14:07:47 +0400

shakirov Gravatar shakirov flag of Russian Federation
1143 45 11 44
http://gammatelecom.ru/

3 Ответа

1

Рабочий контекст для FreePBX. Использует функцию RAND.

[random-trunk-select]
exten => _X.,1,Macro(user-callerid,SKIPTTL,)
exten => _X.,n,Set(_NODEST=)
exten => _X.,n,Macro(record-enable,${AMPUSER},OUT,)
;---
exten => _X.,n,Set(GMIN=2) ;номер первого транка
exten => _X.,n,Set(GMAX=13) ;номер последнего транка
exten => _X.,n,Set(COUNT=$[${GMAX}-${GMIN}+1])
exten => _X.,n,Set(GATE=${RAND(${GMIN},${GMAX})})
exten => _X.,n(noop),Noop(call trying, COUNT= ${COUNT})
exten => _X.,n,GotoIf($[${COUNT} > 0]?:busy)
exten => _X.,n,Set(COUNT=$[${COUNT} - 1])
;---
exten => _X.,n,Macro(dialout-trunk,${GATE},${EXTEN},,)
;---
exten => _X.,n,GotoIf($[${GATE} < ${GMAX}]?add)
exten => _X.,n,Set(GATE=${GMIN})
exten => _X.,n,Goto(noop)
exten => _X.,n(add),Set(GATE=$[${GATE} + 1])
exten => _X.,n,Goto(noop)
;---
exten => _X.,n(busy),Macro(outisbusy,)
ссылка удалить спам редактировать

ответил 2013-03-18 20:26:27 +0400

Olpag Gravatar Olpag
1884 3 4 29

Comments

100% шанс завесит астериск при трех занятых каналах.. не пишите такие диалпланы. если пишите, то хоть как примеры не давайте.

meral ( 2013-03-18 21:41:16 +0400 )редактировать

Объясните, почему завесит? Я ведь написал что диалплан рабочий... этот контекст обслуживает 12 транков на трех джсм-шлюзах... бывают заняты ВСЕ транки, ничего не зависает...

Olpag ( 2013-03-19 02:34:46 +0400 )редактировать
1

Пишите свой контекст

[random-trunk-select]
exten => _X.,1,Noop(выбираем транк случайно)
exten => _X.,n,Noop(Здесь организуйте логику выбора транков. можно пользоваться БД, где хранится информация по транкам и подставлять в macro-dialout)

Далее в Freepbx создаете транк CUSTOM и в DIAL пишите Local/$OUTNUM$@random-trunk-select/n и этот транк используйте для звонков.

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

ответил 2013-03-18 14:38:35 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/
0

вот тут http://asterisk-support.ru/question/13916/dialplan-balansirovka-i-tsikl-mezhdu-trankami/#19951

я писал как правильно делается такой обзвон.

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

ответил 2013-03-18 21:45:24 +0400

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

Comments

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

v0ip ( 2013-04-24 21:04:21 +0400 )редактировать

м? вы чтото не то делаете. то что там по ссылке точно работает. проверено.

meral ( 2013-04-24 21:58:09 +0400 )редактировать

Возможно, но у меня не работало, причем не на одной системе.

v0ip ( 2013-04-24 21:59:40 +0400 )редактировать

там звонит на IAX2/manager1 IAX2/manager2 и так далее. если у вас имена другие, надо поменять.

meral ( 2013-04-24 22:23:16 +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-03-18 14:07:47 +0400

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

Обновлен: Apr 24 '13

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