Cx/Dx — это интерфейсы DIAMETER между CSCF в IMS и HSS, определённые в 3GPP TS 29.228/29.229. Во время SIP-регистрации I-CSCF использует UAR/UAA для поиска или назначения S-CSCF, S-CSCF использует MAR/MAA для получения данных аутентификации и SAR/SAA для регистрации, а LIR/LIA находит обслуживающий S-CSCF для завершающего вызова. Интерфейс Sh связывает серверы приложений с HSS.
Где находятся Cx/Dx в IMS
В IP Multimedia Subsystem управление SIP-вызовами проходит через три роли CSCF — Proxy-CSCF на границе, Interrogating-CSCF на границе сети и Serving-CSCF, который держит регистрацию и выполняет сервисную логику. HSS хранит подписку IMS и данные аутентификации каждого пользователя. Cx — это интерфейс DIAMETER между I-CSCF/S-CSCF и HSS; Dx — тот же интерфейс, маршрутизируемый через SLF (Subscription Locator Function), когда развёрнуто несколько HSS и CSCF сначала должен найти, какой из них держит пользователя. Оба используют Application-Id 16777216 (0x01000000) и Vendor-Id 10415. Каждый SIP REGISTER и завершающий INVITE запускает транзакции Cx за кулисами.
Набор команд Cx
TS 29.229 определяет четыре пары команд Cx плюс две, инициируемые HSS. User-Authorization (UAR/UAA) позволяет I-CSCF проверить, может ли пользователь зарегистрироваться из данной сети, и узнать назначенный или способный S-CSCF. Multimedia-Auth (MAR/MAA) позволяет S-CSCF получить векторы аутентификации (IMS-AKA или SIP Digest) от HSS. Server-Assignment (SAR/SAA) регистрирует или дерегистрирует S-CSCF для пользователя и загружает профиль пользователя с его initial Filter Criteria. Location-Info (LIR/LIA) позволяет I-CSCF найти обслуживающий S-CSCF для завершающего запроса. Registration-Termination (RTR/RTA) и Push-Profile (PPR/PPA) позволяют HSS дерегистрировать пользователя или отправить изменение профиля.
| Команда | Код | Назначение |
|---|---|---|
| UAR / UAA | 300 | User-Authorization — проверка регистрации, поиск/назначение S-CSCF |
| SAR / SAA | 301 | Server-Assignment — регистрация S-CSCF, загрузка профиля пользователя |
| LIR / LIA | 302 | Location-Info — поиск обслуживающего S-CSCF для терминируемого вызова |
| MAR / MAA | 303 | Multimedia-Auth — получение данных аутентификации IMS-AKA / SIP-Digest |
| RTR / RTA | 304 | Registration-Termination — HSS снимает пользователя с регистрации |
| PPR / PPA | 305 | Push-Profile — HSS передаёт изменение подписки/профиля |
Как Cx связан с SIP REGISTER
Регистрация IMS — это процедура SIP с бэкендом на DIAMETER. Когда пользователь отправляет SIP REGISTER, P-CSCF пересылает его к I-CSCF, который отправляет Cx UAR к HSS, чтобы авторизовать регистрацию и получить S-CSCF (или его возможности). I-CSCF маршрутизирует REGISTER к выбранному S-CSCF, который отправляет Cx MAR для получения вызова аутентификации, и возвращает SIP 401 с вызовом IMS-AKA. UE перерегистрируется со своим ответом; S-CSCF проверяет его и отправляет Cx SAR, чтобы зарегистрировать себя для пользователя и загрузить профиль. Так одна видимая SIP-регистрация запускает под собой UAR, MAR и SAR.
UE → P-CSCF → I-CSCF SIP REGISTER
I-CSCF → HSS Cx UAR { Public-Identity, Visited-Network }
HSS → I-CSCF Cx UAA { Server-Name / S-CSCF capabilities }
I-CSCF → S-CSCF SIP REGISTER
S-CSCF → HSS Cx MAR { SIP-Auth-Data-Item (IMS-AKA) }
S-CSCF → UE SIP 401 (challenge) ... UE re-REGISTERs
S-CSCF → HSS Cx SAR { Server-Assignment-Type=REGISTRATION }
HSS → S-CSCF Cx SAA { User-Data: profile + iFC }Завершающие вызовы и LIR
Регистрация сохраняет, какой S-CSCF обслуживает пользователя; завершающий вызов должен снова его найти. Когда прибывает INVITE для абонента, I-CSCF отправляет Cx Location-Info-Request к HSS, который возвращает Server-Name S-CSCF, в данный момент обслуживающего эту публичную идентичность. Затем I-CSCF маршрутизирует INVITE к этому S-CSCF, который применяет завершающую сервисную логику (свои initial Filter Criteria) и пересылает в сторону пользователя. Таким образом, LIR/LIA — это завершающий аналог пары UAR/SAR, используемой при регистрации.
Интерфейс Sh: серверы приложений и HSS
Серверам приложений IMS тоже нужны данные абонента — настройки сервисов, присутствие, данные репозитория — и они получают их по интерфейсу Sh (TS 29.328/29.329, Application-Id 16777217), а не по Cx. Sh определяет User-Data (UDR/UDA) для чтения прозрачных и сервисных данных, Profile-Update (PUR/PUA) для их записи обратно, и пару subscribe/notify — Subscribe-Notifications (SNR/SNA) и Push-Notification (PNR/PNA) — чтобы AS сообщалось, когда меняются интересующие его данные. Это оставляет сервисную логику в серверах приложений, в то время как HSS остаётся единым источником истины об абоненте, и именно поэтому якорем плоскости управления IMS является HSS, а не CSCF.
| Команда | Код | Назначение |
|---|---|---|
| UDR / UDA | 306 | User-Data — AS считывает данные абонента/услуги из HSS |
| PUR / PUA | 307 | Profile-Update — AS записывает данные репозитория/сервиса |
| SNR / SNA | 308 | Subscribe-Notifications — AS подписывается на изменения данных |
| PNR / PNA | 309 | Push-Notification — HSS уведомляет AS об изменении |
Часто задаваемые вопросы
Что такое интерфейсы Cx и Dx?
Cx — это интерфейс DIAMETER между IMS I-CSCF/S-CSCF и HSS (TS 29.228/29.229, Application-Id 16777216), несущий регистрацию, аутентификацию и загрузку профиля. Dx — тот же интерфейс, маршрутизируемый через SLF, когда развёрнуто несколько HSS, поэтому CSCF сначала находит, какой HSS держит пользователя.
Как регистрация IMS использует DIAMETER?
SIP REGISTER запускает транзакции Cx: I-CSCF отправляет UAR для авторизации и поиска S-CSCF, S-CSCF отправляет MAR для получения вызова IMS-AKA, а после того как UE отвечает на вызов, S-CSCF отправляет SAR, чтобы зарегистрировать себя и загрузить профиль пользователя. Одна SIP-регистрация запускает под собой UAR, MAR и SAR.
В чём разница между MAR и SAR?
Multimedia-Auth-Request (MAR, команда 303) получает данные аутентификации — вектор IMS-AKA или SIP Digest — чтобы S-CSCF мог бросить вызов пользователю. Server-Assignment-Request (SAR, команда 301) регистрирует S-CSCF как обслуживающий узел для пользователя и загружает профиль пользователя с его initial Filter Criteria.
Как завершающий вызов IMS маршрутизируется к нужному S-CSCF?
I-CSCF отправляет Cx Location-Info-Request (LIR, команда 302) к HSS, который возвращает Server-Name S-CSCF, в данный момент обслуживающего вызываемую публичную идентичность. Затем I-CSCF маршрутизирует INVITE к этому S-CSCF, который применяет завершающую сервисную логику и пересылает пользователю.
Для чего нужен интерфейс Sh?
Sh (TS 29.329, Application-Id 16777217) соединяет серверы приложений IMS с HSS. AS читает данные абонента и сервиса с помощью User-Data (UDR), записывает их обратно с помощью Profile-Update (PUR) и использует Subscribe-Notifications (SNR) / Push-Notification (PNR), чтобы получать уведомления об изменении данных — сохраняя HSS как единый источник истины об абоненте.
Почему IMS использует и SIP, и DIAMETER?
SIP обрабатывает сигнализацию сессии между UE и CSCF — REGISTER, INVITE, согласование медиа. DIAMETER Cx/Dx и Sh обрабатывают сторону данных абонента против HSS — авторизацию, векторы аутентификации, загрузку профиля и сервисные данные. Видимый поток SIP и скрытый поток DIAMETER работают вместе при каждой регистрации и вызове.
Технические характеристики источника
На этой странице представлены опубликованные стандарты, на которых они основаны. (Открывается в новой вкладке)