Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы проектирования защищенных телекоммуникационных систем.-4

.pdf
Скачиваний:
10
Добавлен:
05.02.2023
Размер:
15.88 Mб
Скачать

31

Архитектура сети SIP

SIP использует обычные текстовые сообщения и очень напоминает HTTP протокол

(практически базируется на нем). Архитектура сети SIP базируется на клиент-серверном взаимодействии (рисунок 2.6).

Рис. 2.6. Архитектура "клиент-сервер"

Стандартными элементами в SIP-сети являются:

1. User Agent: по протоколу SIP устанавливаются соединения "клиент-сервер". Клиент устанавливает соединения, а сервер принимает вызовы, но так обычно телефонный аппарат

(или программный телефон) может, как устанавливать, так и принимать звонки, то получается, что он одновременно играет роль и клиента и сервера (хотя в реализации протокола это не является обязательным критерием) - в этом случае его называют User Agent (UA) или терминал.

В составе UA выделяются две логические составляющие:

агент-клиент (UAC - user agent client) - посылает запросы и получает ответы;

агент-сервер (UAS - user agent server) - принимает запросы и посылает ответы.

Ввиду того, что большинству устройств необходимо как передавать, так и принимать данные, в реальных устройствах присутствует как UAC, так и UAS.

2. Прокси-сервер: прокси-сервер принимает запросы и производит с ним некоторые действия (например, определяет местоположение клиента, производит переадресацию или перенаправление вызова и др.). Он также может устанавливать собственные соединения.

Зачастую прокси-сервер совмещают с сервером определения местоположения (Register-

сервер), в таком случае его называют Registrar-сервером.

3. Сервер определения местоположения или сервер регистрации (Register): данный вид сервера служит для регистрации пользователей. Регистрация пользователя производится для определения его текущего IP-адреса, для того чтобы можно было произвести вызов user@IP-

32

адрес. В случае если пользователь переместится в другое место и/или не имеет определенного IP-адреса, его текущий адрес можно будет определить после того, как он зарегистрируется на сервере регистрации. Таким образом, клиент останется доступен по одному и тому же SIP-адресу вне зависимости от того, где на самом деле находится.

4. Сервер переадресации (Redirect): обращается к серверу регистрации для определения текущего IP-адреса пользователя, но в отличие от прокси-сервера только «переадресует» клиента, а не устанавливает собственные соединения.

В результате SIP архитектура выглядит следующим образом (рисунок 2.7):

Рис. 2.7. Архитектура сети на базе протокола SIP

Сигнализация на основе протокола SIP

При организации мультимедийного сеанса используется два основных метода для нахождения и информирования заинтересованных участников:

Уведомление о сеансе с использованием разных средств – электронной почты,

новостных групп, WEB-страниц или специального протокола SAP (Session Announcement Protocol);

Приглашение к участию в сеансе с помощью протокола SIP.

Ниже приведена на рисунке 3.4 схема сигнализации по протоколу SIP.

33

1 SIP INVITE; 2 Поиск сервера адресов; 3 Ответ сервера адресов; 4 Пересылка INVITE; 5

Ответ; 6 Пересылка ответа; 7 АСК; 8 Пересылка АСК; 9 Мультимедийный поток Рис. 2.8. Схема сигнализации по протоколу SIP

Обработка вызовов осуществляется сервером SIP, который может работать в режиме непосредственного установления связи или в режиме переадресации. В обоих режимах сервер принимает запросы на определение местоположения нужного пользователя, но если в первом режиме он сам доводит вызов до адресата, то во втором – возвращает адрес конечного пункта запрашиваемому клиенту.

В протоколе SIP определены два вида сигнальных сообщений – запрос и ответ.

Они имеют текстовый формат (кодировка символов согласно RFC 2279) и базируются на протоколе HTTP. В запросе указываются процедуры, вызываемые для выполнения требуемых операций, а в ответе – результаты их выполнения. Определены шесть процедур:

INVITE - вызывает адресата для установления связи. С помощью этого сообщения адресату передаются виды поддерживаемых сервисов (которые могут быть использованы инициатором сеанса), а также виды сервисов, которые желает передавать инициатор связи;

ACK - сообщение, подтверждающее согласие адресата установить соединения. В этом сообщении могут быть переданы окончательные параметры сеанса связи (окончательно выбираются виды сервисов и их параметры которые будут использованы);

Cancel – прекращает поиск пользователя;

BYE - запрос завершения соединения;

Register - данным запросом пользователь идентифицирует свое текущее местоположение;

34

OPTIONS - запрос информации о функциональных возможностях терминала

(применяется в случае, если эти данные нужно получить до установления соединения, то есть до фактического обмена данной информацией с помощью запросов INVITE и ACK).

Предназначенный для инициации сеансов протокол SIP обеспечивает определение адреса пользователя и установление соединения с ним. Кроме этого, он служит основой для применения других протоколов, реализующих функции защиты, аутентификации, описания канала мультимедийной связи и т.д.

Обеспечение качества IP-телефонии

Показатели качества IP-телефонии

Традиционные телефонные сети коммутируют электрические сигналы с гарантированной полосой пропускания, достаточной для передачи сигналов голосового спектра. При фиксированной пропускной способности передаваемого сигнала цена единицы времени связи зависит от удаленности и расположения точек вызова и места ответа.

Сети с коммутацией пакетов не обеспечивают гарантированной пропускной способности, поскольку не обеспечивают гарантированного пути между точками связи.

IP-телефония является одной из областей передачи данных, где важна динамика передачи сигнала, которая обеспечивается современными методами кодирования и передачи информации, а также увеличением пропускной способности каналов, что приводит к возможности успешной конкуренции IP-телефонии с традиционными телефонными сетями.

Основными составляющими качества IP-телефонии являются:

Качество речи, которое включает:

-диалог – возможность пользователя связываться и разговаривать с другим пользователем в реальном времени и полнодуплексном режиме;

-разборчивость – чистота и тональность речи;

-эхо – слышимость собственной речи;

-уровень – громкость речи.

Качество сигнализации, включающее:

-установление вызова – скорость успешного доступа и время установления соединения;

-завершение вызова – время отбоя и скорость разъединения;

-DTMF – определение и фиксация сигналов многочастотного набора номера.

Факторы, которые влияют на качество IP-телефонии, могут быть разделены на две категории:

Факторы качества IPсети:

35

-максимальная пропускная способность – максимальное количество полезных и избыточных данных, которая она передает;

-задержка – промежуток времени, требуемый для передачи пакета через сеть;

-джиттер - задержка между двумя последовательными пакетами;

-потеря пакета – пакеты или данные, потерянные при передачи через сеть.

Факторы качества шлюза:

-требуемая полоса пропускания - различные кодеки требуют различную полосу.

Например, кодек G.723 требует полосы 16,3 кбит/с для каждого речевого канала;

-задержка - время, необходимое цифровому сигнальному процессору DSP или другим устройствам обработки для кодирования и декодирования речевого сигнала;

-буфер джиттера - сохранение пакетов данных до тех пор, пока все пакеты не будут получены, и можно будет передать в требуемой последовательности для минимизации джиттера;

-потеря пакетов - потеря пакетов при сжатии и/или передаче в оборудовании IP-

телефонии;

- подавление эхо — механизм для подавления эхо, возникающего при передаче по сети;

- управление уровнем - возможность регулировать громкость речи.

Влияние сети на показатели качества IP-телефонии

Задержка

Задержка создает неудобство при ведении диалога, приводит к перекрытию разговоров и возникновению эхо. Эхо возникает в случае, когда отраженный речевой сигнал вместе с сигналом от удаленного конца возвращается опять в ухо говорящего. Эхо становится трудной проблемой, когда задержка в петле передачи больше, чем 50 мс. Так как эхо является проблемой качества, системы с пакетной коммутацией речи должны иметь возможность управлять эхо и использовать эффективные методы эхоподавления.

Затруднение диалога и перекрытие разговоров становятся серьезным вопросом качества,

когда задержка в одном направлении передачи превышает 250 мс. Можно выделить следующие источники задержки при пакетной передаче речи из конца в конец [1].

Задержка накопления (иногда называется алгоритмической задержкой): эта задержка обусловлена необходимостью сбора кадра речевых отсчетов, выполняемая в речевом кодере. Величина задержки определяется типом речевого кодера и изменяется от небольших величин (0,125 мкс) до нескольких миллисекунд. Например, стандартные речевые кодеры имеют следующие длительности кадров:

36

G.729 CS-ACELP (8 кбит/с) – 10 мс

G.723.1 – Multi Rate Coder (5,3; 6,3 кбит/с) – 30 мс.

Задержка обработки: процесс кодирования и сбора закодированных отсчетов в пакеты для передачи через пакетную сеть создает определенные задержки. Задержка кодирования или обработки зависит от времени работы процессора и используемого типа алгоритма обработки.

Сетевая задержка: задержка обусловлена физической средой и протоколами,

используемыми для передачи речевых данных, а также буферами, используемыми для удаления джиттера пакетов на приемном конце. Сетевая задержка зависит от емкости сети и процессов передачи пакетов в сети.

Время задержки при передачи речевого сигнала можно отнести к одному из трех уровней:

первый уровень до 200 мс – отличное качество связи. Для сравнения, в

телефонной сети общего пользования допустимы задержки до 150-200 мс;

второй уровень до 400 мс – считается хорошим качеством связи. Но если сравнивать с качеством связи по сетям ТФОП, то разница будет видна. Если задержка постоянно удерживается на верхней границе 2-го уровня (на 400 мс), то не рекомендуется использовать эту связь для деловых переговоров;

третий уровень до 700 мс – считается приемлемым качеством связи для ведения неделовых переговоров. Такое качество связи возможно также при передаче пакетов по спутниковой связи.

Качество Интернет-телефонии попадает под 2-3 уровни, провайдеры IP-телефонии,

работающие по выделенным каналам попадают под 1-2 уровни. Также необходимо учитывать задержки при кодировании/декодировании голосового сигнала. Средние суммарные задержки при использовании IP-телефонии обычно находятся в пределах 150-250

мс.

Джиттер

Когда речь или данные разбиваются на пакеты для передачи речи через IP-сеть, пакеты часто прибывают в пункт назначения в различное время и в разной последовательности. Это создает разброс времени доставки пакетов (джиттер). Джиттер приводит к специфическим нарушениям передачи речи, слышимым как трески и щелчки.

Для того, чтобы компенсировать влияние джиттера, в терминалах используется так называемый джиттер-буфер. Этот буфер хранит в памяти прибывшие пакеты в течение времени, определяемого ее емкостью (длиной). Пакеты, прибывшие слишком поздно, когда буфер заполнен, отбрасываются. Интервалы между пакетами восстанавливаются на основе

37

значений временных меток RTP-пакетов. В функции джиттер-буфера входит и восстановление исходной очередности следования пакетов, если при транспортировки по сети они оказались «перепутаны».

Слишком короткий буфер будет приводить к слишком частым потерям «опоздавших» пакетов, а слишком длинный – к неприемлемо большой дополнительной задержке. Обычно предусматривается динамическая подстройка длины буфера в течение всего времени существования соединения.

Для оптимизации джиттер-буфера в VoIP-устройстве следует повышать размер буфера,

что позволяет снижать или вообще устранять джиттер, размер буфера, превышающий 150

мс, достаточно сильно влияет на качество разговора.

Потеря пакетов

Потерянные пакеты в IP-телефонии нарушают речь и создают искажения тембра. В

существующих IP-сетях все голосовые данные. При пиковых нагрузках и перегрузках голосовые кадры будут отбрасываться, как и кадры данных. Однако кадры данных не связаны со временем, и отброшенные пакеты могут быть успешно переданы путем повторения. Потеря голосовых пакетов, в свою очередь, не может быть восполнена таким способом и в результате произойдет неполная передача информации. Предполагается, что потеря до 5% пакетов незаметна, а свыше 10-15% - недопустима. Причем данные величины существенно зависят от алгоритмов компрессии/декомпрессии.

Существенно, что потеря большой группы пакетов приводит к необратимым локальным искажениям речи, тогда как потери одного, двух, трех пакетов можно пытаться компенсировать.

Взаимосвязь методов обеспечения качества IP-телефонии, показателей качества сети и качества вызова представлена на рисунке 2.9.

38

Рис. 2.9. Схема обеспечения качества IP-телефонии

Asterisk

Asterisk — свободное решение компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium, первоначально разработанное Марком Спенсером.

Приложение работает на операционных системах Linux, FreeBSD, OpenBSD и Solaris. Имя проекта произошло от названия символа «*» (англ. asterisk — «звездочка»).

Asterisk в комплексе с необходимым оборудованием обладает всеми возможностями классической АТС, поддерживает множество VoIP-протоколов и предоставляет богатые функции управления звонками, среди них:

Голосовая почта.

Конференции.

Интерактивное голосовое меню (IVR).

39

Центр обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы).

Запись (Call Detail Record).

Для создания дополнительной функциональности можно воспользоваться собственным языком Asterisk для написания плана нумерации, написав модуль на языке Си, либо воспользовавшись AGI — гибким и универсальным интерфейсом для интеграции с внешними системами обработки данных. Модули, выполняющиеся через AGI, могут быть написаны на любом языке программирования.

Asterisk распространяется на условиях двойной лицензии, благодаря которой одновременно с основным кодом, распространяемым по открытой лицензии GNU GPL,

возможно создание закрытых модулей, содержащих лицензируемый код.

Asterisk может работать как с аналоговыми линиями (FXO/FXS модули), так и цифровыми (ISDN, BRI и PRI — потоки Т1/E1). С помощью определённых компьютерных плат (наиболее известными производителями которых являются Digium, Sangoma, OpenVox, Rhino, AudioCodes) Asterisk можно подключить к высокопропускным линиям Т1/E1, которые позволяют работать параллельно с десятками и сотнями телефонных соединений. Полный список поддерживаемого оборудования для соединения с телефонной сетью общего пользования определяется поддержкой оборудования в модулях ядра.

Для создания дополнительной функциональности можно воспользоваться собственным языком Asterisk для написания плана нумерации, написав модуль на языке C, либо воспользовавшись AGI - гибким и универсальным интерфейсом для интеграции с внешними системами обработки данных. Модули, выполняющееся через AGI, могут быть написаны на любом языке программирования.

Asterisk распространяется на условиях двойной лицензии, благодаря которой одновременно с основным кодом, распространяемым по открытой лицензии GNU GPL,

возможно создание закрытых модулей, содержащих лицензируемый код: например, модуль для поддержки кодека G.729.

Благодаря свободной лицензии Asterisk активно развивается и поддерживается тысячами людей со всей планеты. В течение последних двух лет рынок Asterisk-приложений активно развиваются в США и уже заняли прочное место на рынке IT-технологий (более 1000

компаний, центры поддержки, online-консультации). В Россию данный продукт попал позже,

но интерес российского потребителя растёт, и в первую очередь, благодаря открытости системы. Многие компании применяют Asterisk в своих серийных VoIP-устройствах,

например компании Linksys, Nateks.

Поддерживаются следующие протоколы:

40

SIP,

H.323,

IAX2,

MGCP,

Skinny/SCCP,

XMPP (Google Talk),

Unistim,

Skype, через коммерческий канал.

Настройка и программирование производится с помощью нескольких механизмов:

диалплан, который пишется на специальном языке. Доступна как старая версия,

так и новая — AEL, а также на языке Lua.

AGI.

AMI.

Конфигурация из баз данных.

IP-АТС на основе Asterisk обладает возможностями:

Запись телефонных разговоров

Конференц-комнаты с использованием виртуальных номеров

Голосовая почта и пересылка на e-mail

Поддержка протоколов SIP, IAX2, H.323, MGCP, Skinny

Инструменты разработчика для создания расширений, предоставляющие новые

услуги

Поддержка кодеков: ADPCM, G.711 (A-Law и μ-Law), G.722, G.723.1, G.726, G.728, G.729, GSM, ILBC, Speex.

Виртуальный секретарь - IVR

Поддержка аналоговых интерфейсов FXS / FXO

Голосовой синтез речи

Поддержка цифровых интерфейсов (E1/T1/J1) и протоколов PRI/BRI/R2/SS7

Автоконфигурация IP-телефонов

АОН определитель номера

Программное эхоподавление

Работа с несколькими операторами связи

Маршрутизация входящих и исходящих вызовов по различным правилам

Поддержка Видеотелефонов

Интерфейс обнаружения телефонного оборудования