SIP - Сетевые элементы
Есть несколько организаций, которые помогают SIP в создании своей сети. В SIP каждый сетевой элемент идентифицируетсяSIP URI(Универсальный идентификатор ресурса), который похож на адрес. Ниже приведены сетевые элементы -
- Пользовательский агент
- Прокси сервер
- Сервер Регистратора
- Сервер перенаправления
- Сервер местоположения
Пользовательский агент
Это конечная точка и один из наиболее важных сетевых элементов сети SIP. Конечная точка может инициировать, изменять или завершать сеанс. Пользовательские агенты - это наиболее интеллектуальное устройство или сетевой элемент SIP-сети. Это может быть программный телефон, мобильный телефон или ноутбук.
Пользовательские агенты логически разделены на две части -
User Agent Client (UAC) - Сущность, которая отправляет запрос и получает ответ.
User Agent Server (UAS) - Сущность, которая получает запрос и отправляет ответ.
Протокол SIP основан на архитектуре клиент-сервер, где телефон вызывающего абонента действует как клиент, который инициирует вызов, а телефон вызываемого абонента действует как сервер, который отвечает на вызов.
Прокси сервер
Это сетевой элемент, который принимает запрос от пользовательского агента и пересылает его другому пользователю.
По сути, роль прокси-сервера очень похожа на маршрутизатор.
У него есть некоторый интеллект, чтобы понять SIP-запрос и отправить его с помощью URI.
Прокси-сервер находится между двумя пользовательскими агентами.
Между источником и местом назначения может быть не более 70 прокси-серверов.
Есть два типа прокси-серверов -
Stateless Proxy Server- Он просто пересылает полученное сообщение. Этот тип сервера не хранит никакой информации о вызове или транзакции.
Stateful Proxy Server- Этот тип прокси-сервера отслеживает каждый полученный запрос и ответ и может использовать его в будущем при необходимости. Он может повторно передать запрос, если вовремя не будет ответа с другой стороны.
Сервер Регистратора
Сервер регистратора принимает запросы на регистрацию от пользовательских агентов. Это помогает пользователям аутентифицировать себя в сети. Он хранит URI и местоположение пользователей в базе данных, чтобы помочь другим серверам SIP в том же домене.
Взгляните на следующий пример, который показывает процесс регистрации SIP.
Здесь вызывающий хочет зарегистрироваться в домене TMC. Таким образом, он отправляет запрос REGISTER на сервер регистратора TMC, и сервер возвращает ответ 200 OK, поскольку он авторизовал клиента.
Сервер перенаправления
Сервер перенаправления получает запросы и ищет предполагаемого получателя запроса в базе данных местоположения, созданной регистратором.
Сервер перенаправления использует базу данных для получения информации о местоположении и отвечает 3xx (ответ перенаправления) пользователю. Коды ответов мы обсудим позже в этом руководстве.
Сервер местоположения
Сервер местоположения предоставляет информацию о возможных местоположениях вызывающего абонента на серверы перенаправления и прокси-серверы.
Только прокси-сервер или сервер перенаправления может связаться с сервером местоположения.
На следующем рисунке показаны роли, которые играет каждый из сетевых элементов при установлении сеанса.
SIP - Системная архитектура
SIP структурирован как многоуровневый протокол, что означает, что его поведение описывается в терминах набора достаточно независимых этапов обработки с незначительной связью между каждым этапом.
Самый нижний уровень SIP - это его syntax and encoding. Его кодировка указывается с помощью расширенногоBackus-Naur Form grammar (БНФ).
На втором уровне находится transport layer. Он определяет, как Клиент отправляет запросы и получает ответы, а также как Сервер получает запросы и отправляет ответы по сети. Все элементы SIP содержат транспортный уровень.
Далее идет transaction layer. Транзакция - это запрос, отправленный клиентской транзакцией (с использованием транспортного уровня) в серверную транзакцию, вместе со всеми ответами на этот запрос, отправленный серверной транзакцией обратно клиенту. Любая задача, которую выполняет клиент пользовательского агента (UAC), выполняется с помощью серии транзакций.Stateless proxies не содержат уровня транзакции.
Слой над transaction layerназывается пользователем транзакции. Каждый из SIP-объектов, кромеStateless proxies, является пользователем транзакции.