-
Notifications
You must be signed in to change notification settings - Fork 0
eSIM Setup Guide
このプロジェクトでは Simlessly RSPを使用してeSIMを取得・設定しています。 このガイドでは、eSIMの発行からOpen5GS WebUIへの登録、端末での接続までの手順を説明します。
Simlessly は、開発者向けにeSIMとIMSI/Ki/OPc認証情報を提供するサービスです。
特徴:
- IMSI、Ki、OPcなどの認証パラメータを設定可能なeSIMプロバイダー
NOTE: このプロジェクトではSimlesslyをプライベート5GC(Open5GS)に接続するためのeSIMとして使用しています。実際のSimlesslyネットワークには接続しません。
- Simlesslyアカウント
- eSIM対応端末(例: Google Pixel 8a)
- Open5GS環境(このプロジェクトのdocker-compose環境)
IMPORTANT: Simlessly画面の具体的な操作手順は公式マニュアルを参照してください: https://docs.simlessly.com/rsp/user-manual/simlessly/simlessly.html
- Simlessly公式サイト にアクセスしてアカウントを作成
- eSIMのQRコードを取得
画面項目名や導線が異なる場合は、上記の公式マニュアルを優先してください。
Simlesslyのダッシュボードから以下の情報を取得します:
IMSI / Ki / OPc の確認方法は Simlessly の仕様変更の影響を受けるため、公式マニュアルを参照: https://docs.simlessly.com/rsp/user-manual/simlessly/simlessly.html
| パラメータ | 説明 |
|---|---|
| IMSI | International Mobile Subscriber Identity (例: 001010123456789) |
| Ki | Authentication Key(128ビット16進数、例: 465B5CE8B199B49FAA5F0A2EE238A6BC) |
| OPc | Operator Variant Algorithm Configuration Field(128ビット16進数) |
IMPORTANT: Ki と OPc は秘密情報です。安全に保管し、公開リポジトリにコミットしないでください。
docker-composeでOpen5GS環境を起動後、ブラウザから以下にアクセス:
http://localhost:9999
デフォルトログイン情報:
- Username:
admin - Password:
1423
- WebUI左側メニューから 「SUBSCRIBERS」 を選択
- 右上の 「+ (Add Subscriber)」 ボタンをクリック
- 以下の情報を入力:
| フィールド | 設定値 |
|---|---|
| IMSI | Simlesslyから取得したIMSI |
| Subscriber Key (K) | Simlesslyから取得したKi(16進数、32文字) |
| Operator Key (OPc) | Simlesslyから取得したOPc(16進数、32文字) |
| APN | internet |
- 「SAVE」 をクリックして保存
登録後、加入者リストに新しいIMSIが表示されることを確認します。
s1n2-converterがNAS Security Contextを計算するため、config/auth_keys.yaml にも認証情報を記載します:
cp config/auth_keys.example.yaml config/auth_keys.yamlconfig/auth_keys.yaml を編集:
subscribers:
- imsi: "001010123456789" # SimlesslyのIMSI
ki: "465B5CE8B199B49FAA5F0A2EE238A6BC" # SimlesslyのKi
opc: "E8ED289DEBA952E4283B54E88E6183CA" # SimlesslyのOPc- 端末の 「設定」 → 「ネットワークとインターネット」 → 「SIM」 を開く
- 「SIMをダウンロード」 または 「eSIMを追加」 を選択
- SimlesslyダッシュボードからQRコードを表示し、カメラでスキャン
- eSIMのダウンロードとアクティベートが完了するまで待機
QR発行や再発行の手順は公式マニュアルを参照: https://docs.simlessly.com/rsp/user-manual/simlessly/simlessly.html
インストールしたeSIMに対してAPN設定を行います:
- 「設定」 → 「ネットワークとインターネット」 → 「インターネット」 → インストールしたeSIMを選択
- 「アクセスポイント名」 を選択
- 右上の 「+」 で新しいAPNを追加:
| フィールド | 設定値 |
|---|---|
| 名前 | internet |
| APN | internet |
| APNタイプ | default,supl |
- 保存して選択
- 「設定」 → 「ネットワークとインターネット」 → 「モバイルネットワーク」
- 「ネットワークを自動的に選択」 を オフ に設定
- 利用可能なネットワーク一覧から
.envで設定したMCC/MNCに対応するネットワークを選択
NOTE: プライベートeNBの電波が届く範囲内でなければ、ネットワークが表示されません。
s1n2-converterとOpen5GS環境を起動後、端末が4G接続を確立できることを確認:
# s1n2ログ確認
docker compose logs s1n2 -f
# AMFログ確認
docker compose logs amf -f正常に接続されると以下のようなログが出力されます:
[nas] Registration Request received
[ngap] Initial Context Setup Request sent
[nas] Registration Accept sent
端末のステータスバーに4Gアイコンが表示され、インターネット接続が可能になります。
-
eNB電波の確認
- eNBの電源が入っているか
- eNBとs1n2が正常に接続されているか(eNB Setup Guide 参照)
-
MCC/MNC/TACの一致確認
-
.envファイルの設定 - eNBの設定
- Open5GS WebUIのSLICE設定(デフォルトで一致しているはず)
-
-
認証情報の確認
- Open5GS WebUIのKi/OPcとSimlesslyの値が一致しているか
-
config/auth_keys.yamlにも同じ値が記載されているか
-
APN設定の確認
- 端末のAPN設定が
internetになっているか
- 端末のAPN設定が
-
ログの確認
docker compose logs s1n2 amf smf upf
エラーメッセージから原因を特定します。
-
SMF/UPF接続の確認
docker compose logs smf upf
-
ネットワーク設定の確認
./start.shが正常に実行され、ogstunインターフェースが作成されているか確認:ip addr show ogstun
-
NAT設定の確認 ホストマシンのiptables設定で、UEトラフィックがNATされているか確認:
sudo iptables -t nat -L POSTROUTING -v
-
Ki と OPc は公開しない これらはSIMカードのマスター鍵です。漏洩すると第三者があなたのIMSIで認証できます。
-
テスト環境限定での使用 このプロジェクトはテスト・開発環境を想定しています。本番環境で使用する場合は、HSS/UDMのセキュリティ強化が必要です。
-
auth_keys.yamlの管理
.gitignoreに含まれているため、Gitで追跡されませんが、バックアップ時などに誤ってコピーしないよう注意してください。