2011-12-23 4 views
2

Прошу отправить сообщение wap push. Я набор datacoding 0xf5 и отправить отправить УУ следующее сообщение:Отправка wap push

GSM Служба коротких сообщений пользовательских данных

 
    udh length: 6 
    16-bit address 05 04 
    Destination port 08b4 
    Source port 23f0 

Протокол беспроводного сеанса, метод: Нажмите (0x06), Content-Type: применение/vnd.wap. так

 
    Transaction Id: 0x25 
    PDU Type: Push (0x06) 
    Header length: 1 
    Content type: application/vnd.wap.sic 

WAP Binary XML, версия: 1.2, Public ID: "- // WAPFORUM // DTD SI 1.0 // EN (Service Индикация 1 +0,0)"

 
    Version: 1.2 (0x02) 
    Public Identifier: (known): -//WAPFORUM//DTD SI 1.0//EN (Service Indication 1 .0) 
    Character Set: utf-8 (0x000006a) 
    String table: 0 bytes 
представление

данных:

 
    45 <si> 
    c6 <indication 
    0c href='http://' 
    03 69 2e 69 6d 67 75 72 2e 63 6f 6d 2f 66 6a 49 44 4e 2e 6a 70 67 00 i.imgur.com/fjIDN.jpg' 
    07 action='signal-medium' 
    01 > 
    03 69 6d 67 75 72 00 'imgur' 
    01 </indication> 
    01 </si> 

Сообщение байтами:

 
    06 05 04 0b 84 23 f0 25 06 01 ae 02 05 6a 00 45 
    c6 0c 03 69 2e 69 6d 67 75 72 2e 63 6f 6d 2f 66 
    6a 49 44 4e 2e 6a 70 67 00 07 01 03 69 6d 67 75 
    72 00 01 01 

SMSC возвращение: submit_sm - соответственно: "OK". Но телефон ничего не показывал. Есть идеи? Извините за мой уродский английский :)

ответ

3

Я не могу полностью обосновать, почему эти изменения работают, но из-за обширного тестирования несколько лет назад казалось, что они надежно работают в сетях Великобритании и разных телефонах. Он используется в производственном кодексе, и с тех пор мы не видели никаких проблем.

06 - UDHL 
05 - EI (Send to Ports 16bit addr) 
04 - EIDL 
0B - src port 
84 - src port 
23 - dest port 
F0 - dest port (End of UDH) 

01 - trans id 
06 - Push 
04 - Header Length 
03 - Length 
AE - Content type (application/vnd.wap.sic) 
81 - Character Set (01 once removed high bit) 
EA - UTF 8 (6A once removed high bit) 

02 - Binary XML Version 1.2 
05 - SI Identifier 
6A - UTF-8 
00 - End Data 

45 - SI Binary XML Tag 
C6 - Indication Tag 
0B - href 
03 - Open Text 
    (URL bytes go here...) 
00 - End Data 
0A - Created (date) 
C3 - Data Follows 
07 - Data Length 
20 - date yy (century) 
08 - date yy (year) 
03 - date mm 
26 - date dd 
16 - date HH 
09 - date MM 
12 - date ss 
01 - Close Attribute 
03 - Open Text (Text Goes in here...) 
00 - End Data 
01 - Close Indication Tag 
01 - Close SI Tag 

Есть несколько отличий в ваш посыл:

  1. UTF-8 символов набора, указанного в заголовке протокола Session Wireless
  2. HTTP: // записывается в полном виде байт, я дон Не думаю, что это имело значение, но это требовалось остальной частью нашего приложения.
  3. Никаких действий с меткой индикации
  4. Добавлен созданный атрибут даты. Это, казалось, в значительной степени повлияло на поддержку телефона (я не совсем уверен, почему).
Смежные вопросы