2026/03/31
K.Arai
本記事では,CAMARAプロジェクトのリリース構造とAPIバージョンについて解説します。
CAMARAプロジェクトの組織構成では,CAMARAプロジェクト内の組織と各組織の役割に関して解説しましたが,本記事ではCAMARAで策定するNW-API仕様のリリース構造とライフサイクルについて,執筆時点におけるプロセスの概観を解説します。
CAMARAのリリースプロセスは,Release Management WG1が策定しており,メタリリース,リポジトリリリース,APIバージョンという3層のリリース構造で管理され,それぞれが独立した採番ルールを持っています2。
また,Sub-PjやSandboxに割り当てられるGitHubのリポジトリ(API仕様書等の成果物が配置される)には,Sandbox→Incubating→Graduatedといった成熟度に応じたライフサイクルが定められており3,上位ステージへの移行には厳格な要件が課されています。
CAMARAのリリースは以下の3種類(3層構造)で管理されており,大きな塊の順にポイントを記載すると下表のようになります。以降でそれぞれについて触れていきたいと思います。

メタリリースとは,CAMARAプロジェクトとしてAPI仕様を市場に提供するための仕組みです。メタリリースに含まれる各API仕様は,Commonalities WG4やICM WG5が策定するデザインガイドラインの特定バージョンに準拠した形でリリースされ,API間の一貫性が確保されます。
メタリリースは年2回(春・秋)行われ,Fall25のように年の下2桁を含む名称が付けられます。直近では,2025年秋にメタリリースされ,Fall25として60のNW-APIがリリースされています6。
このメタリリースの検討プロセスとしては,以下のようにM0〜M6の7つのマイルストーンが設定され,TSCがメタリリースのM0宣言,つまり検討開始宣言した後,半年弱(Fall25の場合は,5か月程度)の期間をかけてM6まで完了させます。(alpha版・release candidate版・public版といったAPIステータスの遷移については,「APIバージョン」の部分で触れます。)
この検討プロセスで特徴的なのは,Commonalities & ICM WGで規定するNW-APIのデザインガイドライン策定と,Sub-PjやSandboxでのNW-API仕様策定が並行で進むという点です。
デザインガイドラインのリリース(M4/Commonalities & ICM)は,NW-API仕様のリリース(M4/APIs)よりも前に締め切りが設定されているものの,M3の準備が遅れていたりすると,NW-APIを検討するSub-PjやSandboxでは短期間でデザインガイドラインにあわせて,API仕様書のYAMLを修正する必要があります。
WebRTCの場合は,リーダが率先してこのタスクを実施くださっています。M4/APIsの前にデザインガイドラインに大きな修正が入るような場合は,Commonalities WGに参加するメンバが情報共有してくれるものの,他作業で手一杯の状況ではリーダへの負荷が大きくなりリリースが間に合わなくなる状況も想定されます。
リポジトリリリースとは,リポジトリ全体に対して付与されるタグ付きリリースです。GitHubのリリース機能を用いて作成され,リリースタグ(rx.y)とリリースパッケージ(リポジトリのzipファイル)の組み合わせで構成されます。
このリリースタグ(rx.y)は,個々のAPI仕様に付与されるAPIバージョン番号とは独立した番号体系で採番されます。1つのリポジトリリリースは,リポジトリ内のすべてのAPI仕様を内包し,それぞれが自身のAPIバージョンを持ちます。
リポジトリリリースには,そのリリース全体の性格を示す属性 target_release_type が設定されます。この属性は,リポジトリ内のすべてのAPI仕様が満たすべき成熟度(ステータス)の下限を決定します。
| target_release_type | 全API仕様が満たすべき成熟度 |
|---|---|
pre-release-alpha |
alpha以上 |
pre-release-rc |
rc以上 |
public-release |
public |
maintenance-release |
public |
例えば,メタリリースのM4の時点では,リポジトリ内の全API仕様の成熟度をpublicにする必要があります。つまり,メタリリースに参加する場合,一部のAPI仕様だけを先行公開したり,未成熟なAPI仕様を除外してリポジトリリリースすることはできません。
リポジトリには,リポジトリリリースとは独立して,Sandbox → Incubating → Graduatedという成熟度(maturity level)が定められています。
Sandbox→Incubatingへの昇格には,少なくとも1社のオペレーターによる実装実績が,Incubating→Graduatedへの昇格には,複数ステークホルダーによる本番環境での使用実績が必要になるなど,上位の成熟度への移行には実サービスでの実績が課せられます7。
この実績は,CAMARAプロジェクトと他標準化団体の関係で紹介したとおり実質的にはGSMAが認定する形になっており,普及展開を担うGSMA側の方針が色濃く反映されたライフサイクルといえます。
前述のとおり,1つのリポジトリリリースには複数のAPI仕様が内包されます。
個々のAPI仕様に付与されるAPIバージョンは,NW-API仕様書(YAML)ごとにセマンティックバージョニング(vx.y.z)で管理されます。
各APIバージョンには,リリース準備状況を示すAPIのバージョン拡張識別子(version extension)が設定されており,以下の順に遷移します。前述したalpha版・release candidate版・public版は,このステータスに対応しています。
draft → alpha → release candidate → public
wip(work in progress)として扱われる。APIステータスはAPIバージョン単位で定義されます。例えば,v0.2.0のrelease candidateの場合,YAMLのinfo.versionにはversion: 0.2.0-rc.1のように記載されます。alphaの場合はversion: 0.2.0-alpha.1,publicの場合はversion: 0.2.0となります。.1はイテレーション番号であり,同一ステータス内で修正が入るたびに加算されます。
さらに,publicリリースは,メジャーバージョン(x)の値によってさらにInitialとStableに区分されます。
APIのバージョン拡張識別子はリポジトリの成熟度(Sandbox / Incubating / Graduated)とは独立しており新バージョンのリリース自体は任意のタイミングで可能ですが,InitialからStableへの昇格では実質的にはサービス実績に関するGSMAの認定が求めらます。
本記事では,CAMARAプロジェクトのリリース構造とAPIバージョンについて解説しました。
CAMARAは,実際に通信事業者によって実装・ローンチされ,商用環境で使用できる品質を持つことを保証する仕組みが,仕様書のライフサイクルに組み込まれています。
本記事が,CAMARAでの活動を始める方の参考になれば幸いです。
Fall25 meta-release: 今後は Sync26 など命名規則がさらに変更される予定。 ↩
本記事は,NTTネットワークサービスシステム研究所 ネットワーク基盤技術研究プロジェクト ノード処理基盤研究グループの RTC (Real-Time Commmunication) チームが執筆しています。 当チームでは,商用サービス開発とは独立した立場から,将来のRTCサービスを支える基盤技術の創出を目的としたコア研究として,RTC関連技術の研究開発および3GPPやCAMARA等における標準化活動に取り組んでいます。
本記事に関するお問い合わせは,下記アドレスまでご連絡ください。