Читатель, вероятно, уже обратил внимание на то, что протокол ТфОП описывается подробнее, чем другие протоколы V5. Для этого имеется много причин, частично упоминавшихся в начале главы. Протокол ТфОП, по существу, представляет собой набор инструментальных средств поддержки управления соединениями абонентов ТфОП, причем средства эти используются разными способами при удовлетворении требований разных операторов. Способ, которым используется этот набор инструментальных средств в каждой конкретной сети, специфицирован в «мэппинге» между сигналами ТфОП и сообщениями протокола ТфОП, обычно разном в разных странах, о чем будет сказано несколько позже.
Во всех случаях основная функция протокола - поддержка процесса управления соединениями. Протокол должен также обеспечивать возможность передавать некоторые специальные данные о линии, а также рассмотренные в предыдущем параграфе дополнительные команды, исключающие влияние вносимых самим протоколом задержек и случаев анормального состояния процесса. Сеть доступа несет ответственность за управление специфическими параметрами, такими, как время распознавания аналоговых сигналов, продолжительность, электрические характеристики и частота тарифных импульсов, вызывной ток или отдельные параметры сигналов. Данные параметры устанавливаются аппаратно или программно и должны быть определены заранее, хотя некоторые из них могут быть переопределены с помощью сообщений PROTOCOL_PARAMETER.
На рис. 7.11 представлена структура процесса PANS (PSTN protocol: Access Network Side) в логическом объекте протокола ТфОП на стороне сети доступа, а на рис. 7.12 приведена SDL-диагоамма этого программного процесса.
Сообщения, передаваемые процессом PANS к АТС или принимаемые от нее, подробно обсуждались в двух предыдущих параграфах.
Рассмотрим теперь взаимодействие этого процесса с пользовательским портом ТфОП. Взаимодействие поддерживается функциональными элементами FE (Functional Elements), которые обеспечивают формирование и интерпретацию примитивов, предоставляющих в абстрактном виде обмен необходимой информацией внутри AN между процессом PANS и пользовательским портом.
Имеется четыре группы таких примитивов:
• FE-subscriber_seizure (абонент снял трубку),
• FE-subscriberJ-elease (абонент дал отбой),
• FE-lineJnformation (данные о линии),
• FE-line_signal (линейный сигнал).
Рис. 7.12. SDL-диаграмма процесса PANS (1 из 5)
Рис. 7.12. SDL-диаграмма процесса PANS протокола ТфОП на стороне сети доступа (2 из 5)
Рис. 7.12. SDL-диаграмма процесса PANS (3 из 5)
Рис. 7.12. SDL-диаграмма процесса PANS обработки протокола ТфОП на стороне сети доступа (4 из 5)
Рис. 7.12. SDL-диаграмма процесса PANS обработки протокола ТфОП на стороне сети доступа (5 из 5)
Примитивы трех первых групп передаются (канал С 1) только в направлении от порта к логическому объекту протокола ТфОП. Смысл двух из них очевиден, а третий (FE-line_Jnformation) несет в себе данные о таких изменениях состояния абонентской линии, которые не имеют отношения к сигналам управления соединениями.
Примитивы четвертой группы передаются (каналы С1 и С2) в обоих направлениях, неся в себе сигналы управления соединениями (набор номера, вызывной сигнал и т.п.).
Каналы СЗ и С4 направляют сообщение уровня 3 процесса PANS процессу уровня 2 для передачи каналу ПД.
Процесс PANS имеет 7 состояний:
AN1 — нулевое состояние (null). В этом состоянии процесс ожидает примитива со стороны пользовательского порта или сообщения ESTABLISH со стороны АТС.
AN2 — создание сигнального пути инициировано со стороны сети доступа (path initiated by AN). В это состояние процесс переходит, когда в сети доступа было обнаружено замыкание шлейфа абонентской линии, в сторону АТС было послано сообщение ESTABLISH и от нее ожидается сообщение ESTABLISH_ACK.
AN3 — запрошено преждевременное освобождение сигнального пути (path abort request). Это состояние устанавливается в случае, когда сообщение ESTABLISH было послано к АТС, подтверждение ESTABLISH_ACK от нее еще не получено, а вызывающий абонент дает отбой.
AN4— обрабатываются данные о линии. В это состояние процесс переходит после приема примитива FE-line_information и передачи полученных в нем данных о линии на АТС в сообщении ESTABLISH. Co стороны АТС ожидается сообщение DISCONNECT_COMPLETE. В данное состояние можно перейти только из нулевого состояния AN 1, а выйти из него можно только в нулевое состояние AN 1.
AN5 — состояние активного сигнального пути (path active).
AN 6 — порт блокирован (port blocked). В данное состояние можно перейти из любого состояния, а выйти из него можно только в нулевое состояние, когда порт снова будет готов к работе. (На SDL-диаграмме состояние AN6 не рассматривается, как не рассматриваются и сообщения технической эксплуатации).
AN7 — запрошено освобождение сигнального пути (disconnect request). В это состояние процесс переходит после того, как в сторону АТС передано сообщение DISCONNECT.
Правила представления приведенной на рис. 7.12 SDL-диаграммы процесса PANS соответствуют описанию языка SDL, содержащемуся в главе 2 первого тома и в [55].
В нулевом состоянии AN1 возможно поступление от АТС сообщения ESTABLISH, при получении которого немедленно отправляется подтверждение ESTABLISH_ACK, сбрасываются счетчики и процесс переходит в состояние активного сигнального пути AN5. При переходе в AN5 возможна также, но необязательна передача в пользовательский порт примитива «линейный сигнал» (FE-line_signal). Фактически ESTABLISH — единственное сообщение от АТС, которое выводит процесс PANS из нулевого состояния AN 1.
В состоянии AN1 возможен приход двух других сообщений:
ESTABLISH_ACK и PROTOCOL_PARAMETER, которые не меняют состояние процесса, а вызывают посылку сообщения STATUS к АТС.
Создание сигнального пути может идти также по инициативе абонента, когда из пользовательского порта поступает примитив FE-subscriber-seizure, сообщающий о том, что абонент снял трубку. В этом случае запускается таймер Т 1 и к АТС направляется сообщение ESTABLISH, а процесс переходит в состояние AN2 -создание сигнального пути инициировано сетью доступа. Если используется автономная реакция на сигнал абонента, то в обратном направлении к порту передается примитив FE-line_signal. В других случаях (когда автономная реакция на сигнал от абонента не активизирована) FE-line_signal не передается.
При поступлении от пользовательского порта примитива «данные о линии» (FE — line information) запускается таймер Т 1, к АТС посылается сообщение ESTABLISH с информационным элементом «данные о линии», а процесс переходит в состояние AN4 (данные о линии обрабатываются).
В состоянии AN2 от АТС ожидается сообщение ESTABLISH_ACK, при приеме которого сбрасываются все таймеры, а процесс переходит в состояние активного сигнального пути AN5. Вместо ESTABLISH_ACK может придти сообщение PROTOCOL_PARAMETER, в ответ на которое направляется информация о статусе, а процесс остается в том же состоянии AN2. Возможно также поступление сообщения DISCONNECT_COMPLETE, при приеме которого сбрасываются таймеры, все параметры устанавливается в исходное состояние, а процесс возвращается в нулевое состояние AN 1. Если от АТС в состоянии AN2 поступает сообщение ESTABLISH, то дальнейшие действия зависят от того, какой вызов имеет приоритет — входящий или исходящий. В случае приоритета исходящего вызова это сообщение просто игнорируется, а процесс остается в состоянии AN2. Если же приоритет имеет входящий вызов, то к АТС посылается сообщение ESTABLISH__ACK, устанавливаются все счетчики, сбрасываются все таймеры, а в пользовательский порт передается примитив FE-line_signal. Процесс переходит в состояние AN5 активного сигнального пути.
В этом же состоянии AN2 абонент может положить трубку Тогда из пользовательского порта поступит примитив FE-subscriber_release («отбой абонента»), и процесс перейдет в состояние AN3 (запрошено преждевременное освобождение сигнального пути - PATH ABORT REQUEST). В состоянии AN2 может также сработать таймер Т 1, если в течение периода Т 1 не придет ответ на ранее посланное сообщение ESTABLISH. В этом случае к АТС повторно посылается сообщение ESTABLISH, запускается таймер Т2, а процесс остается в том же состоянии AN2. Точно то же происходит при срабатывании таймера Т2: повторная передача сообщения ESTABLISH и пускТ2.
В состоянии AN3 возможно повторное занятие, если абонент АТС снова снял трубку до того как поступило сообщение ESTABLISH_ACK или DISCONNECT^COMPLETE. В этом случае процесс возвращается в состояние AN2. В том же состоянии AN3 возможен приход практически любого другого сообщения от АТС. Это может быть сообщение PROTOCOL_PARAMETER, в ответ на которое посылается сообщение STATUS, а процесс не меняет своего состояния. Возможен приход сообщения DISCONNECT_COMPLETE, которое переводит процесс в состояние AN1. Возможен приход уже опоздавшего и не ожидаемого более сообщения ESTABLISH_ACK, в ответ на которое отправляется сообщение DISCONNECT, сбрасываются таймеры Т1 и Т2, и запускается таймер ТЗ, а процесс переходит в состояние AN7 (запрошено освобождение сигнального пути). В случае прихода сообщения ESTABLISH выясняется, какой вызов является приоритетным — входящий или исходящий. Если приоритет имеет исходящий вызов, процесс остается в том же состоянии. В случае приоритета входящего вызова направляется сообщение ESTABLISH_ACK, устанавливаются все счетчики, сбрасываются таймеры Т1/Т2, а процесс переходит в состояние активного сигнального пути AN5.
В состоянии AN4 (данные о линии обрабатываются) ожидается сообщение DISCONNECT__COMPLETE, которое сбрасывает таймеры и переводит процесс в нулевое состояние AN I. В случае, если в течение периода Т 1 сообщения DISCONNECT__COMPLETE не поступило, стартует таймер Т2 и повторяется посылка сообщения ESTABLISH, а процесс остается в том же состоянии AN4.
В состоянии AN5 активного сигнального пути выполняются обычные функции абонентской сигнализации. Со стороны АТС в этом состоянии может придти сообщение DISCONNECT_COMPLETE, которое переводит процесс в нулевое состояние AN I. Может также придти рассмотренное выше сообщение SIGNAL, при приеме которого осуществляется проверка порядкового номера принятого сообщения. Если этот номер является правильным, то сигнал транслируется в виде примитива FE-line_signal в пользовательский порт, увеличивается на 1 счетчик S(R), и запускается таймер Тr, если он не был запущен ранее. Процесс при этом остается в том же состоянии AN5. Если же порядковый номер принятого сообщения SIGNAL неверен, то к АТС отправляется сообщение DISCONNECT, запускается таймер ТЗ, сбрасываются таймеры Т1 и Т2, а процесс переходит в состояние AN7. Аналогичным образом происходит анализ правильности принятого порядкового номера при приходе сообщения SIGNAL_ACK. Если номер сообщения M(R) правильный, то сбрасывается таймер Tt, а процесс остается в состоянии активного сигнального пути AN5. В случае, если номер неправильный, процесс переходит в состояние AN7. Практически таким же образом обрабатывается сообщение PROTOCOL_PARAMETER. И, наконец, от пользовательского порта может придти примитив FE-line_signal, при приеме которого к АТС направляется сообщение SIGNAL, увеличивается на 1 счетчик S(S), выполняются анализ и другие действия, предусмотренные в алгоритме на рис. 7.12. При срабатывании таймера Tt процесс посылает сообщение DISCONNECT, запускает таймер ТЗ и переходит в состояние AN7. В случае срабатывания таймера Тг посылается сообщение SIGNAL_ACK, а процесс остается в том же состоянии AN5.
В состоянии AN7 возможен приход одного из двух сообщений: DISCONNECT или DISCONNECT_COMPLETE, в результате приема которых сбрасываются все таймеры, параметры протокола устанавливаются в исходное состояние, а процесс переходит в нулевое состояние AN1. При отсутствии сигнала DISCONNECT и срабатывании таймера ТЗ существенное значение имеет количество срабатываний ТЗ: первые два раза при срабатывании таймера посылается сигнал DISCONNECT и заново спускается этот же таймер ТЗ, а на третий раз процесс принудительно переводится в нулевое состояние AN1 с посылкой аварийного сообщения в систему управления.
В приведенном выше описании опущено одно чрезвычайно важное обстоятельство: в ряде случаев время реакции на сигнал от абонента ТфОП критично, и тогда сеть доступа должна реагировать автономно, что необходимо, например, для выключения вызывного сигнала и для прекращения передачи сигнала ответа станции. Возможны другие варианты реакции, критичные с точки зрения времени, которые определяются в спецификации «мэппинга» национального протокола ТфОП.
Для рассмотренной выше на рис. 7.12 SDL-диаграммы процесса PANS приняты следующие значения таймеров:
• таймер Т 1=4 с — останов после приема сообщения ESTAB-
LISH_ACK или сообщения DISCONNECT_COMPLETE.
После срабатывания этого таймера повторяется посылка сообщения ESTABLISH и запускается таймер Т2;
• таймер Т2==(5-30 с) - останов после приема сообщения ESTABLISH_ACK или сообщения DISCONNECT_COMPLETE. Запускается многократно до приема отбоя абонента;
• таймер Т3=2 с - останов после приема сообщения DISCONNECT или DISCONNECT_COMPLETE. Запускается многократно. После 3-го запуска в систему управления передается сигнал индикации ошибки;
• таймер Тг=5 с - запускается после приема сообщения SIGNAL или сообщения PROTOCOL_PARAMEMER;
• таймер Tt= 10 с - запускается после передачи сообщения SIGNAL.