VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Перебор транков

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Перебор транков

Сообщение Sanek »

Как понимаю, в транках ничего (без префиксов) и для каждого транка отдельный маршрут?
Такую конфигурацию опробовал изначально - проблема не решается: звонки отбиваются не правильно (дальше не переходят), из-за этого и начал экспериментировать с транками и маршрутами. Мне кажется (а может и ошибаюсь) лучше для транков одного направления прописывать один маршрут (как у меня сечас). Скорее всего беда кроется в настройках транков либо в конфигах самого астера, подозреваю, что при посылке номера сразу открывается медиаканал, из-за чего билинг считает звонок обработанным.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Перебор транков

Сообщение Vlad1983 »

не надо использовать FreePBX, оно не для транзита
больше 150 маршрутов это предел на нем

"отбиваются не правильно" из-за того что FreePBX заточена под человека на под MVTS (или чем вы там трафик генерите)
это правиться легко, но вышесказанное ограничение по количеству маршрутов убъет все в определенным момент
ЛС: @rostel
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Перебор транков

Сообщение Sanek »

Vlad1983 писал(а):не надо использовать FreePBX, оно не для транзита
больше 150 маршрутов это предел на нем
150 маршрутов... мало вероятности, что до этого дойдем, а если превысим предел - можно и дополнительный сервак поднять. MVTS не умеет пробивать нат и не любит динамические айпишники (есть для нее примочка, но она стоит чуть дешевле самого билинга), по этому самый подходящий вариант - использовать Asterisk.
Out писал(а):Отдельный для каждого транка роут, и плюс переход на другой транк, если транк "битый".
В моем примере (см. второй пост в этой ветке) на один маршрут используется 4 транка (это в качестве примера, в реали от 8 до 32) Теоретически астер, если в этом роуте нарывается на "битый" транк, звонок должен послать на следующий. Моя задумка заключается в следующем: допустим приходит что-то типа такого: 040101375297090101 - первым делом астер режет префикс 040101 и номер пихает в первый транк, добавляя ему префикс 401; если транк это не принял - дальше префикс 401 меняем на 402 и идем во второй транк и т.д. Но в реали происходит такое: получаем номер 040101375297090101, префикс 040101 меняем на 401 и 401375297090101 шлем в первый транк. Если транк номер принял - всё ОК, если нет - вываливаемся с кодом завершения "User Busy". Понятное дело, что такой код завершения билинг расценивает как номер набран, но в ответ получены "короткие гудки".

Так же я порылся в extensions_additional.conf:
блок, описывающий маршрут на транки 401-404

Код: Выделить всё

[outrt-3] ; GOIP-4-1
include => outrt-3-custom
exten => _040101.,1,Macro(user-callerid,LIMIT,)
exten => _040101.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})})
exten => _040101.,n,Set(_NODEST=)
exten => _040101.,n,Gosub(sub-record-check,s,1(out,${EXTEN},))
exten => _040101.,n,Macro(dialout-trunk,2,401${EXTEN:6},)
exten => _040101.,n,Macro(dialout-trunk,3,401${EXTEN:6},)
exten => _040101.,n,Macro(dialout-trunk,5,401${EXTEN:6},)
exten => _040101.,n,Macro(dialout-trunk,6,401${EXTEN:6},)
exten => _040101.,n,Macro(outisbusy,)

exten => _040102.,1,Macro(user-callerid,LIMIT,)
exten => _040102.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})})
exten => _040102.,n,Set(_NODEST=)
exten => _040102.,n,Gosub(sub-record-check,s,1(out,${EXTEN},))
exten => _040102.,n,Macro(dialout-trunk,2,402${EXTEN:6},)
exten => _040102.,n,Macro(dialout-trunk,3,402${EXTEN:6},)
exten => _040102.,n,Macro(dialout-trunk,5,402${EXTEN:6},)
exten => _040102.,n,Macro(dialout-trunk,6,402${EXTEN:6},)
exten => _040102.,n,Macro(outisbusy,)

exten => _040103.,1,Macro(user-callerid,LIMIT,)
exten => _040103.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})})
exten => _040103.,n,Set(_NODEST=)
exten => _040103.,n,Gosub(sub-record-check,s,1(out,${EXTEN},))
exten => _040103.,n,Macro(dialout-trunk,2,403${EXTEN:6},)
exten => _040103.,n,Macro(dialout-trunk,3,403${EXTEN:6},)
exten => _040103.,n,Macro(dialout-trunk,5,403${EXTEN:6},)
exten => _040103.,n,Macro(dialout-trunk,6,403${EXTEN:6},)
exten => _040103.,n,Macro(outisbusy,)

exten => _040104.,1,Macro(user-callerid,LIMIT,)
exten => _040104.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})})
exten => _040104.,n,Set(_NODEST=)
exten => _040104.,n,Gosub(sub-record-check,s,1(out,${EXTEN},))
exten => _040104.,n,Macro(dialout-trunk,2,404${EXTEN:6},)
exten => _040104.,n,Macro(dialout-trunk,3,404${EXTEN:6},)
exten => _040104.,n,Macro(dialout-trunk,5,404${EXTEN:6},)
exten => _040104.,n,Macro(dialout-trunk,6,404${EXTEN:6},)
exten => _040104.,n,Macro(outisbusy,)

;--== end of [outrt-3] ==--;
и меня смущает во всех роутах последняя строчка: exten => _ХХХХХХ.,n,Macro(outisbusy,) - как бы вываливаемся с кодом "канал занят". Может здесь и зарыта собака?
switch писал(а):FreePBX для провайдера... Мда, вычислительные мощности развращают...
А меня развращают дети: купят несколько балалаек, воткнут их в одну розетку и хотят бабло гребсти. А когда им задаешь вопрос: какой у тебя айпишник и в ответ слышишь: а кто это такой?.. Понимаешь что потра... помучиться придется.

В общем в сторону астера у меня задумок много, только нужно совсем чуть-чуть подкорректировать направление...
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Перебор транков

Сообщение ded »

Перепишите Macro-dialout-trunk под себя, где будет реализован переход на другой транк, если транк "битый".
Это не сложно.
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Перебор транков

Сообщение Sanek »

Код: Выделить всё

exten => _040101.,n,Macro(dialout-trunk,2,401${EXTEN:6},)
exten => _040101.,n,Macro(dialout-trunk,3,401${EXTEN:6},)
exten => _040101.,n,Macro(dialout-trunk,5,401${EXTEN:6},)
exten => _040101.,n,Macro(dialout-trunk,6,401${EXTEN:6},)
Я правильно понял: согласно этого кусочка кода - астер во все четыре транка шлет префикс 401?
Если так, то я понял свою ошибку: в маршрутах просто режем префикс, а нужный префикс для шлюза добавлять уже в самом транке.
Sanek
Сообщения: 81
Зарегистрирован: 17 май 2012, 14:55

Re: Перебор транков

Сообщение Sanek »

Опишу свои ковыряния - может кому пригодится.

И так, транки настраиваем следующим образом:
Изображение
Изображение
ну и так далее...
С маршрутами немного по интереснее:
Изображение
такая настройка работать будет, но все номера с любым префиксом (совпадающим с правилами) будут направляться в первый транк, если он занят - в следующий. Т.е. нужно для каждого транка прописывать отдельно свой маршрут и в том маршруте этот транк ставить перым:
Изображение
Изображение
и т.д. для каждого транка.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH