deema1974
10.06.2019, 08:25
Уважаемые коллеги! Подскажите пожалуйста правильный и/или эффективный способ резервирования внешних направлений на этой АТС. Задача - при недоступности одного транкового направления (например, плата MPT неисправна, удаленный сервер возвращает ошибку или вообще отвалился) осуществить вызов по другому направлению
На Коралле имеются несколько вариантов маршрутизации, сделанных предшественниками:
Заранее небольшой дисклеймер: да, я не всегда знаю назначение того или иного параметра. Если руки тянутся написать "ты тупой" - не сдерживайте себя, но желательно с пояснениями.

1. Диапазон номеров принадлежит сети (NETWORK) и ссылается на ноду, которая ссылается на R.A.# и R.E.# Здесь Route Access как бы не при делах (или наоборот), зато Route Element ссылается на Dial Service, который опять ссылается на R.A.# (хз зачем, причем может отличаться от того, что указан в ноде) и, наконец-то на группу транков в ROUTING DEST NUM.
2. Начальные цифры диапазона принадлежат библиотеке и тут 2 варианта:
2.1. Набор сразу уходит в транковую группу
2.2. Номер OUT_TK принадлежит R.A.# и разруливается с помощью ROUTING NUMBERING PLAN, который ссылается на R.E.# и дальше - по накатанной)

У п.2.1 видимо очень плохие перспективы резервирования. А вот по поводу элемента просматривается вариант реализовать данную задачу с помощью DEFAULT_ELEMENT. Так ли это? Приветствуются так же другие идеи. Спасибо!

deema1974
10.06.2019, 08:41
P.S. У одного коллеги подсмотрел хитрый трюк: у него в транковую группу собраны 15 СЛ которые идут с одной платы MPT и 15 - с другой. Взял себе на заметку, как один из вариантов, но подожду еще других советов: не понравилось, что каждый порт работает только в половину своей пропускной способности. А так - да, рабочий вариант.

Georg_Ua
10.06.2019, 09:41
1. Ознакомьтесь с мануалом по этому вопросу. (смотри мою кладовку связиста).
2. Есть несколько вариантов решения этой задачи. (из них один неправильный-через библы и прямо на ТГ).
3. Маршрут резервируется в RE# параметр PRIO - (7029,7050,7099)
Т.е. DS# 7029 первое и основное направление, 7050 - резерв 1, 7099 - резерв 2.
Если нет основного, уходим на 1, если нет осн. и 1, уходим на 2й.
Второй вариант в одну ТГ набиваются транки с двух (трех) направлений.
Это краткое описалово.

deema1974
10.06.2019, 10:25
Спасибо! Вариант резервирования в PRIO - самое то. По какому условию происходит переход на резервное направление?

Vladimir74m
10.06.2019, 10:32
Спасибо! Вариант резервирования в PRIO - самое то. По какому условию происходит переход на резервное направление?

см. Мануал Триггеры маршрутизации с упреждением 􀃖Путь: LCR,7 [4,0,7]
(см. Раздел 23- Аварийные сигналы LAR на стр.22-8).

valeryk
10.06.2019, 11:29
Георгий привет! Как ты написал, будут перебираться DS в случае занятости транков. В случае неисправности это не сработает. Для автора: Владимир написал про LAR, но для этого нужно чтобы МПТиха была включена в железку, которая будет присылать ISDN-сообщения с отказом в соединении с указанием CAUSE VALUE. Если отваливается весь поток, то он блокируется путём блокировки транков в TG. Поэтому две TG с двумя потоками на одно направление - нормальный вариант.

deema1974
10.06.2019, 11:32
Владимир, спасибо! Правда, сразу же появились куча вопросов. Я так понял, что должен указать в DIAL SERVICE [2] и TRUNK [3], номера ошибок, при которых должно произойти перенаправление?
Посмотрел у себя LAR - там такое:
0
------------
NAME(16): - public_network
Dial Service (41,47,49,50,57,58,63,81,82,99,102,250,252,253,254 )
Trunk (6,44,98)
Block override (47,49,50,57,58,63,81,82,98,99,250,252,253,254)

1
------------
NAME(16): - private_qsig_net
Dial Service (3,27,49,50,52,54,63,65,69,70,99)
Trunk (6,42,44,98)
Block override (3,42,49,50,52,54,63,65,69,70,98,99)

2
------------
NAME(16): - ip_net
Dial Service (28,42,49)
Trunk (98)
Block override (28,42,49,98)

3
------------
NAME(16): - analog_trunks
Dial Service ()
Trunk (181,182,183,184)
Block override (184)


Это означает, что если номер принадлежит NETWORK и при наборе номера Dial Service произошла ошибка из списка: (41,47,49,50,57,58,63,81,82,99,102,250,252,253,254 ) или при наборе транка произошла ошибка (6,44,98) - то перейти к следующему сервису набора? При этом Block override при ошибках (47,49,50,57,58,63,81,82,98,99,250,252,253,254) не вызовет блокировку Транков и Сервисов набора (хмм.. не понятно)

deema1974
10.06.2019, 11:34
Если отваливается весь поток, то он блокируется путём блокировки транков в TG. Поэтому две TG с двумя потоками на одно направление - нормальный вариант.
valeryk, спасибо большое!
В данном случае сработает даже резервирование по п.2.1 (OUT_TK в LIB указывает транковую группу)

valeryk
10.06.2019, 11:57
У меня когда использовал, так было:
LAR Triggers


0
------------


NAME(16): - public_network

replace by (...) / add by (a,...) / remove by (r,...) / end by <CR>:
Dial Service
(41,47,49,50,57,58,63,81,82,99,102,250,252,253,254 )

replace by (...) / add by (a,...) / remove by (r,...) / end by <CR>:
Trunk
(6,44,98)

replace by (...) / add by (a,...) / remove by (r,...) / end by <CR>:
Block override
(47,49,50,57,58,63,81,82,98,99,250,252,253,254)

1
------------


NAME(16): - private_qsig_net

replace by (...) / add by (a,...) / remove by (r,...) / end by <CR>:
Dial Service
(3,27,49,50,52,54,63,65,69,70,99)

replace by (...) / add by (a,...) / remove by (r,...) / end by <CR>:
Trunk
(6,42,44,98)

replace by (...) / add by (a,...) / remove by (r,...) / end by <CR>:
Block override
(3,42,49,50,52,54,63,65,69,70,98,99)

valeryk
10.06.2019, 12:02
public_network Это не ваш NETWORK. Это так назвали сеть связи общего пользования.



0
------------


NAME - BLANK
NSF - -
ROUTING ACCESS - 7728
(DIAL IN/CALLER OUT) OFFSET - -
CALLER # OUT FILTER -
SERVICE TYPE (Outgoing/Incoming/Both) - Both
LAR ON Call Independent Signaling Connections (Yes/No) - Y
LAR TRIGGERS SET - 0
EXTENDED INTERNAL DIAL_SERVICE (Y/N) - N
ROUTING DEST NUM - 7702
DIAL_FILTER - 0



Приведённые в #9 настройки триггера c номером "0" будут применены к этому DS.

valeryk
10.06.2019, 12:15
ссылается на Dial Service, который опять ссылается на R.A.# (хз зачем, причем может отличаться от того, что указан в ноде) Это нужно для формирования АОНа.


В данном случае сработает даже резервирование по п.2.1 (OUT_TK в LIB указывает транковую группу) Очень сложно.

Vladimir74m
10.06.2019, 12:18
Владимир, спасибо! Правда, сразу же появились куча вопросов. Я так понял, что должен указать в DIAL SERVICE [2] и TRUNK [3], номера ошибок, при которых должно произойти перенаправление?
Посмотрел у себя LAR - там такое:
0
------------
NAME(16): - public_network
Dial Service (41,47,49,50,57,58,63,81,82,99,102,250,252,253,254 )
Trunk (6,44,98)
Block override (47,49,50,57,58,63,81,82,98,99,250,252,253,254)



Это означает, что если номер принадлежит NETWORK и при наборе номера Dial Service произошла ошибка из списка: Dial Service (41,47,49,50,57,58,63,81,82,99,102,250,252,253,254 ) или при наборе транка произошла ошибка (6,44,98) - то перейти к следующему сервису набора? При этом Block override при ошибках (47,49,50,57,58,63,81,82,98,99,250,252,253,254) не вызовет блокировку Транков и Сервисов набора (хмм.. не понятно)
Dial Service произошла ошибка из списка (41,47,49,50,57,58,63,81,82,99,102,250,252,253,254 ) блокирует
Trunk (6,44,98)блокирует
Block override (47,49,50,57,58,63,81,82,98,99,250,252,253,254) не вызовет блокировку

deema1974
10.06.2019, 13:39
Коллеги, спасибо большое! (хочу всем поставить плюсик, но форум энджин говорит "Вы должны поставить плюсик кому-то другому, прежде чем снова поставить плюсик этому хорошему человеку")

Для себя определил два варианта резервирования:

ПЕРВЫЙ ВАРИАНТ РЕЗЕРВИРОВАНИЯ:
1. В плане нумерации для типа NETWORK указываю ноду, которая будет маршрутизировать вызов
2. В этой ноде указываю Route Element для маршрутизации
3. В параметре PRIO элемента перечисляю Dial Services с резервированием
4. В LCR -> 3-DIAL SERVICES для выбранных на предыдущем этапе Dial Services указываю в параметре LAR TRIGGERS SET один из 4 триггеров (ну пусть будет 0) и сразу - ROUTING DEST NUM (TG)
5. В LCR -> 7-LOOK AHEAD ROUTING TRIGGERS для сета 0 указываю Trunk (1,2,3,4...252,253,254,255) те же номера ошибок указываю в Block Override (пусть тестируются каждый раз, без блокирования)
6. К портам, соответствующим TG, выбранным в п.3 и 4 цепляю транковые шлюзы E1-SIP, которые сип-транками связаны с разными провайдерами.

ВТОРОЙ ВАРИАНТ РЕЗЕРВИРОВАНИЯ:
1. В NPL прописываю диапазон номеров типа TRUNK, относящиеся к порту PCM-0 слота 4 корзины 2 и PCM-0 слота 4 корзины 0
2. В TGDEF прописываю MEM#1...MEM#15 порта PCM-0 слота 4 корзины 2 и MEM#16...MEM#30 PCM-0 слота 4 корзины 0
3. К данным портам подключаю транковые шлюзы, в которых ограничиваю число используемых таймслотов 15 и связываю эти шлюзы сип-транками с разными провайдерами.

Надеюсь, всё написал правильно и для самого себя и для других новичков, кто задастся этим вопросом.

valeryk
10.06.2019, 14:32
Если от провайдеров будут приходить сообщения с причиной и её значением, то первый вариант должен работать, правда я забыл тонкость, что, когда и как блокируется: транк или дайлсервис. Если же пропадёт Е1, то естественно первый вариант не заработает. Второй вариант как раз для случая падения потока. Комбинируйте оба.

Georg_Ua
10.06.2019, 17:31
... В случае неисправности это не сработает...
Привет Валера!
У меня так работает. Очень даже четко.
ТГ блокируются или DS не важно, главное, что переключение на резерв происходит. LAR параметры даже не менял, оставил по дефолту.

valeryk
10.06.2019, 19:05
Привет Валера!
У меня так работает. Очень даже четко.
ТГ блокируются или DS не важно, главное, что переключение на резерв происходит. LAR параметры даже не менял, оставил по дефолту.
Оно и у меня работает, но по-другому, как впрочем и у тебя. Сначала блокируются транки, но не за счёт LAR а по автотесту, а потом в работу вступают транки, прописанные в настройках следующего дайлсервиса.