背景
KDDIさんの輻輳で、VoLTE交換機とDiameterに注目が集まっているので、標準をベースにシーケンスポンチ絵作成しました。
どうやって作ったのかの補足説明です。
今5Gが熱いですが、サービスが開始されて間もないので、多くのユーザーは4Gを使っていると思いますので、4Gの電話(VoLTE)のシーケンスを紹介します。
概要
・VoLTE交換機の輻輳というと、青のSIPとオレンジのDiameterで輻輳している想定。
・位置の照合の不一致、HSS⇔IMS なのか PCRF⇔HSS なのかわからず。
スマホで電話を電話できる状態に登録するまで
RAN:無線
EPC:モバイルコア(データ通信・認証)
IMS:いわゆるVoLTE交換機で、電話レベルの認証
が必要で、
下記のプロトコルを使っています
スマホ(UE) ~ EPC :NASS
スマホ(UE) ~ VoLTE交換機(IMS):SIP
EPC/VoLTE交換機 ~ 加入者DB間 :Diameter
正常系のL7だけでこんな複雑なので、ルーターも含めて、障害発生時は大変だったんだろうなと思います。今回復旧に携わった方々すごい。
参考文献
[1]3GPP TS 23.401 v17.0.0 (E-UTRAN) access
4GのコアネットワークEPCのこと。位置登録(Attach)のシーケンスが記載されてます。
[2]3GPP TS 24.301 v17.0.0 Non-Access-Stratum (NAS) protocol
端末~MME間の制御プロトコル シーケンスのメッセージの中身(パラメータが知りたければこちら)
[3]3GPP TS 23.228 v17.0.0 IMS Stage2
VoLTE(電話)の初期登録(REGISTER)のシーケンスが記載されています。
[4]3GPP TS 29.228 v17.0.0 Diameter Cx
VoLTE交換機~加入者サーバHSS間のDiameterの細かいパラメータが記載されています。
詳細
[1]TS 23.401 v17.0.0 (E-UTRAN) access のお勉強
Attach(初期の位置登録)のシーケンス
携帯の電源を入れたら、ぼくはここにいるよと加入者DBに登録します。
(電話かかってきたら、加入者DBに場所を聞いて、登録してある場所に向けて電話のパケットを送ります)
・EPCはMME~PDN
・HSSは加入者DB
・VoLTE交換機はPDN GWの向こう側にいます。
5.3.2 Attach procedure
端末~MME
MME:データ向けの認証したり、基地局またいで移動してもデータ通信が切れないようにしたりする
今回は制御信号L7のNASSに絞って絵をかいています。
//私はL6以下よくわかりません・・・(汗
User Plane
この絵の右側にVoLTE交換機がいるイメージ。VoLTE向けのプロトコル(SIP)の、REGISTERは、User PlaneのApplicationとして使われる。
[3]3GPP TS 23.228 v17.0.0 IMS Stage2 のお勉強
データ側の位置登録(attach)が終わると、VoLTE交換機(電話)側の認証シーケンスが走り出します。
Cxと書いてある太い矢印がDiameter HSSが加入者DBです。
5.2.2 Registration flows
[4]3GPP TS 29.228 v17.0.0 Diameter Cx
[3]でなんとなくわかりましたが、なんかもやっとしませんか?
・Cx-QueryなんてDiameterコマンドないよね?
・SIP REGISTERの後に401返してチャレンジレスポンス認証するのでは?
安心してください29 seriesはプロトコルなので、コマンド名もパラメーターもばっちり書いてあります。
AttachとRegisterのシーケンスをくっつける。
実際は、音声電話契約をしてると、EPC(データ)にAttachした後、VoLTE交換機(電話)にREGISTERすると思いますので、
上記の[2]と[3]をがっちゃんこ。
ついでに、Cx-Queryとかは、正式なDiameterのコマンド名ではないので[4]3GPP TS 29.228 v17.0.0 Diameter Cx を見ながら、
Diameterのコマンド名に置き換えていきます。
[4]3GPP TS 29.272 EPC, MME, SGSN inerface basedo on Diameter protocol
抜けのコメントいただきました。多分これは私がMMEのHSS間のプロトコルを理解していないから。
https://twitter.com/kaz_shim/status/1544809428003999744?t=4473mNKrqIEfdoI8Qle_0w&s=19
S-GWとP-GWの間で、Create Session RequestするとP-GWとPCDRの間で、Session Establishmentの手続きをする。
今回のKDDIさんの資料とかを見て、そういえば私某社のVoLTE交換機のDiameter インタフェース仕様書作ったなというのを思い出しました。