IMS註冊流程的解讀

bjtime發表於2024-12-08

有關IMS Registration詳細流程,可查詢網路上相關的文件資料。下圖源自3GPP TS 24.228,以便後續問題說明:

1)初始註冊(Initial Registration)和二次註冊(Subsequent Registration)訊息是屬於不同的事務(transaction),但屬於同一個對話(Dialog)嗎?

這是從IMS Registration流程中抓取的log:1~4分別對應上圖中的step 4, step 10, step 15, 和step 21。

根據RFC3261的定義,SIP訊息中的Call-ID, From-tag, 和To-tag三個引數唯一確定一個對話。下圖是這4個訊息對應的SIP header內容以及比較(做了脫密處理):

  • 初始註冊(Initial Registration)和二次註冊(Subsequent Registration)訊息中Call-ID是相同的。
  • CSeq號不同。
  • SBC產生的Via頭中branch ID不同。
  • From-tag相同,但To-tag不同。

由上可知:

> 初始註冊(Initial Registration)請求和“401 Unauthorized”響應是一個事務,而二次註冊(Subsequent Registration)請求和“200 OK”響應構成另外一個事務:CSeq和branch ID的不同佐證了此點。

> 初始註冊(Initial Registration)和二次註冊(Subsequent Registration)也是屬於不同的對話(Dialog):CSCF的響應中返回了不同的To-tag 。(注:實現方法各異,有的SBC產品可能也會產生不同的From-tag。)

2)初始註冊和二次註冊流程中I-CSCF查詢HSS時,返回的Diameter UAA訊息中S-CSCF資訊不同:

流程圖中step 5,UAA訊息中返回AVP Server-Capabilities,即S-CSCF的能力集;之後I-CSCF根據自身的配置,先進行S-CSCF的選擇。

流程圖中step 16,UAA訊息中返回AVP Server-Name,即處理當前IMS使用者註冊的S-CSCF主機名;之後I-CSCF可能查詢DNS直接獲得S-CSCF的IP地址。

原因在於step 7中當S-CSCF向HSS進行鑑權時,HSS會記錄下使用者IMSI/IMPU和S-CSCF的繫結關係。

相關文章