Введение

Сетевое устройство, развернутое в сетях VoIP.

Контроллер границ сеанса (SBC) – это сетевой элемент, развернутый для защиты сетей голосовой связи по протоколу SIP (VoIP). Первоначальные развертывания SBC были сосредоточены на границах между сетями двух операторов связи в условиях пиринга. Эта роль теперь расширилась и включает в себя значительные развертывания между сетью доступа оператора связи и магистральной сетью для предоставления услуг домашним и/или корпоративным пользователям. SIP через WebSockets (RFC 7118) часто используется, в частности, благодаря применимости SIP к большинству предполагаемых сценариев связи, а также доступности программного обеспечения с открытым исходным кодом, такого как JsSIP. В этом случае SBC выступает в качестве шлюза между приложениями WebRTC и SIP-терминалами.

Приложения

SBC встраиваются в сигнальные и/или медиапути между вызывающей и вызываемой сторонами в VoIP-вызове, преимущественно использующими протоколы инициирования сеанса (SIP), H.323 и сигнализации вызовов MGCP. Во многих случаях SBC скрывает топологию сети и защищает пакетные сети поставщика услуг или предприятия. SBC завершает входящий вызов и инициирует второй отрезок вызова к конечному абоненту. С технической точки зрения, при использовании протокола SIP это определяет обратный пользовательский агент (B2BUA). Эффект этого поведения заключается в том, что SBC контролирует не только сигнальный трафик, но и медиа-трафик (голос, видео). В случаях, когда SBC не имеет возможности предоставлять медиа-услуги, SBC также могут перенаправлять медиа-трафик на другой элемент в сети для записи, генерации музыки на удержании или других целей, связанных с медиа. В противном случае, без SBC, медиа-трафик проходит напрямую между конечными точками, без контроля над его маршрутом со стороны сигнальных элементов сети. В других случаях SBC просто изменяет поток данных управления вызовом (сигнализации), участвующих в каждом вызове, например, ограничивая типы разрешенных вызовов, изменяя выбор кодеков и т.д. В конечном итоге, SBC позволяют сетевым операторам управлять вызовами в их сетях, исправлять или изменять протоколы и синтаксис протоколов для обеспечения совместимости, а также решать некоторые проблемы, связанные с брандмауэрами и сетевыми трансляторами адресов (NAT) для VoIP-вызовов. Чтобы продемонстрировать работу SBC, можно сравнить простую последовательность установления вызова с последовательностью установления вызова с использованием SBC. В простейшей последовательности установления сеанса с одним прокси-сервером между пользовательскими агентами задача прокси-сервера состоит в определении местоположения вызываемого абонента и пересылке запроса ему. Прокси также добавляет заголовок Via со своим адресом, чтобы указать путь, по которому должен быть возвращен ответ. Прокси не изменяет информацию о диалоге, содержащуюся в сообщении, такую как тег в заголовке From, идентификатор вызова (Call-Id) или порядковый номер (Cseq). Прокси также не изменяют информацию в телах сообщений SIP. Следует отметить, что во время фазы инициализации сеанса пользовательские агенты обмениваются сообщениями SIP с телами SDP, содержащими адреса, по которым агенты ожидают медиа-трафик. После успешного завершения фазы инициализации сеанса пользовательские агенты могут обмениваться медиа-трафиком напрямую друг с другом без участия прокси. SBC предназначены для множества применений и используются операторами и предприятиями для достижения различных целей. Даже одна и та же реализация SBC может работать по-разному в зависимости от ее конфигурации и сценария использования. Поэтому сложно описать точное поведение SBC, которое применимо ко всем реализациям SBC. В общем случае можно выделить некоторые общие для SBC характеристики. Например, большинство SBC реализуются как back-to-back user agent (B2BUA). B2BUA – это прокси-подобный сервер, который разделяет транзакцию SIP на два отрезка вызова: со стороны, обращенной к клиенту пользовательского агента (UAC), он действует как сервер, а со стороны, обращенной к серверу пользовательского агента (UAS), – как клиент. В то время как прокси обычно хранит только информацию о состоянии активных транзакций, B2BUA хранит информацию о состоянии активных диалогов, например, вызовов. То есть, как только прокси получает запрос SIP, он сохраняет некоторую информацию о состоянии. После завершения транзакции, например, после получения ответа, эта информация о состоянии вскоре удаляется. B2BUA сохраняет информацию о состоянии активных вызовов и удаляет ее только после завершения вызова. Когда SBC включен в путь вызова, он действует как B2BUA, выступая в роли сервера пользовательского агента по отношению к вызывающему абоненту и клиента пользовательского агента по отношению к вызываемому абоненту. В этом смысле SBC фактически завершает вызов, инициированный вызывающим абонентом, и начинает новый вызов к вызываемому абоненту. В сообщении INVITE, отправленном SBC, больше нет прямой ссылки на вызывающего абонента. В сообщении INVITE, отправленном SBC прокси, содержатся заголовки Via и Contact, указывающие на сам SBC, а не на вызывающего абонента. SBC часто также изменяют информацию об идентификации диалога, указанную в Call-Id и теге From. Кроме того, если SBC настроен на управление медиа-трафиком, он также изменяет информацию об адресах медиа, содержащуюся в строках c и m тела SDP. Таким образом, все сообщения SIP и все аудио- и видеопакеты проходят через SBC. Поскольку сообщение INVITE, отправленное SBC, устанавливает новый диалог, SBC также изменяет порядковый номер сообщения (CSeq) и значение Max-Forwards. Следует отметить, что список манипуляций с заголовками, приведенный здесь, представляет собой лишь часть возможных изменений, которые SBC может внести в сообщение SIP. Кроме того, некоторые SBC могут не выполнять все перечисленные манипуляции. Если SBC не должен контролировать медиа-трафик, может не потребоваться вносить изменения в тело SDP. Некоторые SBC не изменяют информацию об идентификации диалога, а другие могут даже не изменять информацию об адресах. SBC часто используются корпорациями совместно с брандмауэрами и системами предотвращения вторжений (IPS) для обеспечения возможности совершения VoIP-вызовов в защищенную корпоративную сеть и из нее. Поставщики услуг VoIP используют SBC для обеспечения возможности использования протоколов VoIP из частных сетей с подключением к Интернету через NAT, а также для реализации надежных мер безопасности, необходимых для поддержания высокого качества обслуживания. SBC также заменяют функциональность шлюзов прикладного уровня.