APN と CarrierConfig

携帯通信会社は、Android オープンソース プロジェクト(AOSP)のアクセス ポイント名(APN)情報と携帯通信会社固有の設定情報(CarrierConfig)を更新できます。

会社のメールアドレスを用いた Google アカウント

APN 情報または CarrierConfig を更新するには、会社の有効なメールアドレスを用いた Google アカウントを使用してリクエストを送信する必要があります(たとえば、Acme Company からの APN 更新リクエストは、「foobar@acme.com」というメールアドレスなどから送信する必要があります)。

会社のメールアドレスに関連付けられた Google アカウントがない場合は、ブラウザですべての Gmail アカウントからサインアウトし(他のアカウントとの混乱を避けるために、シークレット ウィンドウなどのプライベート ブラウジング機能を使用することをおすすめします)、会社のメールアドレスで Google アカウントを作成します。

ローカルの開発環境の準備

AOSP にコードを送信した経験がない場合は、次のようにビルド環境を初期化し、ツールについて知識を深め、パッチの送信方法を理解する必要があります。

また、Google Issue Tracker を使用して変更を確認することを強くおすすめします。

バグを報告する

  1. issuetracker.google.com にアクセスし、会社のメールアドレスを使用してログインします(会社のメールアドレスを用いた Google アカウントをご覧ください)。
  2. ログイン後、画面左側にある [Create issue] をクリックします。
  3. [Component] で、[Android Public Tracker > Framework] を選択します。
  4. 必要に応じて [APN update] または [CarrierConfig update] に進み、タイトルと説明を入力します。

APN のバグ

次のようにバグの属性を設定します。

タイトル: CarrierXYZ の APN の追加 / 変更 / 削除

説明: APN の設定自体を含め、リクエストする変更に関する詳細な説明を追加します。

CarrierConfig のバグ

次のようにバグの属性を設定します。

タイトル: CarrierXYZ の設定変更

説明: リクエストする変更に関する詳細な説明を追加します。

変更を送信

変更を加えるには、次の操作を行います。

  1. 変更するファイルを指定する。
  2. ファイルに変更を加える。
  3. 推奨される形式などが記載されたコミット メッセージのガイドラインに注意しながら、パッチの送信に関する指示に従って、ローカル リポジトリに変更をコミットする。
  4. 個人履歴に変更をコミットしたら、repo upload コマンドを使用して Gerrit にアップロードする。
  5. アップロードが正常に完了すると、新しいページの URL が Gerrit に表示されるので、この URL を使用して次のことを行う。
    • レビュー サーバーでパッチを確認する
    • コメントを追加する
    • 特定のレビュー担当者にパッチのリクエストを送信する

APN の構文

Android プロジェクト名 - デバイス / サンプル

ファイル名 - etc/apns-full-conf.xml(Google Git の main リンク

このファイルには XML 形式の APN 設定が含まれており、サンプル ファイルとして機能するため、Android デバイスの動作は変更されません。

一般的な APN 設定は次のようになります。

<apn carrier="CarrierXYZ"
      mcc="123"
      mnc="123"
      apn="carrierxyz"
      type="default,supl,mms,ims,cbs"
      mmsc="http://mms.carrierxyz.com"
      mmsproxy="0.0.0.0"
      mmsport="80"
      bearer_bitmask="4|5|6|7|8|12"
/>

テスト

  1. ルート権限がある Android デバイスを接続する。
  2. 設定を /etc/apns-conf.xml に追加する。
  3. APN 設定をリセットする。
  4. APN の設定で、プロファイルが正しく読み込まれていることを確認する。
  5. プロファイルごとに、データ接続、Wi-Fi アクセス ポイント、MMS が正しく動作するかどうかを確認する。

コミット メッセージ

[Example - "Add CarrierXYZ apns to sample apns"]
Bug: [Issue ID from Google Issue Tracker]
Test: No change to behavior as this is only a sample file

サンプル CL

CL の例については、サンプル BICS APN をご覧ください。

CarrierConfig の構文

プロジェクト名 - platform/packages/apps/CarrierConfig

ファイル名 - assets/carrier_config_.xml(Google Git の main リンク

アセット フォルダ内の関連する XML ファイルを、該当する MCC / MNC のタプルで指定します。このファイルには、XML 形式の携帯通信会社の設定オブジェクトが含まれています。属性名は CarrierConfigManager のキーとして定義し、値の型は int/string/bool の接尾辞で指定します。

一般的な int/string/bool 属性は次のようになります。

<int name="vvm_port_number_int" value="5499" />
<string name="vvm_type_string">vvm_type_omtp</string >
<boolean name="vvm_cellular_data_required_bool" value="true" />

コミット メッセージ

[Example - "Add VVM settings for CarrierXYZ"]

[Example - "Updated <mccmnc> carrier config file to include VVM settings
as defined by CarrierXYZ."]

Bug: [Issue ID from Google Issue Tracker]
Test: [Testing notes]

サンプル CL

CL の例については、更新されたキャリア構成ファイルをご覧ください。

レビューをリクエストする

レビューをリクエストするには、次の操作を行います。

  • 変更する Gerrit URL に移動し、レビュー担当者として android-carrier-config-review@google.com を追加する。
  • Google の連絡先を Gerrit の CC リストに追加することも可能。
  • 問題を追跡する場合は、問題の担当者を android-carrier-config-review@google.com に変更する。

送信後、レビューと検証プロセスを経て、Gerrit により変更が自動的に公開リポジトリに反映されます。他のユーザーは、 repo sync を実行して、更新をローカル クライアントに反映させます。