EMI(プロトコル) - 百科事典
外部機器インターフェース(EMI)、ユニバーサルコンピュータプロトコル(UCP)の拡張版は、携帯電話用のショートメッセージサービスセンター(SMSC)に接続するために主に使用されるプロトコルです。このプロトコルは、現在マベニルの一部であるCMG Wireless Data Solutionsによって開発されました。
ソースネーム
典型的なEMI/UCPの交換は以下のようになります:
^B01/00045/O/30/66677789///1//////68656C6C6F/CE^C
^B01/00041/R/30/A//66677789:180594141236/F3^C
パケットの始まりは^B(STX、16進数02)で、終わりは^C(ETX、16進数03)でシグナルされます。パケット内のフィールドは/文字で区切られています。
最初の4つのフィールドは必須のヘッダーで、3番目は操作タイプ(操作用O、結果用R)、4番目は操作(ここでは30、「ショートメッセージ転送」)です。
その後のフィールドは操作に依存します。上記の最初の行では、「66677789」は受信者のアドレス(電話番号)で、「68656C6C6F」はメッセージの内容で、ここではASCII文字列「hello」です。2行目は、トランザクション参照番号と一致する応答で、'A'はメッセージがSMSCによって成功して認証されたことを示し、タイムスタンプが電話番号に付加されて配信時の時間を示します。
最終フィールドはチェックサムで、パケット内のすべてのバイト(スラッシュも含む)を足し合わせて、結果から8ビットの最も低いシグニファントビットを取って計算されます。
詳細な仕様はLogicaCMGのウェブサイトの開発者フォーラムで利用可能ですが、登録が必要です。
技術的な制限
2桁のトランザクション参照番号は、テキストメッセージを送信するエンティティが(セッションごとに)100の未処理メッセージしか持てないことを意味します。これはパフォーマンスに制限をかけますが、通常は低速なネットワークやSMSCの不適切な設定(例えば、ウィンドウの数が100を超えるセッション)でのみ影響を与えます。実際には配信スループットには影響を与しません。
EMI UCPの文書では、16進数からデコードされたアルファベットメッセージにデフォルトのアルファベットを指定しておらず(エンコードされたメッセージにはIRAのアルファベットが指定されており、これは7ビットASCIIと同じで0-9およびA-Zが不変文字です)、関連するETS 300 133-3標準はGSM-7アルファベットを指定しており、ASCIIよりも多くの言語をサポートしています。実際にはGSM-7アルファベットが使用されます。UCS-2などの他のエンコーディングは、トランスペアレントメッセージを使用してデータコーディングスキームを指定することで送信できます。
代替手段
ショートメッセージピアツーピアプロトコル(SMPP)もTCP/IP上でSMSを提供します。
ノキアによって開発されたメッセージ配信用コンピュータインターフェース(CIMD)
外部リンク
[1] ETS 300 133-3
LogicaCMG: 開発者向けダウンロード(2007年12月24日現在リンクが無効)
UCP仕様(ボーダフォンドイツ)
UCPの詳細な仕様
UCP Perl実装(開発者用)
Kannel、UCP/EMI 4.0サポート付きのオープンソースWAPおよびSMSゲートウェイ