J'utilise la fonction WML "providelocalinfo" pour envoyer des informations de localisation dans des messages courts envoyés via un menu WIB sur un téléphone GSM. J'utilise le WIG WML v.4 Spec de SmartTrust. La section pertinente est "9.4 providelocalinfo Element"Incorporation de cellulites GSM dans des messages courts
J'utilise le code comme dans l'exemple, puis je transmets la variable via SMS, et j'utilise Kannel pour récupérer le message du SMSC.
Voici le code que j'utilise, à l'exception de [myservicecentre] étant mon centre de service réel:
<?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>
Ce que je vois dans mes messages reçus est « loc = » suivi de 7 octets (octets) ou des données binaires. J'ai essayé de trouver une documentation expliquant comment décoder ces données, mais je n'ai rien trouvé qui explique cela clairement.
Des décodés 7 octets, les 3 premiers octets sont toujours les mêmes, Les 2 octets suivants ont tendance à varier entre trois valeurs uniques, les 2 derniers octets semblent être le CellID. J'ai donc codé le récepteur pour tirer les deux derniers octets et construire un cellid GSM 16-bit. La plupart du temps, cela correspond aux cellidés connus du réseau. Mais assez souvent, la valeur ne correspond pas.
Je suis en train de trouver des informations sur les points suivants:
- Comment transmettre correctement les informations de localisation de manière sûre (encodages, moulages, etc.)
- Comment décoder les informations correctement
- Comment configurer Kannel pour honorer les données de localisation binaire
Je l'ai examiné les documents suivants dans ma recherche vaine, mais pas trouvé les données pertinentes: GSM 03.38, GSM 04.07, GSM 04.08, GSM 11.15, ainsi que le WIG WML Spec V .4
Tout aperçu de ce que je pourrais faire mal serait apprécié!
Cela a été utile pour moi: saisir naïvement les deux derniers octets a manqué différentes valeurs LAC pour les mêmes cellules ou à proximité. Les informations envoyées par les différentes plates-formes WIB semblent varier légèrement de cette spécification (au moins SmartTrust), mais c'est un pas dans la bonne direction et indique une solution pour certains problèmes que nous avons vu. –