ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №1
ТЕМА «РАСЧЕТ ОБЪЕМА ОБОРУДОВАНИЯ ГИБКОГО КОММУТАТОРА
(SOFTSWITCH) СЕТИ NGN»
Цель занятия
Изучение методики и получение практических навыков проектирования гибкого
коммутатора (softswitch), используемых в сетях связи следующего поколения NGN.
Литература
Контрольные вопросы
обслуживанию сетей доступа?
обслуживанию транзитного уровня NGN?
Подготовка к занятию
Задание
В соответствии с индивидуальным заданием (см. табл. 1):
Содержание отчета
пакетной сети для управления сетью доступа;
Таблица 1 Индивидуальные задания
|
№ |
Исходный параметр |
Варианты заданий | |||||||||
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | ||
|
1. |
Число абонентов ССОП |
2000 |
2500 |
3000 |
3500 |
4000 |
4500 |
3000 |
2500 |
3500 |
2000 |
|
2. |
Число абонентов ISDN- |
250 |
200 |
150 |
300 |
350 |
400 |
450 |
250 |
300 |
350 |
|
3. |
Число сетей доступа с |
2/5 |
3/3 |
5/4 |
0 |
3/5 |
2/1 |
6/3 |
4/4 |
3/6 |
0 |
|
4. |
Число УПАТС, |
4/2 |
0 |
1/2 |
3/5 |
1/2 |
2/3 |
4/2 |
0 |
4/1 |
3/3 |
|
5. |
Число абонентов с |
500 |
450 |
600 |
250 |
350 |
550 |
300 |
400 |
200 |
450 |
|
6. |
Поправочный коэффициент |
1,1 |
1,2 |
1,3 |
1,4 |
1,1 |
1,2 |
1,3 |
1,4 |
1,1 |
1,2 |
|
7. |
Поправочный коэффициент |
1,3 |
1,5 |
1,6 |
1,2 |
1,4 |
1,3 |
1,2 |
1,1 |
1,5 |
1,4 |
|
8. |
Поправочный коэффициент |
1,2 |
1,3 |
1,5 |
1,1 |
1,2 |
1,4 |
1,5 |
1,3 |
1,2 |
1,1 |
|
9. |
Поправочный коэффициент |
1,5 |
1,1 |
1,1 |
1,3 |
1,3 |
1,5 |
1,1 |
1,2 |
1,3 |
1,3 |
|
10. |
Поправочный коэффициент |
1,2 |
1,3 |
1,4 |
1,5 |
1,2 |
1,3 |
1,4 |
1,2 |
1,1 |
1,5 |
|
11. |
Интенсивность вызовов, |
5 |
7 |
6 |
8 |
4 |
5 |
6 |
7 |
5 |
8 |
|
12. |
Число потоков Е1, |
2 |
3 |
4 |
5 |
2 |
3 |
4 |
2 |
3 |
5 |
|
13. |
Число транспортных |
1 |
2 |
3 |
4 |
5 |
1 |
2 |
3 |
4 |
3 |
Методические указания
Уровень управления коммутацией и обслуживанием вызова в сети NGN
Задачей уровня управления коммутацией и передачей является управление установлением
соединения в фрагменте сети NGN. Функция установления соединения реализуется на уровне
элементов транспортной сети под внешним управлением оборудования гибкого коммутатора
(softswitch). Исключением являются АТС с функциями MGC, которые сами выполняют
коммутацию на уровне элемента транспортной сети.
Гибкий коммутатор должен осуществлять:
пользователям сети.
При установлении соединения оборудование гибкого коммутатора осуществляет
сигнальный обмен с функциональными элементами уровня управления коммутацией. Такими
элементами являются все шлюзы, терминальное оборудование сети (интегрированные
устройства доступа (IAD), терминалы SIP и Н.323), оборудование других гибких
коммутаторов и АТС с функциями контроллера транспортных шлюзов (MGC). Для передачи
информации сигнализации сети ТфОП через пакетную сеть используются специальные
протоколы. Так, для передачи информации сигнализации ОКС№7, поступающей через
сигнальные шлюзы от ТфОП к оборудованию гибкого коммутатора, используется протокол
MxUA технологии SIGTRAN (в то же время в ряде реализаций гибкого коммутатора
предусмотрен непосредственный ввод сигнализации ОКС№7).
На основании анализа принятой информации и решения о последующей маршрутизации
вызова оборудование гибкого коммутатора, используя соответствующие протоколы,
осуществляет сигнальный обмен по установлению соединения с сетевым элементом назначения
и управляет с использованием протокола Н.248 (для IP коммутации) или BICC (для ATM
коммутации) установлением соединения для передачи пользовательской информации. При этом
потоки пользовательской информации не проходят через гибкий коммутатор, а замыкаются
на уровне транспортной сети.
В случае использования на сети нескольких гибких коммутаторов они взаимодействуют
по межузловым протоколам (как правило, семейство SIP-T) и обеспечивают совместное
управление установлением соединения.
Структура уровня управления сетями доступа NGN представлена на рис. 1.
POTS TE
ISDN TE
ISDN TE
POTS TE
Рис. 1. Схема включения гибких коммутаторов для управления сетями доступа NGN
Терминальное оборудование пакетной сети взаимодействует с оборудованием гибкого
коммутатора с использованием протоколов SIP и Н.323. Пользовательская информация от
терминального оборудования поступает на уровень узлов доступа пакетной сети и далее
маршрутизируется под управлением гибкого коммутатора.
Расчет производительности гибкого коммутатора
Основной задачей гибкого коммутатора при построении распределенного абонентского
концентратора являются обработка сигнальной информации обслуживания вызова и
управление установлением соединений. Емкостные параметры абонентской базы гибкого
коммутатора должны позволять обслуживание всех абонентов различных типов,
подключение которых планируется при построении абонентского концентратора. При этом
для обслуживания вызовов могут использоваться различные протоколы сигнализации.
Введем следующие переменные:
PPSTN — удельная интенсивность вызовов от абонентов, использующих доступ по
аналоговой телефонной линии в ЧНН;
PISDN — удельная интенсивность вызовов от абонентов, использующих доступ по
базовому доступу ISDN;
РV5 — удельная (приведенная к одному каналу интерфейса) интенсивность вызовов от
абонентов, подключаемых к пакетной сети через сети доступа интерфейса V5;
PPBX — удельная (приведенная к одному каналу интерфейса) интенсивность вызовов от
УПАТС, подключаемых к пакетной сети;
PSHM — удельная интенсивность вызовов от абонентов, использующих терминалы SIP,
H.323, MGCP.
В соответствии с «Общими техническими требованиями к городским АТС» интенсивность
вызовов равна:
PPSTN = 5 выз/чнн, PISDN = 10 выз/чнн, PPBX = 35 выз/чнн.
Значение PSHM можно принять равным PPSTN. Значение PV5 можно принять равным РРВХ.
Тогда общая интенсивность вызовов, поступающих на гибкий коммутатор от источников
всех типов, равна:
LLL
PCALL = PPSTN • (Z Nr PSTN + Z Nr SHM ) + PISDN ’ Z N1 ISDN +
I=1 _ I=1 _ I=1_
LJLK
Pv 5 • (ZZ Nj V 5 + ZZ NkPX )
I=1 j=1 _ 1=1 k=1_
(1)
где L — число шлюзов доступа, обслуживаемых гибким коммутатором.
Отметим, что удельная производительность коммутационного оборудования может
отличаться в зависимости от типа обслуживаемого вызова, т.е. производительность при
обслуживании, например, вызовов ССОП и ISDN, может быть разной.
В документации на коммутационное оборудование, как правило, указывается
производительность для наиболее «простого» типа вызовов. В связи с чем при определении
требований к производительности гибкого коммутатора можно ввести поправочные
коэффициенты, которые характеризуют возможности системы по обслуживанию данного типа
вызовов относительно «идеального» типа.
Например, если производительность системы для «идеальных» вызовов SIP равна 10 млн.
выз/чнн, а для вызовов ССОП — 8 млн. выз/чнн, то интенсивность последних должна браться
с коэффициентом 1,25.
Таким образом, нижний предел производительности гибкого коммутатора по
обслуживанию потока вызовов с интенсивность РCALL может быть определен по формуле:
P = k P -N +k P -N +k P -N +k P -N
1SN PPSTN PPSTN lyPSTN + ISISDN IISNN ‘SNI + + V5 5 V5 5 V V 5 + PPBX PPBX lyPBX
+S'SHM 1 SHM 1 y SHM
(2)
Следует отметить, что требования по производительности предполагают работу
оборудования гибкого коммутатора в условиях перегрузки с показателями не ниже
определяемых в рекомендации Q.543 для нагрузок классов В и С.
Расчет параметров интерфейсов подключения гибкого коммутатора к пакетной сети
Параметры интерфейса подключения гибкого коммутатора к пакетной сети определяются
исходя из интенсивности обмена сигнальными сообщениями в процессе обслуживания
вызовов.
Пусть:
LMEGACO — средняя длина сообщения (в байтах) протокола MEGACO, используемого
при передаче информации сигнализации по абонентским линиям;
NMEGACO — среднее количество сообщений протокола MEGACO при обслуживании
вызова;
LV5UA — средняя длина сообщения протокола V5UA;
NV5UA — среднее количество сообщений протокола V5UA при обслуживании вызова;
LIUA — средняя длина сообщения протокола IUА;
NIUA — среднее количество сообщений протокола IUА при обслуживании вызова;
LSH — средняя длина сообщения протоколов SIP/H.323;
LSH — среднее количество сообщений протоколов SIP/H.323 при обслуживании вызова;
LMGCP — средняя длина сообщения протокола MGCP, используемого при управлении
коммутацией на шлюзе;
NMGCP — среднее количество сообщений протокола MGCP при обслуживании вызова.
Тогда:
' SX Sigig [(^GEPOCO g MOCOCO PpNTN lyPSTN + Vp5UA Gy5UA ^V5 Gy5 +
+^JUA 1 v IUO (1 ISDN 1 v ISDN + 1 PBX 1 v PBX ) + 1N SH SSH ly SH +
+Gg(}CP m MPCP (1 PSTN lyPSTN + ^V 5 ly V 5 +1 ISDN lyNDN +1 PBX lyPBX /J ^-''
(3)
где:
VSX — минимальный полезный транспортный ресурс, в бит/с, которым гибкий коммутатор
SX должен подключаться к пакетной сети, для обслуживания вызовов в сети доступа;
ksig — коэффициент использования транспортного ресурса при передаче сигнальной
нагрузки. По аналогии с расчетом сигнальной сети ОКС№7 примем значение ksig = 5, что
соответствует нагрузке в 0,2 Эрл;
1/450— результат приведения размерностей «байт в час» к «бит в секунду» (8/3600
=1/450).
Ориентировочно можно принять, что средняя длина всех сообщений равна 50 байтам, а
среднее количество сообщении в процессе обслуживания вызова равно 10.
Емкостные параметры интерфейсов подключения оборудования гибкого коммутатора к
пакетной сети определяются следующим выражением:
VSX
NINT =--- (4)
VINT
где VINT — полезный транспортный ресурс одного интерфейса.
Расчет оборудования гибкого коммутатора для управления транспортными
коммутаторами
Основной задачей гибкого коммутатора при управлении транзитным уровнем коммутации
в сети NGN является обработка сигнальной информации обслуживания вызова и управление
установлением соединений. Требования к производительности гибкого коммутатора
определяются интенсивностью вызовов, требующих обработки.
Интенсивность поступающих вызовов определяется интенсивностью вызовов,
приходящейся на один канал 64 кбит/с первичного потока Е1, а также числом потоков Е1,
используемых для подключения станции к транспортному шлюзу (рис. 2).
Рис. 2. Схема включения гибких коммутаторов для управления транзитными уровнем NGN
Пусть
РCH — интенсивность вызовов, обслуживаемых одним каналом 64 кбит/с;
РGW — интенсивность вызовов, обслуживаемых транспортным шлюзом.
Тогда интенсивность вызовов, поступающих на транспортный шлюз l, определяется
формулой:
Pl GW = Nl E1 ’30 ’ PCH , вЫЗ/ЧНН
(5)
Следовательно, интенсивность вызовов, поступающих на гибкий коммутатор, можно
вычислить как
LL
PSX =^Pl_GW = 30 ’ PCH ’^ Nl_E1 , выз/ЧНН
l=1 l=1
(6)
где L — число транспортных шлюзов, обслуживаемых гибким коммутатором.
Значение удельной интенсивности нагрузки определяется общими техническими
требованиями к используемой опорной станции ОПС.
Требования по производительности предполагают работу оборудования гибкого
коммутатора в условиях перегрузки с показателями не ниже определяемых в рекомендации
Q.543 для нагрузок классов В и С.
Параметры интерфейса подключения гибкого коммутатора к пакетной сети определяются
исходя из интенсивности обмена сигнальными сообщениями в процессе обслуживания
вызовов. При использовании гибкого коммутатора для организации распределенного
транзитного коммутатора сообщения сигнализации ОКС№7 поступают на SX в формате
сообщений протокола M2UA или M3UA, в зависимости от реализации.
Пусть:
LMXUA — средняя длина сообщения (в байтах) протокола MxUA;
NMXUA — среднее количество сообщений протокола MxUA при обслуживании вызова;
LMGCP — средняя длина сообщения (в байтах) протокола MGCP, используемого для
управления транспортным шлюзом;
NMGCP — среднее количество сообщений протокола MGCP при обслуживании вызова.
Тогда транспортный ресурс SX, необходимый для передачи сообщений протокола MxUA,
cоставляет:
VSX _ MXUA = ksig • LMXUA ‘ NMXUA ’ PSX , байт/ЧНН (7)
где ksig — коэффициент использования ресурса.
Аналогично, транспортный ресурс гибкого коммутатора, необходимый для передачи
сообщений протокола MGCP, составляет
VSX _ MGCP = ksig ’ LMGCP ’ NMGCP ’ PSX , байт/ЧНН (8)
Суммарный минимальный полезный транспортный ресурс гибкого коммутатора SX,
требуемый для обслуживания вызовов в структуре транзитного коммутатора, составляет
V = V
y SX ' SX _ MXUA + 1 SX _ MGCP
После приведения размерностей получаем
VSX _ MXUA = ksig ■ PSX ■(LMXUA ’ NMXUA + LMGCP ’ NMGCP ) / 450, бит/с (9)
Также ориентировочно можно принять, что средняя длина всех сообщений равна 50
байтам, а среднее количество сообщении в процессе обслуживания вызова равно 10.
Емкостные параметры интерфейсов подключения оборудования гибкого коммутатора к
пакетной сети для управления транзитными коммутаторами могут быть определены по формуле
(4).
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №2
ТЕМА «ПОСТРОЕНИЕ СИГНАЛЬНЫХ ДИАГРАММ СОЕДИНЕНИЙ В СЕТИ NGN
НА БАЗЕ ПРОТОКОЛА SIP»
Цель занятия
Изучение форматов сообщений протокола SIP и получение практических навыков
построения сигнальных диаграмм и заполнения полей заголовков запросов и ответов.
Литература
Контрольные вопросы
Подготовка к занятию
Задание
Исходные данные:
Таблица 1. Исходные данные для задания. Вариант индивидуального задания выбирается по
предпоследней цифре учебного шифра студента.
Номер | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Имя пользователя | User | Operat | Guest | Privacy | Client | Managr | People | Chief | Boss | Clerk |
Отображаемое | Vladimir | Olga | Peter | Ivan | Lena | David | Sofia | Sasha | Nina | Sergei |
Домен | prim.ru | darts.ru | doc.com | ant.org | guk.ru | mtusi.ru | force.int | astan.kz | mins.bu | kiev.ua |
IP-адрес А | 192.168. | 196.14.1. 12 | 207.12.2. 51 | 212.1.0.3 | 198.1.1.3 | 195.2.3.1 1 | 211.11.1. 1 | 195.0.2.4 | 199.1.0.3 2 | 193.24.1. |
Номер | 25486 | 3648 | 31975 | 593173 | 2132456 | 553547 | 4358 | 23787 | 5867 | 67867 |
Имя | Guest | Privacy | User | Operat | People | Boss | Client | Managr | Clerk | Chief |
Отображаемое | Olga | Peter | Lena | Vladimir | Sofia | Nina | Sergei | David | Sasha | Ivan |
Домен | darts.ru | doc.com | prim.ru | mtusi.ru | ant.org | doc.com | guk.ru | guk.ru | astan.kz | docum.c |
IP-адрес | 192.130. 1.0 | 193.23.1. 2 | 223.2.0.1 | 202.14.3. 91 | 197.12.1. 3 | 194.26.2. 11 | 191.3.12. 3 | 211.0.2.1 | 196.35.0. 3 | 194.32.5. 1 |
Исход вызова | Успеш- | Неуспеш | Успеш- | Неуспеш | Успеш- | Неуспеш | Успеш- | Неуспеш | Неуспеш | Неуспеш |
Необходимо:
Содержание отчета
Методические указания
Сценарии установления соединений
Сценарий установления соединения через сервер переадресации
Вызывающему пользователю требуется вызвать другого пользователя. Он передает
запрос INVITE (1) на известный ему адрес сервера переадресации и на порт 5060,
используемый по умолчанию (рис. 1).
6. INVITE
7. 100 Trying
8. 180 Ringing
9. 200 OK
Разговорная фраза
12. 200 OK
Запросы
Ответы
Рис. 1 Сценарий установления соединения через сервер переадресации
В запросе вызывающий пользователь указывает адрес вызываемого пользователя. Сервер
переадресации запрашивает текущий адрес нужного пользователя у сервера определения
местоположения (2), который сообщает ему этот адрес (3). Сервер переадресации в своем
ответе 302 Moved temporarily передает вызывающей стороне текущий адрес вызываемого
пользователя (4), или сообщает список зарегистрированных адресов вызываемого
пользователя, предлагая вызывающему самому выбрать один из них. Вызывающая сторона
подтверждает прием ответа 302 передачей сообщения ACK (5).
Теперь вызывающая сторона может связаться с вызываемой стороной. Для этого она
передает новый запрос INVITE (6). В теле сообщения INVITE указываются данные о
функциональных возможностях вызывающей стороны в формате протокола SDP. Вызываемая
сторона принимает запрос INVITE и начинает его обработку, о чем сообщает ответом 100
Trying (7) встречному оборудованию для перезапуска его таймеров.
После завершения обработки поступившего запроса оборудование вызываемой стороны
сообщает своему пользователю о входящем вызове, а встречной стороне передает ответ 180
Ringing (8). После приема вызываемым пользователем входящего вызова встречной стороне
передается сообщение 200 ОК (9), в котором содержатся данные о функциональных
возможностях вызываемого терминала в формате протокола SDP. Терминал вызывающего
пользователя подтверждает прием ответа запросом АСК (10). На этом фаза установления
соединения заканчивается, и начина ется разговорная фаза.
По завершении разговорной фазы любая из сторон передает запрос BYE (11), который
подтверждается ответом 200 ОК (12).
Если пользователь А знает о текущем местоположении пользователя В, то он не
обращается к серверу переадресации и серверу определения местоположения.
Сценарий установления соединения через прокси-сервер
В этом случае действия (1), (2), (3) такие же, как и при использовании сервера
переадресации. После выяснения адреса (на сервере определения местоположения) прокси-
сервер пользователя А передает по этому адресу запрос INVITE (4) (рис. 2). Вызываемый
пользователь В оповещается акустическим или визуальным сигналом о том, что его вызывают
(5); он поднимает трубку, и ответ 200 ОК отправляется к прокси-серверу (6). Прокси-сервер
переправляет этот ответ вызвавшему пользователю А (7), последний подтверждает
правильность приема, передавая запрос АСК (8), который переправляется к вызванному
пользователю В (9). Соединение установлено, идет разговор.
Вызванный пользователь В кладет трубку, передается запрос BYE (8), прием которого
подтверждается ответом 200 ОК (9).
Рис. 2. Сценарий установления соединения через прокси-сервер
Если прокси-сервер пользователя А знает о текущем местоположении пользователя В, то
он не обращается к серверу определения местоположения.
Создание запроса протокола SIP
Сообщения протокола SIP (запросы и ответы), представляют собой
последовательности текстовых строк, закодированных в соответствии с документом RFC
2279. Структура и синтаксис сообщений SIP идентичны используемым в протоколе HTTP
(рис. 3).
Запрос протокола SIP, составленный клиентом агента пользователя UAC (User Agent
Client), должен обязательно включать:
Стартовая строка Request-Line состоит из названия типа запроса, адрес запроса
Request-URI и номера версии протокола, разделённых пробелом (рис. 4). Request-Line
заканчивается символами возврата каретки и перевода строки (CRLF). Оба символа, вместе
или по одиночке, не должны встречаться в других частях строки.
|
Тип запроса |
Пробел |
Request-URI |
Пробел |
Версия протокола |
СRLF |
Рис 4. Структура строки Request-Line
В базовой рекомендации IETF RFC 3261 определено 6 типов запросов: REGISTER -
для регистрации контактной информации, INVITE, ACK и СANCEL - для установление
сессий, BYE - для завершения сессий и OPTIONS - для запроса информации о
функциональных возможностях сервера. В настоящее время число запросов в протоколе SIP
увеличено до 14. Сервер определяет тип принятого запроса по названию, указанному в
стартовой строке.
Поле Request-URI - это SIP URI, указывающий на пользователя или сервис, к
которому адресован запрос. Исходное значение поля Request-URI сообщения устанавливается
таким же, как URI в поле To. При использовании предустановленного маршрута
рекомендуется задавать один URI, соответствующий исходящему прокси-серверу. Поле
Request-URI не должно содержать пробелов и управляющих символов, а также быть
заключённым в угловые скобки «< >».
И запросы, и ответы содержат действующую версию SIP-протокола. Приложения,
посылающие SIP-сообщения, должны в поле SIP-Version указывать SIP/2.0.
Пример стартовой строки:
Ниже будет рассмотрено формирование заголовков SIP-запросов при работе UAC вне
диалога. Примерами запросов, отсылаемых вне диалога, является запрос INVITE,
устанавливающий сессию, и запрос OPTIONS для запроса информации о функциональных
возможностях. SIP-запросы при работе UAC в режиме диалога должны содержать
специальный параметр, определяющий конкретный терминал вызываемого пользователя.
Формирование заголовка To
Поле заголовка To устанавливает желаемого логического получателя запроса -
публичный адрес получателя (address-of-record) или ресурс, на который отправляется запрос.
Значение заголовка может как быть, так и не быть конечным получателем запроса. Поле To
должно содержать SIP или SIPS URI. Схема SIPS означает, что ресурсы достижимы только
при условии обеспечения безопасности (например, с помощью протокола TLS). Поле To
позволяет также отображать имя пользователя (display name).
Обычно поле заголовка To заполняется через интерфейс пользователя вручную или с
использованием адресной книги. Зачастую пользователь не вводит адреса полностью, а вместо
этого вводит строку букв или цифр (например, «alex»); агент пользователя UA (User Agent)
сам решает, как интерпретировать эту строку. Использование строки ввода для формирования
пользовательской части SIP-адреса (user part) предполагает, что UA желает определить имя
домена, находящееся по правую сторону от «@» SIP URI (например, sip: alex@psuti.ru).
Запросы вне диалога не должны содержать параметра «tag» в поле To. Параметр «tag»
в заголовке To определяет конкретный терминал вызываемого пользователя (например,
домашний, рабочий или сотовый телефон) из терминалов, зарегистрированных под одним SIP
адресом. «Tag» заголовка To в совокупности с «tag» заголовка From и значением поля Call-ID
идентифицирует диалог между двумя его участниками. Поскольку диалог не был установлен,
«tag» в запросе отсутствует.
Пример поля заголовка To:
Формирование заголовка From
Поле заголовка From содержит логический идентификатор инициатора сообщения,
как правило, публичный адрес вызывающего пользователя. Так же, как поле To, оно содержит
URI и, опционально, отображаемое имя (display name), что удобно для вызываемого
пользователя. Заголовок используется SIP-элементами для того, чтобы определить правила
обработки, применимые к запросу (например, автоматическое отклонение вызова). Важно,
чтобы URI в заголовке From не содержал IP-адреса хоста, с которым работает UA, так как это
не логические имена.
Заголовок From предусматривает присутствие отображаемого имени (display name).
UAC должен использовать отображаемое имя «Anonymous», если идентификационная
информация пользователя (identity) неизвестна.
Обычно, поле заголовка From запросов, которые создаёт UA, заполняется на
основании значения, предварительно определённого пользователем или администратором
локального домена пользователя. Если конкретный UA используется несколькими
пользователями, он может иметь переключаемые профили, которые содержат URI,
соответствующий конкретным пользователям. Получатели запросов могут
аутентифицировать инициатора запроса для того, чтобы убедиться, что они те, кого
представляют заголовки From их запросов.
Поле From должно содержать новый параметр «tag», созданный клиентом UA. Этот
параметр содержит произвольную буквенно-цифровую строку, которая добавляется к URI
UAC. Она используется для идентификации сессии.
Примеры поля заголовка From:
Формирование заголовка Call-ID
Заголовок Call-ID – это уникальный идентификатор, объединяющий группу
сообщений. Он должен совпадать для всех запросов и ответов, отправляемых любым из двух
UA в процессе диалога. При создании нового диалога, заголовок Call-ID должен быть выбран
UAC как уникальный идентификатор. Все SIP-агенты пользователя должны иметь средства,
чтобы гарантировать, что Call-ID, созданный ими, не будет случайно генерирован другим UA.
При генерации значений Call-ID рекомендуется использовать случайные
криптографические идентификаторы (по RFC 1750), их использование обеспечивает
некоторую защиту от взлома сессий и уменьшает вероятность возникновения коллизий Call-
ID. Значения заголовка Call-ID чувствительны к регистру и должны сравниваться побайтно.
Когда запросы отправляются повторно после получения ответа с кодом ошибки,
требующего коррекции запроса, (например, запрос на предоставление отклика
аутентификации), эти повторные запросы не рассматриваются как новые и они передаются со
старым значением заголовка Call-ID.
Пример поля заголовка Call-ID:
Формирование заголовка CSeq
Поле заголовка CSeq (Sequence Command) служит средством для идентификации и
упорядочивания транзакций в диалоге. Поле заголовка CSeq содержит порядковый номер и
тип запроса. Для запросов вне диалога, кроме REGISTER, значение порядкового номера может
быть произвольным. Величина порядкового номера выражается 32-разрядным целым числом
и должна быть меньше, чем 231. Клиент может выбирать любой механизм для создания
значений заголовка CSeq.
Пример поля заголовка CSeq:
Формирование заголовка Max-Forwards
Заголовок Max-Forwards используется в любом типе SIP-запросов, чтобы ограничить
число серверов или шлюзов, через которые проходит запрос на пути к месту назначения.
Значение заголовка должно быть целым числом в пределах от 0 до 255, отражающим
оставшееся количество пересылок, которое разрешено для сообщения. Это число уменьшается
каждым сервером на единицу, который пересылает запрос дальше. В качестве
первоначального значения рекомендуется брать 70. Величина выбрана достаточно большой,
чтобы гарантировать, что запрос не будет отброшен сетью SIP при отсутствии петель, но и не
слишком большой, чтобы не загружать ресурсы прокси-сервера при возникновении петли.
Меньшие величины рекомендуется использовать с осторожностью и только в сетях, где агенту
пользователя известна топология сети.
Пример поля заголовка Max-Forwards:
Формирование заголовка Via
Поле заголовка Via указывает один из узлов, используемых для проведения
транзакции и идентифицирует местоположение (location), куда должен быть отправлен ответ.
SIP элемент, добавляет собственное значение заголовка Via только после выбора следующего
узла, которому будет передан запрос.
Когда UAC создает запрос, он должен вставить в него поле Via. Также необходимо
указать название протокола – SIP, и его версию - 2.0. Поле заголовка Via должно содержать
параметр «branch». Этот параметр используется для идентификации транзакции, созданной
данным запросом. Он используется и клиентом, и сервером.
Значение параметра «branch» должно быть уникальным для всех запросов,
отправляемых UA. Исключение составляют запрос CANCEL и запрос ACK на ответы,
отличные от класса 2хх. Запрос CANCEL будет иметь то же значение параметра «branch», что
и запрос, который он отменяет. Запрос ACK на ответ, отличный от класса 2хх также будет
иметь тот же параметр «branch», что и INVITE, ответ на который он подтверждает.
Уникальность этого параметра облегчает его использование в качестве идентификатора
транзакции. Параметр «branch», вставляемый элементом сети SIP, должен всегда начинаться
с "z9hG4bK". Эти семь символов, называемых «magic cookie» («волшебное печенье»),
используют для того, чтобы серверы, получившие запрос, могли определить, что
идентификатор транзакции уникален в мировом масштабе. Содержимое куки, как правило, не
значимо для получателя и не интерпретируется до тех пор, пока получатель не вернёт куки
обратно отправителю. В реальной жизни куки можно сравнить с номерком в гардеробе:
номерок не имеет собственной ценности, но он позволяет получить взамен правильное пальто.
Пример заголовка Via:
Укажем назначение некоторых других заголовков, часто встречающихся в
сообщениях SIP:
В заголовок Record route (Хранимый маршрут) прокси-сервер вписывает свой
адрес – SIP URL, – если хочет, чтобы последующие запросы прошли через него.
Заголовок Content Type (Тип тела сообщения) определяет формат описания сеанса
связи. Само описание сеанса, например, в формате протокола SDP, включается в тело
сообщения.
Заголовок Content Length (Длина тела сообщения) указывает в десятичном виде
размер тела сообщения в байтах.
Следует обратить внимание на то, что запросы и ответы на них могут включать в себя
лишь определенный набор заголовков (табл. 1). Здесь буква «M» означает обязательное
присутствие заголовка в сообщении, буква «O» – необязательное присутствие, буква «F»
запрещает присутствие заголовка. * – поле необходимо только в случае, когда тело сообщения
содержит какую-либо информацию, т.е. не является пустым.
Таблица 1 Связь заголовков с запросами и ответами протокола SIPv2.0
|
Название заголовка |
Место использования |
АСК |
BYE |
CAN |
INV |
ОРТ |
REG |
|
Accept |
Заголовок в запросах |
F |
F |
F |
О |
о |
О |
|
Accept |
Заголовок в ответе 415 |
F |
F |
F |
о |
О |
О |
|
Accept-Encodlnq |
Заголовок в запросах |
F |
F |
F |
о |
о |
о |
|
Accept-Encoding |
Заголовок в ответе 415 |
F |
F |
F |
о |
о |
о |
|
Accept-Language |
Заголовок в запросах |
F |
О |
О |
о |
О |
О |
|
Accept-Language |
Заголовок в ответе 415 |
F |
О |
О |
о |
о |
о |
|
Allow |
Заголовок в ответе 200 |
F |
F |
F |
F |
м |
F |
|
Allow |
Заголовок в ответе 405 |
О |
О |
О |
О |
О |
О |
|
Authorization |
Заголовок в запросах |
О |
О |
О |
о |
о |
о |
|
Call-ID |
Общий заголовок - копирует- |
м |
м |
м |
м |
м |
м |
|
Contact |
Заголовок в запросах |
о |
F |
F |
о |
о |
о |
|
Contact |
Заголовок в ответах 1хх |
F |
F |
F |
о |
о |
F |
|
Contact |
Заголовок в ответах 2хх |
F |
F |
F |
о |
о |
О |
|
Contact |
Заголовок в ответах Зхх |
F |
О |
F |
о |
О |
О |
|
Contact |
Заголовок в ответе 485 |
F |
О |
F |
о |
о |
о |
|
Content-Encoding |
Заголовки содержания |
О |
F |
F |
о |
о |
о |
|
Content-Length |
Заголовки содержания |
О |
F |
F |
о |
О |
О |
|
Content-Type |
Заголовки содержания |
* |
F |
F |
* |
* |
* |
|
Cseq |
Общий заголовок - копирует- |
м |
М |
М |
м |
м |
м |
|
Date |
Заголовок в ответах |
о |
О |
О |
о |
о |
о |
|
Encryption |
Заголовок в ответах |
О |
О |
О |
о |
О |
О |
|
Expires |
Заголовок в ответах |
F |
F |
F |
о |
F |
о |
|
From |
Общий заголовок - копирует- |
М |
м |
м |
м |
м |
м |
|
Hide |
Заголовок в запросах |
О |
О |
о |
о |
О |
О |
|
Max-Forwards |
Заголовок в запросах |
О |
о |
о |
о |
о |
о |
|
Organization |
Общий заголовок |
F |
F |
F |
о |
О |
О |
|
Proxy-Authenticate |
Заголовок в ответе 407 |
О |
О |
О |
о |
О |
О |
|
Proxy-Authorization |
Заголовок в запросах |
О |
О |
О |
о |
о |
о |
|
Ptoxy-Require |
Заголовок в запросах |
О |
О |
О |
о |
О |
О |
|
Priority |
Заголовок в запросах |
F |
F |
F |
о |
F |
F |
|
Require |
Заголовок в запросах |
О |
О |
О |
о |
О |
о |
|
Retry-After |
Заголовок в запросах |
F |
F |
F |
F |
F |
О |
|
Retry-After |
Заголовок в ответах 404, 480, |
О |
О |
О |
о |
О |
о |
|
Response-Key |
Заголовок в запросах |
F |
О |
О |
о |
О |
О |
|
Record-Route |
Заголовок в запросах |
О |
О |
О |
о |
О |
о |
|
Record-Route |
Заголовок в ответах 2хх |
О |
О |
О |
о |
О |
о |
|
Route |
Заголовок в запросах |
О |
О |
О |
о |
О |
О |
|
Server |
Заголовок в ответах |
О |
О |
О |
о |
О |
о |
|
Subject |
Заголовок в запросах |
F |
F |
F |
о |
F |
F |
|
Timestamp |
Общий заголовок |
О |
О |
О |
о |
О |
О |
|
To |
Общий заголовок - копирует- |
М |
М |
М |
м |
М |
м |
|
Unsupported |
Заголовок в ответе 420 |
О |
О |
О |
о |
О |
О |
|
User-Agent |
Общий заголовок |
О |
О |
о |
о |
О |
О |
|
Via |
Общий заголовок - копирует- |
м |
м |
м |
м |
м |
м |
|
Warning |
Заголовок в ответах |
о |
о |
о |
о |
о |
о |
|
WWW-Authenticate |
Заголовок в ответе 401 |
О |
О |
о |
о |
О |
О |
Характерное отличие SIP-ответов от запросов – это наличие строки состояния Status-
Line, в состав которой входят версия протокола и код ответа (Status-Code) со связанной с ним
текстовой расшифровкой (Reason-Phrase), разделённые пробелом. Символы возврата каретки
(СR) и перевода строки (LF) могут использоваться только совместно в завершающей строку
последовательности CRLF.
Версия | Пробел | Код | Пробел | Расшифровка | СRLF |
Код ответа – это целое трёхзначное число, отражающее результат обработки запроса
сервером. Расшифровка ответа (Reason-Phrase) дает краткое описанеи кода ответа и
предназначена для визуального восприятия пользователем в отличие от кода ответа (Status-
Code), который служит для оповещения технических устройств. К формулировке
расшифровки ответа (Reason-Phrase) не предъявляется жестких требований.
Определено шесть типов ответов, несущих разную функциональную нагрузку. Тип
ответа кодируется трехзначным числом. Самой важной является первая цифра, которая
определяет класс ответа, остальные две цифры лишь дополняют первую. В некоторых
случаях оборудование даже может не знать все коды ответов, но оно обязательно должно
интерпретировать первую цифру ответа.
Все ответы делятся на две группы: информационные и финальные.
Информационные ответы кодируются трехзначным числом, начинающимся с
единицы, 1хх и показывают, что запрос находится в стадии обработки. Информационные
ответы показывают, что запрос находится в стадии обработки. Некоторые информационные
ответы, например, 100 Trying, предназначены для установки на нуль таймеров, которые
запускаются в оборудовании, передавшем запрос. Если к моменту срабатывания таймера ответ
на запрос не получен, то считается, что этот запрос потерян и может (по усмотрению
производителя) быть передан повторно. Один из распространенных ответов - 180 Ringing; по
назначению он идентичен сигналу «Контроль посылки вызова» в ТфОП и означает, что
вызываемый пользователь получает сигнал о входящем вызове.
Финальные ответы кодируются трехзначными числами, начинающимися с цифр 2,
3, 4, 5 и 6. Они означают завершение обработки запроса и содержат, когда это нужно,
результат обработки запроса.
Ответы 2хх означают, что запрос был успешно обработан. В настоящее время из всех
ответов типа 2хх определен лишь два - 200 ОК и 202 Accepted.
Значение ответа 200 ОК зависит от того, на какой запрос он отвечает:
Ответ 202 Accepted означает, что запрос был принят для обработки, но обработка еще
не завершена.
Ответы 3хх информируют оборудование вызывающего пользователя о новом
местоположении вызываемого пользователя или переносят другую информацию, которая
может быть использована для нового вызова:
Ответы 5хх информируют о том, что запрос не может быть обработан из-за отказа
сервера:
Ответы 6хх информируют о том, что соединение с вызываемым пользователем
установить невозможно:
принять входящий вызов. В ответе может быть указано подходящее для вызова время;
Пример ответа 200 ОК:
В ответе пользователя Watson на запрос Bell сообщается, что он может принимать
аудиоинформацию на порт 5004, понимает кодеки PCMU, GSM. Поля From, To, Via, Call-ID
взяты из запроса. Поле Cseq показывает, что это – ответ на INVITE с Cseq: 1.
Пример запросов и ответов SIP при установлении соединения с использованием двух
прокси-серверов
Параметр lr в SIP заголовке Record-Route указывает, что SIP прокси-сервер является
маршрутизатором со свободным выбором маршрутов.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №3
ТЕМА «РАЗРАБОТКА СХЕМ ВЗАИМОДЕЙСТВИЯ ТРАДИЦИОННЫХ
ТЕЛЕФОННЫХ СЕТЕЙ И СЕТЕЙ NGN»
Цель занятия
Изучение процессов установления телефонных соединений с совместным
использованием протоколов сигнализации ISUP и SIP и получение практических навыков
построения сигнальных диаграмм взаимодействия телефонных сетей и сетей NGN.
Литература
Контрольные вопросы
Подготовка к занятию
Задание
Содержание отчета
Таблица 1. Исходные данные для задания. Вариант индивидуального задания выбирается по
последней цифре учебного шифра студента.
№ вари- | Тип | Исходящая | Тип | Тип | Входящая | Исход соединения |
1 | Аналоговый | ТфОП | NGN | Аналоговый | ТфОП | Успешное, отбой |
2 | Аналоговый | NGN | ТфОП | Аналоговый | ТфОП | Неуспешное, занятость |
3 | SIP | NGN | NGN | Аналоговый | ТфОП | Неуспешное, неответ |
4 | SIP | NGN | NGN | Аналоговый | ТфОП | Успешное, отбой |
5 | SIP | NGN | ТфОП | SIP | NGN | Неуспешное, |
6 | SIP | NGN | ТфОП | Аналоговый | NGN | Успешное, отбой |
7 | Аналоговый | NGN | NGN | Аналоговый | ТфОП | Неуспешный, абонент Б |
8 | Аналоговый | ТфОП | ТфОП | SIP | NGN | Неуспешное, неответ |
9 | Аналоговый | NGN | NGN | SIP | NGN | Неуспешный, абонент Б |
0 | Аналоговый | NGN | NGN | Аналоговый | ТфОП | Неуспешное, неответ |
Методические указания
Общие положения
Далее представлены процедуры, которые может использовать контроллер
медиашлюзов MGC (выполняющий функцию шлюза сигнализации SGW) при взаимодействии
сетей ТфОП (работающей с системой сигнализации ОКС№7 и подсистемой ISUP) и NGN
(использующей протокол сигнализации SIP), путем иллюстрации соответствий между
протоколами SIP и ISUP на уровне сообщений и уровне параметров. Основное внимание
уделено трансляции сообщений ISUP в сообщения SIP и отображении параметров ISUP в
заголовках SIP. Для вызовов ISUP, которые проходят через сеть SIP, целью трансляции
является разрешить элементам SIP, таким как прокси-серверы (которые обычно не могут
обрабатывать сообщения ISUP), принимать решения по маршрутизации на основе такого
критерия ISUP, как номер вызываемой стороны. Отображение между сигнальными
сообщениями протоколов ISUP и SIP описывается с использованием диаграмм потоков
вызова. На приведенных ниже диаграммах вся сигнализация (SIP, ISUP) к и от MGC
выполняется сигнальным шлюзом, а оперирование медиа-информацией (проключение
речевого канала, освобождение канала) выполняется медиашлюзом MG под управлением
контроллера MGC. Для упрощения они показаны на рисунках одним узлом, обозначенным как
«MGC/MG».
Соединения SIP → ISUP
Установление успешного соединения
подтверждения.
Сеть SIP
Сеть
ОКС№7(USUP)
Рис. 1. Установление успешного соединения
Невозможность установления соединения в сети ISUP
Сеть SIP
Сеть
ОКС№7(USUP)
Рис. 2 - Невозможность установления соединения в сети ISUP
Отбой вызова на стороне SIP до ответа абонента ТфОП
Сеть SIP
Сеть
ОКС№7(USUP)
Рис. 3 - Отбой вызова со стороны сети SIP
Соединения ISUP→SIP
Установление успешного соединения
Сеть
ОКС№7(USUP)
Сеть SIP
Рис. 4 Установление успешного соединения
Установление неуспешного соединения в сети SIP
Сеть
ОКС№7(USUP)
Сеть SIP
Рис. 5 - Установление неуспешного соединения в сети SIP
Перенаправление вызова в сети SIP
Сеть
ОКС№7(USUP)
Сеть SIP
Рис. 6 - Перенаправление вызова в сети SIP
Разъединение соединения со стороны ISUP
для нового использования.
завершения транзакции INVITE.
сообщение АСК узлу SIP.
Сеть
ОКС№7(USUP)
Сеть SIP
Рис. 7 - Разъединение соединения со стороны ISUP
Комментарии (0)