2009-07-27 2 views
0

GSM 핸드셋의 WIB 메뉴를 통해 보내지는 짧은 메시지에 위치 정보를 넣으려면 WML 기능 "providelocalinfo"를 사용하고 있습니다.GSM 메시지를 짧은 메시지에 포함하기

SmartTrust의 WIG WML v.4 스펙을 사용하고 있습니다. 관련 섹션은 "9.4 providelocalinfo Element"입니다.

예와 같이 코드를 사용하고 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> 

은 내가 내받은 메시지에서 보는 것은 "LOC는 ="7 바이트 (다음에 옥텟) 또는 바이너리 데이터. 나는이 데이터를 해독하는 방법을 설명하는 문서를 찾으려고 노력했지만,이 점을 분명하게 설명하는 것은 아무것도 없다. 디코딩 7 개 옥텟

, 제 3 개 옥텟은 항상 동일 다음 2 개 옥텟 세 개의 고유 값 사이에서 변화하는 경향 마지막 2 개 옥텟은 cellid 것으로 보인다.

그래서 마지막 두 옥텟을 가져 와서 16 비트 GSM cellid를 생성하도록 수신기를 코딩했습니다. 대부분의 경우 네트워크의 알려진 세포와 일치합니다. 그러나 꽤 자주 값이 일치하지 않습니다. (캐스트 등 인코딩)

  1. 어떻게 적절하게 안전한 방식으로 위치 정보를 전송하는
  2. 어떻게 제대로
  3. 을 정보를 디코딩 :

    그래서 나는 다음에 대한 정보를 찾을려고 해요
  4. 진 위치 데이터 내 헛된 검색에 다음의 서류를 검토하지만, 관련 데이터를 찾을 수없는 한

명예 Kannel을 구성하는 방법 :를GSM 03.38, GSM 04.07, GSM 04.08, GSM 11.15 및 WIG WML Spec V .4

내가 잘못했을 수있는 것에 대한 통찰력은 인정 될 것입니다!

답변

2

위치 정보를 해독하려면 11.14 페이지를 GSM에서 볼 필요가 48

1.19 위치 정보

  Byte(s) Description           Length 
      1   Location Information tag        1 
      2   Length (X) of bytes following       1 
      3-5  Mobile Country & Network Codes (MCC & MNC)    3 
      6-7  Location Area Code (LAC)        2 
      8-9  Cell Identity Value (Cell ID)       2 

모바일 국가 코드 (MCC), 모바일 네트워크 코드 (MNC)의 위치 지역 코드 (LAC) 및 셀 ID는 TS GSM 04.08 [8]에서와 같이 코딩됩니다.

개인적인 경험에 따르면 여기에 언급 된 첫 번째 옥텟은 일반적으로 꺼져 있으므로 처음 세 바이트는 길이와 국가가 변하지 않습니다. 다음 2 개는 네트워크 운영자 코드입니다.

+0

이것은 나에게 도움이되었습니다. 마지막 두 옥텟을 순진하게 잡아 당겨도 같은 또는 인접한 셀에 대해 다른 LAC 값을 놓친 것입니다. 다른 WIB 플랫폼에서 보낸 정보는이 사양 (SmartTrust 이상)과 약간 다를 수 있지만 올바른 방향으로 나아가는 단계이며 우리가보고있는 몇 가지 문제에 대한 해결책을 나타냅니다. –

0

이 질문에 너무 많이 물지 마십시오! = "0"데이터의 하위 7 비트를 존중 (포장 전송하는 DCS가 0 DCS 같지 않은 설정으로 메시지를 보낼 수

  1. 필요를 : 나는 그들이 유용하게 찾을 수있는 경우 다른 사람에 내 연구 결과를 요약하고 싶어 각 옥텟, 최대 메시지 크기가 실제로 140 옥텟 일 때 160 문자 SMS 메시지 허용)

  2. 바이너리 안전 방식으로 데이터를 구문 분석해야합니다. 0x0A를 만나면 검색을 중지하는 정규 표현식이 실패합니다. 그 자체가 그 가치 일 수 있습니다.

  3. 나는 Kannel의 기본 구성을 변경할 필요가 없음을 알았습니다.

건배

면책 조항 : 16 비트 GSM 셀 ID의 안전한 전송은 기본적으로 구성되지 않았기 때문에 나는 단지 이해하는 몇 가지 설정을 다루는 필요합니다. 다른 기본 설정이있을 수도 있지만 달라질 수 있다는 것을 모르고 있습니다.