ota_prov_attr.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:16k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * ota_prov_attr.h: binary encoded XML tag constants for the OTA provisioning
  3.  *
  4.  * In order to make handsets accept browser settings sent over the air, the
  5.  * settings must be provided in a binary encoded XML document with a specific
  6.  * MIME-type depending on the setting type. The settings must be pushed over
  7.  * SMS to a predefined WDP (Wireless Datagram Protocol) port (49999) as a WSP
  8.  * (Wirless Session Protocol) connection less unsecure push. Handsets able to
  9.  * receive settings over the air must always listen on this port.
  10.  * 
  11.  * Two setting MIME-types are defined:
  12.  *
  13.  *  - application/x-wap-prov.browser-settings
  14.  *  - application/x-wap-prov.browser-bookmarks
  15.  *
  16.  * Description of the XML DTD (Document Type Definition):
  17.  *
  18.  *   <!ELEMENT CHARACTERISTIC-LIST(CHARACTERISTIC)+>
  19.  *   <!ELEMENT CHARACTERISTIC(PARM*)>
  20.  *   <!ATTLIST CHARACTERISTIC
  21.  *     TYPE     CDATA       #REQUIRED
  22.  *     VALUE    CDATA       #IMPLIED
  23.  *   >
  24.  *   <!ELEMENT PARM EMPTY>
  25.  *   <!ATTLIST PARM
  26.  *     NAME     CDATA       #REQUIRED
  27.  *     VALUE    CDATA       #REQUIRED
  28.  *   >
  29.  *
  30.  * Simple example of a XML document:
  31.  *
  32.  *   <?xml version="1.0"?>
  33.  *   <!DOCTYPE CHARACTERISTIC-LIST SYSTEM "/DTD/characteristic_list.xml">
  34.  *   <CHARACTERISTIC-LIST>
  35.  *      <CHARACTERISTIC TYPE="ADDRESS">
  36.  *          <PARM NAME="BEARER" VALUE="GSM/CSD"/>
  37.  *          <PARM NAME="PROXY" VALUE="10.11.12.13"/>
  38.  *          <PARM NAME="CSD_DIALSTRING" VALUE="013456789"/>
  39.  *          <PARM NAME="PPP_AUTHTYPE" VALUE="PAP"/>
  40.  *          <PARM NAME="PPP_AUTHNAME" VALUE="wapusr"/>
  41.  *          <PARM NAME="PPP_AUTHSECRET" VALUE"thepasswd"/>
  42.  *      </CHARACTERISTIC>
  43.  *      <CHARACTERISTIC TYPE="NAME">
  44.  *          <PARM NAME="NAME" VALUE="Our company's WAP settings"/>
  45.  *      </CHARACTERISTIC>
  46.  *      <CHARACTERISTIC TYPE="URL" VALUE="http://wap.company.com"/>
  47.  *      <CHARACTERISTIC TYPE="MMSURL" VALUE="http://mms.company.com"/>
  48.  *      <CHARACTERISTIC TYPE="BOOKMARK">
  49.  *          <PARM NAME="NAME" VALUE="Our company's WAP site"/>
  50.  *          <PARM NAME="URL" VALUE="http://wap.company.com"/>
  51.  *      </CHARACTERISTIC>
  52.  *   </CHARACTERISTIC-LIST>
  53.  *
  54.  * (based upon the Nokia Over The Air Settings Specification)
  55.  *
  56.  * initial re-engineered code by Yann Muller - 3G Lab, 2000.
  57.  * fixed to support official specs by Stipe Tolj - Wapme Systems AG, 2001.
  58.  * extensive inline documentation by Stipe Tolj - Wapme Systems AG, 2001.
  59.  */
  60.  /*
  61.   * The XML document which is build in smsbox.c:smsbox_req_sendota() is
  62.   * binary encoded according to WBXML with the following global tokens
  63.   */
  64. #define WBXML_TOK_END_STR_I             0x00
  65. #define WBXML_TOK_END                   0x01
  66. #define WBXML_TOK_STR_I                 0x03
  67. /********************************************************************
  68.  * Description of the single XML tag tokens
  69.  */
  70. #define WBXML_TOK_CHARACTERISTIC_LIST   0x05
  71. /*
  72.  * This element groups the browser settings into logical different types:
  73.  * ADDRESS, BOOKMARK, URL, MMSURL, NAME and ID.
  74.  */
  75. #define WBXML_TOK_CHARACTERISTIC        0x06
  76. /*
  77.  * The PARM element is used to provide the actual value for the individual
  78.  * settings parameters within each CHARACTERISTIC element.
  79.  */
  80. #define WBXML_TOK_PARM                  0x07
  81. /*
  82.  * Tokens representing the NAME or VALUE tags 
  83.  */
  84. #define WBXML_TOK_NAME                  0x10
  85. #define WBXML_TOK_VALUE                 0x11
  86. /******************************************************************** 
  87.  * CHARACTERISTIC elements with TYPE=ADDRESS 
  88.  * 
  89.  * Characteristics elements with the TYPE=ADDRESS attribute embrace settings
  90.  * concerning a particular bearer, e.g. GSM/SMS or GSM/CSD. Several address
  91.  * settings can be provided in one document. However, for each bearer, only
  92.  * the address settings listed first will be used. The type of the bearer is
  93.  * specified by a PARM attribute and depending on the bearer additional PARM
  94.  * elements are required or optional.
  95.  *
  96.  * Example:
  97.  *
  98.  *      <CHARACTERISTIC TYPE="ADDRESS">
  99.  *          <PARM NAME="BEARER" VALUE="GSM/CSD"/>
  100.  *          <PARM NAME="PROXY" VALUE="10.11.12.13"/>
  101.  *          <PARM NAME="CSD_DIALSTRING" VALUE="013456789"/>
  102.  *          <PARM NAME="PPP_AUTHTYPE" VALUE="PAP"/>
  103.  *          <PARM NAME="PPP_AUTHNAME" VALUE="wapusr"/>
  104.  *          <PARM NAME="PPP_AUTHSECRET" VALUE"thepasswd"/>
  105.  *      </CHARACTERISTIC>
  106.  */
  107. #define WBXML_TOK_TYPE_ADDRESS          0x06
  108. /*
  109.  * The PARM element with NAME=BEARER attribute is used to identify the bearer
  110.  * to be used for a specific setting set. VALUE can be assigned following:
  111.  *
  112.  *   VALUE -> [*GSM_CSD*|GSM_SMS|GSM_USSD|IS136_CSD|GPRS]
  113.  */
  114. #define WBXML_TOK_NAME_BEARER           0x12
  115. #define WBXML_TOK_VALUE_GSM_CSD         0x45
  116. #define WBXML_TOK_VALUE_GSM_SMS         0x46
  117. #define WBXML_TOK_VALUE_GSM_USSD        0x47
  118. #define WBXML_TOK_VALUE_IS136_CSD       0x48
  119. #define WBXML_TOK_VALUE_GPRS            0x49
  120. /*
  121.  * The PARM element with NAME=PROXY attribute is used to identify the IP
  122.  * address of the WAP proxy in case of CSD and the service number in case of
  123.  * SMS. In case of USSD the PROXY can be either an IP address or an MSISDN
  124.  * number. This is indicated in the PROXY_TYPE PARM element. VALUE can be 
  125.  * assigned following:
  126.  *
  127.  *   VALUE -> proxy(using inline string)
  128.  */
  129. #define WBXML_TOK_NAME_PROXY            0x13
  130. /*
  131.  * The PARM element with NAME=PORT attribute specifies whether connection less
  132.  * or connection oriented connections should be used. VALUE can be assigned
  133.  * following:
  134.  *
  135.  *   VALUE -> [*9200*|9201|9202|9203]
  136.  *
  137.  * Use 9200 (or 9202) for connection less connections and 9201 (or 9203) for
  138.  * connection oriented connections. Port numbers 9202 and 9203 enable secure
  139.  * connections (by means of WTLS), whereas port numbers 9200 and 9201 disable
  140.  * secure connections.
  141.  */
  142. #define WBXML_TOK_NAME_PORT             0x14
  143. #define WBXML_TOK_VALUE_PORT_9200       0x60
  144. #define WBXML_TOK_VALUE_PORT_9201       0x61
  145. #define WBXML_TOK_VALUE_PORT_9202       0x62
  146. #define WBXML_TOK_VALUE_PORT_9203       0x63
  147. /*
  148.  * The PARM element with the NAME=PROXY_TYPE attribute is used to identify 
  149.  * the format of the PROXY PARM element. VALUE can be assigned following:
  150.  *
  151.  *   VALUE -> [*MSISDN_NO*|IPV4]
  152.  */
  153. #define WBXML_TOK_NAME_PROXY_TYPE       0x16
  154. #define WBXML_TOK_VALUE_MSISDN_NO       0x76
  155. #define WBXML_TOK_VALUE_IPV4            0x77
  156. /*
  157.  * The PARM elements with the NAME=PROXY_AUTHNAME and NAME=PROXY_AUTHSECRET
  158.  * attributes indicates the login name and password to be used for gateway 
  159.  * required authentication. Support of this PARM elements is manufacturer 
  160.  * specific. VALUEs can be assigned following:
  161.  *
  162.  *   VALUE -> login name(using inline string)
  163.  *   VALUE -> password(using inline string)
  164.  */
  165. #define WBXML_TOK_NAME_PROXY_AUTHNAME       0x18
  166. #define WBXML_TOK_NAME_PROXY_AUTHSECRET     0x19
  167. /*
  168.  * The PARM element with the NAME=PROXY_LOGINTYPE attribute specifies whether
  169.  * an automatic or manual login should be performed at the proxy. VALUE can
  170.  * be assigned following:
  171.  *
  172.  *   VALUE -> [AUTOMATIC|MANUAL]
  173.  *
  174.  * Using the MANUAL logintype the user will be prompted for username and 
  175.  * password when a browse session is started. Using the AUTOMATIC logintype
  176.  * the user will be NOT prompted for username and password when a browse
  177.  * session is started, but a static name and password from the WAP settingset
  178.  * will be used.
  179.  */
  180. #define WBXML_TOK_NAME_PROXY_LOGINTYPE      0x1E
  181. #define WBXML_TOK_VALUE_AUTOMATIC           0x64
  182. #define WBXML_TOK_VALUE_MANUAL              0x65
  183. /*
  184.  * The PARM element with the NAME=PPP_AUTHTYPE attribute indicates which 
  185.  * protocol to use for user authentication. VALUE can be assigned following:
  186.  *
  187.  *   VALUE -> [*PAP*|CHAP|MS_CHAP]
  188.  *
  189.  * PAP is short for Password Authentication Protocol, a type of authentication
  190.  * which uses clear-text passwords and is the least sophisticated 
  191.  * authentication protocol, and CHAP stands for Challenge Handshake 
  192.  * Authentication Protocol, a protocol used to negotiate the most secure form
  193.  * of encrypted authentication supported by both server and client. MS_CHAP
  194.  * (Microsoft(tm)-CHAP) is similar to the CHAP protocol, but is using an 
  195.  * encryption scheme that is alternative to the one used for CHAP.
  196.  */
  197. #define WBXML_TOK_NAME_PPP_AUTHTYPE         0x22
  198. #define WBXML_TOK_VALUE_AUTH_PAP            0x70
  199. #define WBXML_TOK_VALUE_AUTH_CHAP           0x71
  200. #define WBXML_TOK_VALUE_AUTH_MS_CHAP        0x78
  201. /*
  202.  * The PARM elements with the NAME=PPP_AUTHNAME and NAME=PPP_AUTHSECRET
  203.  * attributes indicate the login name and password to be used. VALUEs can be 
  204.  * assigned following:
  205.  *
  206.  *   VALUE -> login name(using inline string)
  207.  *   VALUE -> password(using inline string)
  208.  *
  209.  * Maximum length of login name is 32 bytes.
  210.  * Maximum length of password is 20 bytes.
  211.  */
  212. #define WBXML_TOK_NAME_PPP_AUTHNAME         0x23
  213. #define WBXML_TOK_NAME_PPP_AUTHSECRET       0x24
  214. /*
  215.  * The PARM element with the NAME=PPP_LOGINTYPE attribute specifies whether an
  216.  * automatic or manual login should be performed in the PPP negotiation at the
  217.  * access point of the service provider. VALUE can be assigned following
  218.  *
  219.  *   VALUE -> [AUTOMATIC|MANUAL]
  220.  *
  221.  * (same impacts as for PROXY_LOGINTYPE)
  222.  */
  223. #define WBXML_TOK_NAME_PPP_LOGINTYPE        0x1D
  224. /*
  225.  * The PARM element with the NAME=CSD_DIALSTRING attribute specifies the 
  226.  * MSISDN number of the modem pool. VALUE can be assigned following:
  227.  *
  228.  *   VALUE -> msisdn number(using inline string)
  229.  *
  230.  * Maximum length of msisdn number is 21 bytes.
  231.  */
  232. #define WBXML_TOK_NAME_CSD_DIALSTRING       0x21
  233. /*
  234.  * The PARM element with the NAME=CSD_CALLTYPE attribute indicates the type
  235.  * of circuit switched call to be used for connection. VALUE can be assigned
  236.  * following:
  237.  *
  238.  *   VALUE -> [*ANALOGUE*|ISDN]
  239.  * 
  240.  * (In general the call type should be set to ANALOGUE since ISDN is not 
  241.  * generaly available on all networks.)
  242.  */
  243. #define WBXML_TOK_NAME_CSD_CALLTYPE         0x28
  244. #define WBXML_TOK_VALUE_CONN_ANALOGUE       0x72
  245. #define WBXML_TOK_VALUE_CONN_ISDN           0x73
  246. /*
  247.  * The PARM element with the NAME=CSD_CALLSPEED attribute indicates the 
  248.  * desired call speed to be used for the connection. VALUE can be assgined
  249.  * following:
  250.  *
  251.  *   VALUE -> [*AUTO*|*9600*|14400|19200|28800|38400|43200|57600]
  252.  *
  253.  * Default value is AUTO when CSD_CALLTYPE is ANALOGUE and 9600 when 
  254.  * CSD_CALLTYPE is ISDN.
  255.  */
  256. #define WBXML_TOK_NAME_CSD_CALLSPEED        0x29
  257. #define WBXML_TOK_VALUE_SPEED_AUTO          0x6A
  258. #define WBXML_TOK_VALUE_SPEED_9600          0x6B
  259. #define WBXML_TOK_VALUE_SPEED_14400         0x6C
  260. #define WBXML_TOK_VALUE_SPEED_19200         0x6D
  261. #define WBXML_TOK_VALUE_SPEED_28800         0x6E
  262. #define WBXML_TOK_VALUE_SPEED_38400         0x6F
  263. #define WBXML_TOK_VALUE_SPEED_43200         0x74
  264. #define WBXML_TOK_VALUE_SPEED_57600         0x75
  265. /*
  266.  * The PARM element with the NAME=ISP_NAME attribute indicates the name of the
  267.  * Internet Service Provider. Support of this PARM element is manufacturer
  268.  * specific. VALUE can be assigned following:
  269.  *
  270.  *   VALUE -> isp name(using inline string)
  271.  *
  272.  * Maximum length of isp name is 20 bytes.
  273.  */
  274. #define WBXML_TOK_NAME_ISP_NAME             0x7E
  275. /*
  276.  * The PARM element with the NAME=SMS_SMSC_ADDRESS attribute indicates the 
  277.  * MSISDN number of the SMS Service Center (SMSC). VALUE can be assigned
  278.  * following:
  279.  *
  280.  *   VALUE -> sms smsc address(using inline string)
  281.  *
  282.  * Maximum length of sms smsc address is 21 bytes.
  283.  */
  284. #define WBXML_TOK_NAME_SMS_SMSC_ADDRESS     0x1A
  285. /*
  286.  * The PARM element with the name NAME=USSD_SERVICE_CODE attribute indicates
  287.  * the USSD service code. VALUE can be assigned following:
  288.  *
  289.  *   VALUE -> ussd service code(using inline string)
  290.  * 
  291.  * Maximum length of ussd service code is 10 bytes.
  292.  */
  293. #define WBXML_TOK_NAME_USSD_SERVICE_CODE    0x1B
  294. /*
  295.  * The PARM element with the NAME=GPRS_ACCESSPOINTNAME attribute indicates
  296.  * the access point name on Gateway GRPS Support Nodes (GGSN). Allowed
  297.  * characters are: ['a'-'z','A'-'Z','0'-'9','.','-','*']
  298.  *
  299.  *   VALUE -> acess point name(using inline string)
  300.  *
  301.  * Maximum length of access point name is 100 bytes.
  302.  */
  303. #define WBXML_TOK_NAME_GPRS_ACCESSPOINTNAME 0x1C
  304. /******************************************************************** 
  305.  * CHARACTERISTIC elements with TYPE=URL 
  306.  * 
  307.  * The CHARACTERISTIC element with the TYPE=URL attribute has only one 
  308.  * attribute which indicates the URL of the home page. VALUES can be assigned
  309.  * following:
  310.  *
  311.  *   VALUE -> url(using inline string)
  312.  *
  313.  * Maximum length of URL is 100 bytes.
  314.  *
  315.  * Example:
  316.  *
  317.  *      <CHARACTERISTIC TYPE="URL" VALUE="http://wap.company.com"/>
  318.  */
  319. #define WBXML_TOK_TYPE_URL                  0x07
  320. /******************************************************************** 
  321.  * CHARACTERISTIC elements with TYPE=MMSURL 
  322.  * 
  323.  * The CHARACTERISTIC element with the TYPE=MMSURL attribute has only one 
  324.  * attribute which indicates the URL of the MMSC. VALUES can be assigned
  325.  * following:
  326.  *
  327.  *   VALUE -> url(using inline string)
  328.  *
  329.  * Maximum length of URL is 100 bytes.
  330.  *
  331.  * Example:
  332.  *
  333.  *      <CHARACTERISTIC TYPE="MMSURL" VALUE="http://wap.company.com/mmsc"/>
  334.  */
  335. #define WBXML_TOK_TYPE_MMSURL               0x7C
  336. /******************************************************************** 
  337.  * CHARACTERISTIC elements with TYPE=NAME 
  338.  *
  339.  * This element type must contain exactly one PARM element with NAME=NAME,
  340.  * which states the user-recognisable name to apply for the settings. The 
  341.  * VALUE of the PARM element can be assigned following:
  342.  *
  343.  *   VALUE -> name(using inline string)
  344.  *
  345.  * Maximum length of name is 20 bytes.
  346.  *
  347.  * Example:
  348.  * 
  349.  *      <CHARACTERISTIC TYPE="NAME">
  350.  *          <PARM NAME="NAME" VALUE="Our company's WAP settings"/>
  351.  *      </CHARACTERISTIC>
  352.  */
  353. #define WBXML_TOK_TYPE_NAME                 0x08
  354. /******************************************************************** 
  355.  * CHARACTERISTIC elements with TYPE=BOOKMARK 
  356.  *
  357.  * This element must contain exactly two PARM elements, which define the 
  358.  * name and URL for a homepage or for bookmarks.
  359.  *
  360.  * When this element is used with the MIME-type *.browser-settings the first
  361.  * element indicates the homepage to be used together with the corresponding
  362.  * settings. Note that the URL included in this element and the CHARACTERISTIC
  363.  * element TYPE=URL are both required to define a homepage and their content
  364.  * must be equal. A homepage and several bookmarks can be provided in one
  365.  * document of the MIME-type referred to above. However, the maximum number of
  366.  * bookmarks accepted is manufacturer specific.
  367.  *
  368.  * When this element is used with the MIME-type *.browser-bookmarks the 
  369.  * element indicates bookmarks only
  370.  *
  371.  * Example:
  372.  *
  373.  *      <CHARACTERISTIC TYPE="BOOKMARK">
  374.  *          <PARM NAME="NAME" VALUE="Our company's WAP site"/>
  375.  *          <PARM NAME="URL" VALUE="http://wap.company.com"/>
  376.  *      </CHARACTERISTIC>
  377.  */
  378. #define WBXML_TOK_TYPE_BOOKMARK             0x7F
  379. /*
  380.  * The PARM element with the NAME=NAME attribute indicates the name of the
  381.  * bookmark or homepage. VALUE can be assigned following:
  382.  *
  383.  *   VALUE -> bookmark name(using inline string)
  384.  *
  385.  * Maximum length of bookmark name is 50 bytes.
  386.  */
  387. #define WBXML_TOK_NAME_NAME                 0x15
  388. /*
  389.  * The PARM element with the NAME=URL attribute indicates the URL of the
  390.  * bookmark or homepage. VALUE can be assigned following:
  391.  *
  392.  *   VALUE -> bookmark url(using inline string)
  393.  *
  394.  * Maximum length of bookmark url is 255 bytes.
  395.  */
  396. #define WBXML_TOK_NAME_URL                  0x17
  397. /******************************************************************** 
  398.  * CHARACTERISTIC elements with TYPE=ID 
  399.  *
  400.  * This element type must contain exactly one PARM element, which defines an
  401.  * ID to be used to provide some security to the provisioning application. 
  402.  * The ID should be known by the subscriber through the subscription or 
  403.  * through other communication with the operator. When provisioning data
  404.  * containing the ID is received the user is able to verify the received ID
  405.  * with the ID previously received by other means from the operator. Support
  406.  * of this CHARACTERISTIC element is manufacturer specific.
  407.  *
  408.  * Example:
  409.  *
  410.  *      <CHARACTERISTIC TYPE="ID">
  411.  *          <PARM NAME="NAME" VALUE="12345678"/>
  412.  *      </CHARACTERISTIC>
  413.  */
  414. #define WBXML_TOK_TYPE_ID                   0x7D
  415. /*
  416.  * The PARM elment with the NAME=NAME attribute indicates the ID. VALUE can be
  417.  * assigned following:
  418.  *
  419.  *   VALUE -> id(using inline string)
  420.  *
  421.  * Maximum length of id is 8 bytes.
  422.  */
  423. /* end of ota_prov_attr.h */