выбор транка
изменение последовательность выбора транков
Откуда: Minsk
Сообщений: 55
|
выбор транка
Здравствуйте :)
Есть вопрос. Может кто-нибудь настраивал Астериск таким образом, что бы он выбирал исходящии линии по кругу, а не начинал каждый раз с первой?
Был бы очень благодарен.
Спасибо.
|
Сообщений: 147
|
Re: выбор транка
Глобальные переменные и условный переход вам в помощь.
|
Откуда: Minsk
Сообщений: 55
|
Re: выбор транка
Спасибо за ответ :)
Я пока только в процессе чтения книги. Может просто уже кто то делал, хотелось бы пример увидеть.
С уважением
|
Сообщений: 1573
|
Re: выбор транка
|
Сообщений: 147
|
Re: выбор транка
Условие стоит - перебор по порядку...
[globals]
LINE=0
[main]
exten=> _X.,1,Set(GLOBAL(LINE)=$[${LINE} + 1])
exten=> _X.,n,GotoIF($[${LINE} >= ${MAX_VALUE}?:not_max])
exten=> _X.,n,Set(GLOBAL(LINE)=0)
exten=> _X.,n(not_max),Dial(DAHDI/${LINE}/${EXTEN},60)
exten=> _X.,n,Hangup()
Как то так.
|
Сообщений: 1573
|
Re: выбор транка
Условие стоит такое:
kronos: что бы он выбирал исходящии линии по кругу, а не начинал каждый раз с первой?
Вариант с двумя транками:
exten => _X.,n,Set(GATE=${RAND(1|2)})
exten => _X.,n,Set(COUNT=2)
exten => _X.,n,Set(RET=1)
exten => _X.,n,Goto(m9_${GATE})
;
exten => _X.,n(m9_1),GotoIf($["${RET}" > "${COUNT}"]?hangup)
exten => _X.,n,Set(RET=$[${RET} + 1])
exten => _X.,n,Dial(SIP/peer1/${EXTEN})
;
exten => _X.,n(m9_2),GotoIf($["${RET}" > "${COUNT}"]?hangup)
exten => _X.,n,Set(RET=$[${RET} + 1])
exten => _X.,n,Dial(SIP/peer2/${EXTEN})
;
exten => _X.,n,GotoIf($["${RET}" > "${COUNT}"]?hangup)
exten => _X.,n,Goto(m9_1)
;
exten => _X.,n(hangup),Hangup
Остальное добавьте по вкусу ... (проверку статусов и т.д.)
|
Сообщений: 147
|
Re: выбор транка
На поток Е1 будете писать 30 условий ? )
|
Сообщений: 1573
|
Re: выбор транка
iye, это вы, похоже, будете писать ... ))
Ищите информацию по объединению каналов в группы ...
|
Сообщений: 147
|
Re: выбор транка
Я в курсе что такое группы. Но если использовать ваш алгоритм для перебора линий в потоке и делать маршрутизацию на транкгруппу то вы не получите перебора линий (по крайней мере я не встречал настройку правил перебора линий в группе, может и не прав. Но почему то думается мне что он начнет занимать линии с 1 и выше по занятости).
|
Сообщений: 1573
|
Re: выбор транка
iye: Я в курсе что такое группы.
Но не умеете пользоваться? ... ;)
Зачем в потоке перебирать линии? * сам перебирает линии в потоке ...
Dial(Zap/g2...): Будет искать свободный канал в последовательности: 1, 2, 5, 8
Dial(Zap/G2...): Будет искать свободный канал в последовательности: 8, 5, 2, 1
Dial(Zap/r2...): Будет искать свободный канал в последовательности: 8, 1, 2, 5
Dial(Zap/R2...): Будет искать свободный канал в последовательности: 2, 1, 8, 5
P.S. Начните с изучения возможностей ... )
|
|