私はWML機能「providelocalinfo」を使用して、GSMハンドセットのWIBメニューを介してショートメッセージに位置情報を送信しています。ショートメッセージにGSMセルを埋め込む
私はSmartTrustのWIG WML v.4仕様を使用しています。関連するセクションは「9.4 providelocalinfo要素」
この例のようにコードを使用し、SMS経由で変数を送信し、Kannelを使用してSMSCからメッセージを取得します。
ここで[myservicecentre]私の実際のサービスセンターであることを除いて、私が使用しているコード、です:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE wml PUBLIC "-//SmartTrust//DTD WIG-WML 4.0//EN"
"http://www.smarttrust.com/DTD/WIG-WML4.0.dtd">
<wml wibletenc="UCS2">
<card id="s">
<p>
<providelocalinfo cmdqualifier="location" destvar="LOC"/>
<setvar name="X" value="loc=" class="binary"/>
<sendsm>
<destaddress value="367"/>
<userdata docudenc="hex-binary" dcs="245">
$(X)$(LOC)
</userdata>
<servicecentreaddress value="[myservicecentre]"/>
</sendsm>
</p>
</card>
</wml>
私は私の受信したメッセージに参照すると、7バイト(続く「LOC =」であるが、オクテット)またはバイナリデータ。私はこのデータを解読する方法を説明する文書を見つけようとしましたが、これを明確に説明するものは何も見つかりませんでした。デコード7つのオクテットの
、 最初の3つのオクテットは常に同じで、 次の2つのオクテットは3つのユニークな値の間で変化する傾向があり、 最後の2つのオクテットはセルIDであるように見えます。
私は最後の2オクテットをプルし、16ビットのGSMセルIDを構築するために受信機をコーディングしました。ほとんどの場合、ネットワークからの既知の細胞と一致します。しかし、しばしば、値は一致しません。
だから私は、次の情報を検索しようとしています:
- 適切な情報を復号化するためにどのようにどのように適切に安全な方法で位置情報を送信する(エンコーディング、キャスト、など)
- バイナリ位置データ私は無駄の検索に次の書類を調べたが、該当するデータを発見していませんでした
称えるためにKannelを設定する方法:をGSM 03.38、GSM 04.07、GSM 04.08、GSM 11.15、およびWIG WML Spec V .4
何が間違っているのかについての洞察があれば幸いです。
これは私のために役立ちました:最後の2オクテットを無駄に奪っても、同じまたは近くのセルのLAC値が異なっていました。さまざまなWIBプラットフォームによって送信される情報は、この仕様(SmartTrustは少なくとも)とわずかに異なるようですが、それは正しい方向への一歩であり、我々が見ているいくつかの問題の解決策を示しています。 –