GSM 03.40または3GPP TS 23.040は、 GSMネットワークでショート メッセージを伝送するために使用されるショート メッセージ転送プロトコル(SM-TP) の転送プロトコル データ ユニット(TPDU) 部分の形式を記述するモバイル電話標準です。[1]この形式は、GSMモバイル ネットワークでのメッセージの転送全体にわたって使用されます。対照的に、アプリケーション サーバーは、ショート メッセージ ピアツーピアやユニバーサル コンピュータ プロトコルなどのさまざまなプロトコルを使用して、ショート メッセージ サービス センター(SMSC) との間でメッセージを交換します。
GSM 03.40 は、この規格の元の名前です。1999 年以来、 3GPP TS 23.040 という名前で3GPPによって開発されてきました。ただし、3GPP ドキュメントを指す場合にも、元の名前がよく使用されます。[引用が必要]
使用法
GSM 03.40 TPDUは、ショートメッセージリレープロトコル(SM-RP)[2]を使用してモバイルステーション(MS)とモバイルスイッチングセンター(MSC)間でメッセージを伝送するために使用されます。一方、MSCとショートメッセージサービスセンター(SMSC)間では、 TPDUはモバイルアプリケーションパート(MAP)[3]パッケージのパラメータとして伝送されます。[4]
IPマルチメディアサブシステム(IMS)を使用する新興ネットワークでは、ショートメッセージはセッション開始プロトコル(SIP)のMESSAGEコマンドで伝送されます。これらのIPベースのネットワークでも、互換性の理由から、3GPP 24.011に埋め込まれたGSM 03.40形式のショートメッセージの転送をContent-Type: application/vnd.3gpp.smsとして定義するオプションが存在します。[5] [6]
TPDU タイプ
GSM 03.40 は、モバイル ステーション (MS) と SMS センター (SC) 間の 6 種類のメッセージを定義しています。これらのメッセージは、メッセージの方向と、SM-TP メッセージの最初のオクテット (TP-MTI フィールド) の 2 つの最下位ビットによって区別されます。
SMS-SUBMIT は、携帯電話(モバイル ステーション、MS)からショート メッセージ サービス センター(SMSC、SC) にショート メッセージを送信するために使用されます。
SMS-SUBMIT-REPORT は SMS-SUBMIT に対する確認応答です。成功はメッセージが SMSC に保存 (バッファリング) されたことを意味し、失敗はメッセージが SMSC によって拒否されたことを意味します。
SMS-COMMAND は、SMSC にバッファリングされたメッセージを照会したり、そのパラメータを変更したり、削除したりするために使用できます。
SMS-DELIVER は、SMSC から携帯電話にメッセージを配信するために使用されます。携帯電話から返される確認応答には、オプションで SMS-DELIVER-REPORT が含まれる場合があります。ホーム ルーティングが適用される場合、SMS-DELIVER は SMSC から別の SMSC にメッセージを送信するために使用されます。
SMS-STATUS-REPORT は、発信元の携帯電話にメッセージ配信の最終結果を通知するため、または SMS-COMMAND に返信するために、SMSC から送信されることがあります。
TPDUフィールド
SM-TP メッセージのフィールド (順序とサイズを含む) は次の表にまとめられています。ここで、M は必須フィールド、O はオプション フィールド、Eは否定応答 (RP-ERR) では必須で肯定応答 (RP-ACK) には存在しないフィールド、x は他の場所に存在するフィールドです。
TPDU の最初のオクテットには、上記の TP-MTI フィールドを含むさまざまなフラグが含まれています。
TP-More-Messages-to-Send (TP-MMS) ビットを 0 (逆ロジック) に設定することにより、SMSC は受信者へのメッセージがまだあることを通知します (多くの場合、連結されたメッセージのセグメントがさらにあります)。通常、MSC は携帯電話への接続を閉じず、SMSC との MAP ダイアログを終了しません。これにより、後続のメッセージまたはメッセージ セグメントをより速く配信できます。偶然にも、その間に SMSC からさらにメッセージが消えた場合 (たとえば、削除された場合)、SMSC は MAP 中止メッセージで MAP ダイアログを終了します。
TP-Loop-Prevention (TP-LP) ビットは、宛先アドレスとは異なるアドレスにルーティングされた、またはアプリケーションによって生成された SMS-DELIVER または SMS-STATUS-REPORT メッセージのループを防止するように設計されています。このようなメッセージは、元のメッセージでこのフラグがクリアされている場合にのみ送信でき、新しいメッセージはフラグを設定した状態で送信する必要があります。
TP-Status-Report-Indication (TP-SRI) ビットを 1 に設定することにより、SMSC は SME にステータス レポートを返すように要求します。
SMS-SUBMIT または SMS-COMMAND で TP-Status-Report-Request (TP-SRR) ビットを 1 に設定することにより、携帯電話は SMSC から返されるステータス レポートを要求します。
SMS-STATUS-REPORT メッセージ内の TP-SRQ の値が 1 の場合、メッセージは SMS-COMMAND の結果です。それ以外の場合は、SMS-SUBMIT の結果です。
TP-UDHI の値が 1 の場合、TP-UD フィールドはユーザー データ ヘッダーで始まります。
TP-RP ビットを設定すると、元のメッセージと同じパスを使用してメッセージへの返信を送信できる機能がオンになります。発信者と受信者のホーム ネットワークが異なる場合、返信は通常、別の SMSC を経由します。モバイル オペレータは、このようなメッセージに課金するために特別な措置を講じる必要があります。
GSM 03.40 TPDU の送信に使用される SM-RP と MAP はどちらも、確認応答を返すのに十分な情報 (要求が成功したかどうかの情報) を伝送します。ただし、GSM 03.40 TPDU を確認応答に含めることで、さらに多くの情報を伝送できます。GSM 03.40 は、次の開発を経ています。
- GSM 03.40 5.2.0 までは、SMS-DELIVER-REPORT と SMS-SUBMIT-REPORT はエラーの場合にのみ送信されていました。5.3.0 以降では、成功の場合にも送信されます。MO-ForwardSM-Res は、1997 年 8 月の GSM 09.02 5.6.0 で導入されました。
- GSM 03.40 6.0.0 までは、エラーの場合に送信される SMS-DELIVER-REPORT および SMS-SUBMIT-REPORT には TP-MTI フィールドと TP-FCS フィールドのみが含まれ、SMS-STATUS-REPORT の最後のフィールドは TP-ST でした。バージョン 6.1.0 以降、これらの TPDU は上記の表に示す形式になります。
これらの変更は古いものですが (バージョン 6.1.0 は 1998 年 7 月に発生)、MAP の古い形式は今日のネットワークでも頻繁に見られます。
メッセージ内容
メッセージの内容 (メッセージがバイナリでない場合はテキスト) は、TP-UD フィールドで伝送されます。そのサイズは、最大 160 × 7 = 140 × 8 = 1120 ビットです。これより長いメッセージは、複数の部分に分割され、連結 SMSとして送信できます。メッセージ内容の長さは、TP-UDL フィールドに示されます。メッセージのエンコードが GSM 7 ビットのデフォルト アルファベット (TP-DCS フィールドによる) の場合、TP-UDL は 7 ビット単位で TP-UD の長さを示します。それ以外の場合、TP-UDL はオクテット単位で TP-UD の長さを示します。
TP-UDHI が 1 の場合、TP-UD はユーザー データ ヘッダー(UDH) で始まります。この場合、TP-UD の最初のオクテットはユーザー データ ヘッダー長 (UDHL) オクテットで、UDHL 自体を除いたオクテット単位の UDH の長さが含まれます。UDH は TP-UD フィールドからスペースを消費します。メッセージのエンコードが GSM 7 ビットのデフォルト アルファベットで、UDH が存在する場合、UDH の後のテキストの最初の文字の開始をセプテット境界に揃えるために、フィル ビットが挿入されます。この動作は、UDH を理解しない古い携帯電話用に設計されています。このような携帯電話では、UDH が奇妙な文字の寄せ集めとして表示されることがあります。UDH の後の最初の文字がキャリッジ リターン (CR) の場合、携帯電話はメッセージを残りのメッセージで書き換えます。
住所
GSM 03.40 メッセージには、SMS-SUBMIT および SMS-COMMAND の宛先アドレス (TP-DA)、SMS-DELIVER の発信元アドレス (TP-OA)、および SMS-STATUS-REPORT の受信者アドレス (TP-RA) の 1 つのアドレスのみが含まれます。その他のアドレスは下位層によって伝送されます。
GSM 03.40 のアドレスの形式を次の表に示します。
番号の種類 (TON):
加入者が先頭に「+」記号が付いた電話番号を入力すると、「+」記号が削除され、アドレスは TON=1 (国際番号)、NPI=1 になります。番号自体は常に国コードで始まり、E.164標準に正確に従ってフォーマットされている必要があります。
対照的に、`+' 記号なしで書かれた番号の場合、アドレスは TON=0 (不明)、NPI=1 になります。この場合、番号はモバイル オペレータのダイヤル プランに準拠している必要があります。つまり、国際番号には国番号の前に国際プレフィックス (ほとんどの国では 00、米国では 011) が付いていなければならず、長距離通話の番号にはトランク プレフィックス (ほとんどの国では 0、米国では 1) とトランク コードが続く必要があります。
番号計画識別番号 (NPI):
電話番号は NPI=1 である必要があります。アプリケーション サーバーは、TON=5、NPI=0 の組み合わせを持つ英数字アドレスを使用できます。
EXT ビットは常に 1 で、「拡張なし」を意味します。
住所例
米国の番号 +1 555 123 4567 は、0B 91 51 55 21 43 65 F7 としてエンコードされます (最後のオクテットの上位 4 ビットの F は、番号の長さが奇数の場合に使用されるフィラーです)。
英数字アドレスは、最初に GSM 7 ビットのデフォルト アルファベットに配置され、次に TP-UD フィールド内のメッセージ テキストと同じ方法でエンコードされ (つまり、7 ビット パックされます)、その後、アドレスに「番号」の長さと TON および NPI が提供されます。
たとえば、架空の英数字アドレスDesign@Home は、GSM の 7 ビット デフォルト アルファベットに変換され、11 バイト 44 65 73 69 67 6E 00 48 6F 6D 65 (16 進数) になります。7 ビット パッキングにより、10 オクテットに格納される 77 ビットに変換され、C4 F2 3C 7D 76 03 90 EF 76 19 となります。77 ビットは 20ニブル(16 進数で 14) で、これがアドレスの最初のオクテットの値です。2 番目のオクテットには TON (5) と NPI (0) が含まれ、D0 16 進数になります。GSM 形式の完全なアドレスは、14 D0 C4 F2 3C 7D 76 03 90 EF 76 19 です。
メッセージリファレンス
メッセージ参照フィールド (TP-MR) は、SMS-SUBMIT-REPORT (SMS-SUBMIT、SMS-COMMAND、および SMS-STATUS-REPORT) を除く送信側のすべてのメッセージで使用されます。これは、新しいメッセージが送信されるか、新しい SMS-COMMAND が送信されるたびに増加する 1 オクテットの値です。メッセージの送信が失敗した場合、携帯電話は同じ TP-MR 値で、TP-RD ビットを 1 に設定して送信を繰り返す必要があります。
時刻形式
TP-SCTS、TP-DT、および TP-VP の絶対形式で使用される日付と時刻は、7 オクテットに格納されます。
すべてのオクテットで、値は数字が入れ替わった 2 進化 10 進数形式で保存されます (数値 35 は 16 進数の 53 として保存されます)。
タイム ゾーンは 1/4 時間単位で示されます。タイム ゾーン オフセットが負 (西半球) の場合、最後のオクテットのビット 3 は 1 に設定されます。
2013 年 3 月 25 日 23:01:56 PST (GMT-7) は、31 30 52 32 10 65 8A とエンコードされます。
この例では、タイム ゾーン 8A は 2 進数 1000 1010 です。ビット 3 は 1 なので、タイム ゾーンは負です。残りの数 (1111 0111 とのビット単位の AND) は 1000 0010、16 進数 82 です。これをシーケンス内の前の要素として扱います (16 進数 82 は数 28 を表します)。最終的に、タイム ゾーン オフセットは 28 × 15 分 = 420 分 (7 時間) になります。
有効期間
SMS-SUBMIT TPDU には、SMSC がメッセージを配信しようとする期間を制限する TP-VP パラメータが含まれる場合があります。ただし、有効期間は通常、SMSC 構成パラメータによってグローバルに制限され、多くの場合 48 時間または 72 時間に制限されます。有効期間の形式は、有効期間形式フィールドによって定義されます。
相対形式
絶対形式
絶対形式は、GSM 03.40 の他の時間形式と同じです。
拡張フォーマット
TP-VP フィールドの拡張形式はほとんど使用されません。常に 7 オクテットで構成されますが、一部は使用されません。最初のオクテットは TP-VP 機能インジケータです。その最下位 3 ビットの意味は次のとおりです。
最初のオクテットのビット 6 の値が 1 の場合、メッセージがシングルショットであることを意味します。最初のオクテットのビット 7 の値が 1 の場合、TP-VP 機能インジケータが別のオクテットに拡張されていることを示します。ただし、このような拡張は定義されていません。
プロトコル識別子
TP-PID (プロトコル識別子) は、使用されている上位層プロトコルを参照するか、特定の種類のテレマティクス デバイス (ファックス、テレックス、ポケベル、テレテックス、電子メールなど) との相互運用性を示すか、メッセージの置換タイプを指定するか、SIM カードへの構成パラメータのダウンロードを許可します。プレーン MO-MT メッセージの PID は 0 です。
TP-PID = 63 の場合、SC は受信した TPデータ コーディング スキームの SM を、その MS でサポートされている任意のデータ コーディング スキーム (たとえば、デフォルト) に変換します。
ショート メッセージ タイプ 0 は、サイレント SMSとして知られています。すべての端末は、(U)SIM または ME に使用可能なメモリがあるかどうかに関係なく、このようなショート メッセージを受信でき、メッセージの受信を確認する必要がありますが、ユーザーに受信を通知してはならず、その内容を破棄する必要があるため、メッセージは (U)SIM または ME に保存されません。
データコーディングスキーム
GSM 7ビットデフォルトアルファベットと呼ばれる特別な7ビットエンコーディングは、GSMのショートメッセージシステム用に設計されました。アルファベットには、ほとんどの西ヨーロッパ言語で最もよく使用される記号(および一部のギリシャ語の大文字)が含まれています。一部のASCII文字とユーロ記号はGSM 7ビットデフォルトアルファベットに適合しないため、2つのセプテットを使用してエンコードする必要があります。これらの文字は、GSM 7ビットデフォルトアルファベット拡張テーブルを形成します。GSMハンドセットとネットワーク要素では、GSM 7ビットアルファベットのサポートが必須です。[7]
ラテン文字を使用するが、GSM 7 ビットのデフォルト アルファベットに存在しない文字を使用する言語では、多くの場合、発音区別記号付きの欠落文字が発音区別記号のない対応する文字に置き換えられます。これにより、ユーザー エクスペリエンスが完全に満足できるものにはならないものの、多くの場合は受け入れられます。見栄えを良くするために、16 ビットUTF-16 (GSM では UCS-2 と呼ばれます) エンコードを使用できますが、その代償として、(セグメント化されていない) メッセージの長さが 160 文字から 70 文字に短縮されます。
中国語、韓国語、または日本語のメッセージは、UTF-16文字エンコードを使用してエンコードする必要があります。ロシア語、アラビア語、ヘブライ語、さまざまなインドの言語など、非ラテン文字を使用する他の言語についても同様です。2008 年に公開された 3GPP TS 23.038 8.0.0 では、新しい機能である拡張された国別言語シフト テーブルが導入され、2012 年に公開されたバージョン 11.0.0 では、トルコ語、スペイン語、ポルトガル語、ベンガル語、グジャラート語、ヒンディー語、カンナダ語、マラヤーラム語、オリヤー語、パンジャブ語、タミル語、テルグ語、ウルドゥー語がカバーされています。このメカニズムは、ユーザー データ ヘッダーの特別な情報要素に従って、GSM 7 ビットのデフォルトのアルファベット コード テーブルや拡張テーブルを国別テーブルに置き換えます。国別言語シフト テーブルを使用するセグメント化されていないメッセージは、最大 155 (または 153) の 7 ビット文字を伝送できます。
データ コーディング スキーム( TP -DCS) フィールドには、主にメッセージのエンコードに関する情報が含まれます。GSM は、テキスト メッセージに対して 2 つのエンコードのみ、バイナリ メッセージに対して 1 つのエンコードのみを認識します。
- GSM 7 ビット デフォルト アルファベット (各国語シフト テーブルの使用も含まれます)
- UCS-2
- 8ビットデータ
TP-DCS オクテットには、他の情報を伝送できるようにするための複雑な構文があります。最も注目すべきはメッセージ クラスです。
フラッシュ メッセージは、メモリがいっぱいの場合でも携帯電話で受信されます。携帯電話に保存されるのではなく、携帯電話のディスプレイに表示されるだけです。
TP-DCS で利用できるもう 1 つの機能は自動削除です。メッセージは読んだ後、電話から削除されます。
DCS 値のメッセージ待機表示グループは、未読のボイスメール、ファックス、電子メール、またはその他のメッセージの存在を示すフラグを設定またはリセットできます。
特別な DCS 値でもメッセージの圧縮が可能ですが、おそらくどのオペレーターも使用しません。
TP-DCSの値はGSM勧告03.38で定義されています。このエンコーディングで送信されるメッセージは、デフォルトのGSM 7ビットアルファベット、8ビットデータアルファベット、および16ビットUCS-2アルファベットでエンコードできます。[7]
放電時間
TP-DT フィールドは、特定の TP-ST 結果に関連付けられた時刻と日付を示します。
- メッセージが配信された場合、またはより一般的には他のトランザクションが完了した場合(TP-STは0〜31)、TP-DTはトランザクションの完了時刻です。
- SMSCがまだメッセージを配信しようとしている場合(TP-STは32〜63)、TP-DTは最後の配信試行の時刻です。
- SMSCがこれ以上の配信を試みていない場合(TP-STが64-127の場合)、TP-DTは最後の配信試行の時刻、またはSMSCがメッセージを破棄した時刻のいずれかになります。
パラメータインジケーター
TP-PI フィールドは、SUBMIT-REPORT、DELIVER-REPORT、または SMS-STATUS-REPORT TPDU 内にさらにフィールドが存在することを示します。
現在、TP-PI にはまだ 4 つの空きビットがあるため、将来も拡張ビットがゼロになることが予想されます。これにより、TPDU が肯定応答の一部であるか否定応答の一部であるかに関する情報が利用できない場合に、TP-PI フィールドと TP-FCS フィールドを区別するのに役立ちます。TPDU の 2 番目のオクテットの最上位ビットが 1 の場合、2 番目のオクテットは TP-FCS (否定応答の場合) であり、それ以外の場合は TP-PI (肯定応答の場合) です。
参照
- ショートメッセージサービス
- 03.38 の
- データコーディングスキーム
- ユーザーデータヘッダー
- 連結されたSMS
- ショートメッセージサービス技術実現 (GSM)
- 強化されたメッセージングサービス
- マルチメディア メッセージング サービス
- ショートメッセージ ピアツーピア
- ユニバーサルコンピュータプロトコル
参考文献
- ^ 3GPP TS 23.040 第3世代パートナーシッププロジェクト; ショートメッセージサービス (SMS) の技術的実現
- ^ 3GPP TS 24.011 第3世代パートナーシッププロジェクト; モバイル無線インターフェースでのポイントツーポイントショートメッセージサービス (SMS) のサポート
- ^ 3GPP TS 29.002 第3世代パートナーシッププロジェクト; モバイルアプリケーションパート (MAP) 仕様
- ^ 第3世代パートナーシッププロジェクト、ショートメッセージサービス(SMS)の技術的実現(3G TS 23.040バージョン11.5.0)(圧縮された.docファイル)、ETSI、2013年3月。
- ^ 3GPP TS 24.341 第3世代パートナーシッププロジェクト; IPネットワーク経由のSMSのサポート
- ^ 3GPP TS 24.451 NGN IMS サブシステムを介した SMS および MMS のサポート; 3GPP TS 24.341 リリース 7 のステージ 3
- ^ ab 3GPP TS 23.038、アルファベットと言語固有の情報。
