第一部分 体系结构 1
第1章 无线应用协议体系结构规范 1
1.1 范围 1
1.2 研究背景 1
1.2.1 研究目的 1
1.2.2 要求 2
1.3 体系结构概述 3
1.3.1 万维网模型 3
1.3.2 WAP模型 4
1.3.3 WAP网络示例 5
1.3.4 安全模型 6
1.4 WAP体系结构的组成 6
1.4.1 无线应用环境 6
1.4.2 无线会话协议 7
1.4.3 无线事务协议 7
1.4.4 无线传输层安全 7
1.4.5 无线数据报协议 8
1.4.6 承载 8
1.4.7 其他的服务和应用 8
1.4.8 WAP协议典型的搭配 9
1.5 一致性与互通性 9
1.6 未来的工作内容 10
1.7 术语定义 10
1.8 缩略语 11
1.9 参考标准 12
1.10 参考资料 13
第二部分 应用层 15
第2章 无线应用环境概述 15
2.1 范围 15
2.2 WAE文档 15
2.2.1 WAE文档集 15
2.2.2 文档结构 16
2.3 WAE的工作计划 16
2.3.1 研究背景 16
2.3.2 努力方向 16
2.3.3 目标和要求 18
2.4 WAE体系结构概述 18
2.4.1 WWW模型 18
2.4.2 WAE模型 19
2.4.3 URL命名 21
2.4.4 WAE的组成 22
2.4.5 WML和WMLScript交换 26
2.4.6 国际化 28
2.4.7 安全和接入控制 28
2.5 WTA体系结构概述 28
2.5.1 WTA框架的组成部分 29
2.5.2 特定的电话交换 30
2.6 术语定义 31
2.7 缩略语 33
2.8 参考标准 34
2.9 参考资料 35
第3章 无线应用环境规范 36
3.1 范围 36
3.2 WAE规范 36
3.3 无线位图格式 40
3.3.1 WBMP类型标识符 40
3.3.2 WBMP语法 41
3.3.3 WBMP头的数据结构 42
3.3.4 图像数据结构 43
3.3.5 最小需要的实现 43
3.4 日历和电话簿 43
3.4.1 数据格式 43
3.4.2 数据传输 43
3.4.3 终端需要的行为 44
3.5 术语定义 44
3.6 缩略语 45
3.7 参考标准 46
3.8 参考资料 47
3.9 WBMP类型的明确定义标准 48
第4章 无线标记语言规范 49
4.1 范围 49
4.2 WML和URL 50
4.2.1 URL方案 50
4.2.2 字段锚 50
4.2.3 相对URL 50
4.3 WML字符集 51
4.3.1 参考处理模型 51
4.3.2 字符实体 51
4.4 WML语法 51
4.4.1 实体 52
4.4.2 元素 52
4.4.3 属性 52
4.4.4 注解 52
4.4.5 变量 52
4.4.6 区分大小写 53
4.4.7 CDATA部分 53
4.4.8 处理指令 53
4.4.9 错误 53
4.5 核心WML数据类型 53
4.5.1 字符数据 53
4.5.2 长度 53
4.5.3 Vdata 54
4.5.4 流和内联 54
4.5.5 URL 54
4.5.6 布尔型 54
4.5.7 数字类型 54
4.6 事件和导航 54
4.6.1 导航和事件处理 54
4.6.2 历史 54
4.6.3 VAR元素 55
4.6.4 任务 55
4.6.5 卡片/页面间的任务遮盖 57
4.6.6 DO元素 58
4.6.7 A元素 60
4.6.8 内部事件 60
4.7 状态模型 62
4.7.1 浏览器上下文 62
4.7.2 NEWCONTEXT属性 62
4.7.3 变量 62
4.8 WML页面结构 65
4.8.1 文档序言 65
4.8.2 WML元素 65
4.8.3 HEAD元素 66
4.8.4 TEMPLATE元素 67
4.8.5 卡片元素 68
4.8.6 控制元素 70
4.8.7 TIMER元素 76
4.8.8 文本 77
4.8.9 图像 81
4.9 用户代理的语义 82
4.9.1 页面接入控制 82
4.9.2 低存储特性 83
4.9.3 错误处理 83
4.9.4 未知的DTD 83
4.9.5 卡间导航的参考处理特性 83
4.10 WML参考信息 85
4.10.1 文档标识符 85
4.10.2 文档类型定义 85
4.11 WML紧凑二进制表示 89
4.11.1 扩展记号 89
4.11.2 编码语义 90
4.11.3 数字常量 90
4.11.4 WML编码示例 93
4.12 术语定义 94
4.13 缩略语 95
4.14 参考标准 96
4.15 参考资料 97
第5章 二进制XML内容格式规范 98
5.1 范围 98
5.2 二进制XML内容结构 98
5.2.1 多字节整数 98
5.2.2 字符编码 99
5.2.3 文档结构的BNF 99
5.2.4 版本号 100
5.2.5 文档公共标识符 100
5.2.6 字符串表 100
5.2.7 记号结构 100
5.3 编码语义 104
5.3.1 文档标记 104
5.3.2 文档结构的顺从性 105
5.3.3 默认属性值的编码 105
5.4 数字常量 105
5.4.1 全局记号 105
5.4.2 公共标识符 106
5.5 编码示例 106
5.5.1 一个简单的XML文档 106
5.5.2 一个扩展的示例 107
5.6 术语定义 109
5.7 缩略语 110
5.8 参考标准 110
5.9 参考资料 111
第6章 WMLScript语言规范 112
6.1 范围 112
6.2 概述 112
6.2.1 为什么需要脚本 112
6.2.2 使用WMLScript的好处 113
6.3 WMLScript的核心 113
6.3.1 词汇结构 113
6.3.2 变量和数据类型 117
6.3.3 运算符和表达式 120
6.3.4 函数 125
6.3.5 语句 127
6.3.6 函数库 131
6.3.7 编译指示 131
6.4 数据类型的自动转换规则 134
6.4.1 基本的转换规则 134
6.4.2 运算符数据类型的转换规则 136
6.4.3 运算符和类型转换的总结 138
6.5 WMLScript文法 139
6.5.1 上下文无关文法 139
6.5.2 WMLScript词汇文法 142
6.5.3 WMLScript句子文法 146
6.5.4 数字字符串的文法 150
6.6 WMLScript字节码的解释器 151
6.6.1 解释器结构 151
6.6.2 WMLScript和URL 152
6.6.3 字节码语义 155
6.6.4 访问控制 156
6.7 WMLScript的二进形式 156
6.7.1 习惯用法 156
6.7.2 WMLScript字节码 157
6.7.3 字节码码头 158
6.7.4 常量池 158
6.7.5 编译指示池 160
6.7.6 函数池 162
6.7.7 指标限度 163
6.8 WMLScript指令集 164
6.8.1 约定规则 164
6.8.2 致命的错误 164
6.8.3 优化 164
6.8.4 符号约定 165
6.8.5 指令 165
6.9 字节码校验 184
6.9.1 完整性检查 184
6.9.2 运行有效性检查 185
6.10 运行错误检测和处理 185
6.10.1 错误检测 185
6.10.2 错误处理 186
6.10.3 致命错误 186
6.10.4 非致命错误 188
6.10.5 库调用及相关错误 191
6.11 仅支持整型数的设备 191
6.12 内容类型 191
6.13 术语定义 191
6.14 缩略语 192
6.15 参考标准 193
6.16 参考资料 194
第7章 WMLScript标准库规范 195
7.1 范围 195
7.2 符号说明 195
7.3 WMLScript的顺从性 196
7.3.1 支持的数据类型 196
7.3.2 数据类型转换 196
7.3.3 错误处理 196
7.3.4 对整型设备的支持 197
7.4 Lang函数库 197
7.4.1 abs函数 197
7.4.2 min函数 197
7.4.3 max函数 198
7.4.4 parseInt函数 198
7.4.5 parseFloat函数 199
7.4.6 isInt函数 199
7.4.7 isFloat函数 200
7.4.8 maxInt函数 200
7.4.9 minInt函数 200
7.4.10 float函数 200
7.4.11 exit函数 201
7.4.12 abort函数 201
7.4.13 random函数 201
7.4.14 seed函数 202
7.5 Float函数库 202
7.5.1 int函数 202
7.5.2 floor函数 203
7.5.3 ceil函数 203
7.5.4 pow函数 203
7.5.5 round函数 203
7.5.6 sqrt函数 204
7.5.7 maxFloat函数 204
7.5.8 minFloat函数 204
7.6 String函数库 205
7.6.1 length函数 205
7.6.2 isEmpty函数 205
7.6.3 charAt函数 206
7.6.4 subString函数 206
7.6.5 find函数 207
7.6.6 replace函数 207
7.6.7 elements函数 208
7.6.8 elementAt函数 208
7.6.9 removeAt函数 208
7.6.10 replaceAt函数 209
7.6.11 insertAt函数 209
7.6.12 squeeze函数 210
7.6.13 trim函数 210
7.6.14 compare函数 211
7.6.15 toString函数 211
7.6.16 format函数 211
7.7 URL函数库 213
7.7.1 isValid函数 213
7.7.2 getScheme函数 213
7.7.3 getHost函数 214
7.7.4 getPort函数 214
7.7.5 getPath函数 214
7.7.6 getParameters函数 215
7.7.7 getQuery函数 215
7.7.8 getFragment函数 215
7.7.9 getBase函数 216
7.7.10 getReferer函数 216
7.7.11 resolve函数 216
7.7.12 escape函数 217
7.7.13 unescape函数 217
7.7.14 escapeString函数 218
7.7.15 unescapeString函数 218
7.7.16 loadString函数 218
7.8 WMLBrowser函数库 219
7.8.1 getVar函数 219
7.8.2 setVar函数 219
7.8.3 go函数 220
7.8.4 prev函数 220
7.8.5 newContext函数 221
7.8.6 getCurrentCard函数 221
7.8.7 refresh函数 221
7.9 Dialogs函数库 221
7.9.1 prompt函数 222
7.9.2 confirm函数 222
7.9.3 alert函数 222
7.10 术语定义 223
7.11 缩略语 223
7.12 参考标准 224
7.13 参考资料 225
7.14 函数库小结 225
第8章 WMLScript工作意向说明 227
第9章 无线电话应用接口规范 228
9.1 范围 228
9.2 WTA研究背景 228
9.2.1 WTAI函数库 228
9.2.2 事件处理 229
9.3 WTA接口 229
9.3.1 WTAI函数库 229
9.3.2 WTAI的API间隔符 229
9.3.3 WTAI的URI方案 230
9.3.4 WTAI函数定义格式 230
9.4 公共的WTA 230
9.5 通用网络的WTA 231
9.5.1 网络事件 231
9.5.2 呼叫控制 232
9.5.3 网络文本 234
9.5.4 电话簿 236
9.5.5 其他库 238
9.6 术语定义 239
9.7 缩略语 239
9.8 参考标准 240
9.9 参考资料 241
9.10 WTA的URI和WMLScript函数库 241
9.10.1 公共的WTA 241
9.10.2 网络公用WTA 241
9.11 WTAI预先确定的错误代码 242
9.12 WTAI应用举例 242
第10章 无线电话应用接口规范关于IS-136的附加说明 244
10.1 范围 244
10.2 IS-136专用库 244
10.2.1 网络事件 244
10.2.2 网络函数 244
10.2.3 发送flash码 245
10.2.4 发送告警码 245
10.3 术语定义 245
10.4 缩略语 245
10.5 参考标准 246
10.6 WTA的URI和WMLScript函数库 246
第11章 无线电话应用接口规范关于GSM的附加说明 247
11.1 范围 247
11.2 GSM专用库 247
11.2.1 网络函数 247
11.2.2 呼叫拒绝 247
11.2.3 呼叫保持 248
11.2.4 转移呼叫 248
11.2.5 多方通话 248
11.2.6 从多方通话中脱离 249
11.3 术语定义 249
11.4 缩略语 250
11.5 参考标准 250
11.6 WTA的URI和WMLScript函数库 250
第12章 无线电话应用接口规范关于PDC的附加说明 251
12.1 范围 251
12.2 PDC专用库 251
12.2.1 网络函数 251
12.2.2 呼叫拒绝 251
12.2.3 呼叫保持 252
12.2.4 转移呼叫 252
12.2.5 多方通话 252
12.2.6 从多方通话中脱离 253
12.3 术语定义 253
12.4 缩略语 254
12.5 参考标准 254
12.6 WTA的URI和WMLScript函数库 254
第13章 无线电话应用规范 255
13.1 范围 255
13.2 WTA概述 255
13.2.1 以服务器为中心和以客户端为中心的模式 256
13.2.2 用户代理特征 256
13.2.3 WTAI函数调用 257
13.2.4 WTA事件 257
13.3 支持的内容格式 258
13.3.1 性能要求 258
13.3.2 内容的序列化 259
13.3.3 以服务器为中心的模式 259
13.3.4 以客户端为中心的模式 259
13.4 WTA的URI和URL 260
13.5 用户代理的状态模型 261
13.5.1 用户代理上下文 261
13.5.2 结束上下文 261
13.5.3 变量 261
13.6 WTA事件和导航 261
13.6.1 事件处理器的优先顺序 262
13.6.2 WTA事件表 262
13.6.3 在用户代理上下文中的WTA事件绑定 263
13.7 用户代理语义 264
13.7.1 低存储空间行为 264
13.7.2 错误的处理 264
13.7.3 未知的DTD 265
13.8 WTA会话的管理 265
13.8.1 WTA会话开始 265
13.8.2 WTA会话的终止 266
13.8.3 可靠的内容“推”操作 266
13.9 WTA参考信息 266
13.9.1 文档标识符 267
13.9.2 文档类型定义(DTD) 267
13.10 WTA事件的二进制编码 267
13.10.1 扩展记号 267
13.10.2 编码语义 268
13.10.3 数字常量 268
13.10.4 WTA编码举例 268
13.11 WTA示例 269
13.11.1 提供的条件 269
13.11.2 来话呼叫 270
13.11.3 语音邮件 272
13.12 术语定义 273
13.13 缩略语 274
13.14 参考标准 275
第三部分 协议层 277
第14章 无线会话协议规范 277
14.1 范围 277
14.2 WSP体系结构概述 277
14.2.1 参考模型 277
14.2.2 WSP/B特点 278
14.3 WSP层间通信元素 280
14.3.1 使用的符号 280
14.3.2 服务原语参数类型 282
14.3.3 连接模式会话业务 283
14.3.4 无连接模式会话服务 299
14.4 WSP/B协议操作 301
14.4.1 连接模式WSP/B 301
14.4.2 无连接模式WSP/B 320
14.5 WSP/B数据单元结构和编码 321
14.5.1 数据格式 321
14.5.2 协议数据单元结构 322
14.5.3 性能编码 328
14.5.4 报头编码 332
14.5.5 多部分数据 343
14.6 术语定义 344
14.7 缩略语 346
14.8 参考标准 346
14.9 参考资料 347
14.10 号码分配 347
14.11 报头编码举例 353
14.11.1 报头值 353
14.11.2 转换报头代码页 354
14.12 实现注释 354
14.12.1 确认推事务处理和确认延迟 354
14.12.2 竞争管理 355
14.12.3 会话断开和会话挂起的优化 355
14.12.4 报头编码的解译 355
14.12.5 增加知名参数和记号 356
第15章 无线事务协议规范 357
15.1 范围 357
15.2 协议概述 357
15.2.1 协议特征 357
15.2.2 事务级别 358
15.2.3 与其他协议的关系 358
15.2.4 安全性考虑 359
15.2.5 管理实体 359
15.2.6 静态WTP的一致性条款 360
15.2.7 其他的WTP用户 361
15.3 层间通信元素 361
15.3.1 使用的符号 361
15.3.2 对下层的需求 362
15.3.3 为上一层提供的服务 363
15.4 操作的级别 364
15.4.1 第0级事务 364
15.4.2 第1级事务 365
15.4.3 第2级事务 365
15.5 协议特征 366
15.5.1 消息传送 366
15.5.2 重传直到确认 368
15.5.3 用户确认 368
15.5.4 最后确认中的信息 370
15.5.5 串联和分离 371
15.5.6 异步事务 371
15.5.7 事务放弃 372
15.5.8 事务标识符 372
15.5.9 事务标识符验证 374
15.5.10 传输信息项 375
15.5.11 参数传输 376
15.5.12 错误处理 376
15.5.13 版本处理 376
15.5.14 分割和重组 377
15.6 协议数据单元的结构和编码 378
15.6.1 概述 378
15.6.2 通用的报头字段 379
15.6.3 固定头结构 379
15.6.4 传输信息项 382
15.6.5 串联的PDU的结构 384
15.7 状态表 385
15.7.1 概述 385
15.7.2 事件处理 385
15.7.3 操作 386
15.7.4 计时器、计数器和变量 386
15.7.5 WTP发起者 388
15.7.6 WTP响应者 389
15.8 协议操作的例子 391
15.8.1 简介 391
15.8.2 第0级事务 392
15.8.3 第1级事务 392
15.8.4 第2级事务 392
15.8.5 事务标识符验证 393
15.8.6 分割和重组 394
15.9 术语定义 395
15.10 缩略语 396
15.11 参考标准 398
15.12 参考资料 399
15.13 默认计时器和计数器值 399
15.13.1 GSM SMS 399
15.13.2 GSM USSD 400
15.13.3 CDPD 400
15.13.4 电路交换数据 400
15.13.5 计时器的使用 401
15.14 PICS实施说明 401
15.14.1 简介 401
15.14.2 缩写和特殊符号 402
15.14.3 填写PICS实施说明的指南 402
15.14.4 标识 404
15.14.5 无线事务协议 404
15.15 历史和联系信息 405
第16章 无线传输层安全规范 406
16.1 范围 406
16.2 WTLS结构概述 406
16.3 用于层到层通信的WTLS元素 406
16.3.1 使用的注解 406
16.3.2 WTLS传送服务 409
16.3.3 WTLS连接管理 409
16.4 WTLS状态表 413
16.4.1 客户端状态表 413
16.4.2 服务器状态表 416
16.5 表示语言 419
16.5.1 基本块的大小 419
16.5.2 其他 419
16.5.3 矢量 419
16.5.4 数字 420
16.5.5 枚举类型 420
16.5.6 构造的类型 421
16.5.7 密码属性 422
16.5.8 常量 423
16.5.9 串常量 423
16.6 记录协议规范 423
16.6.1 连接状态 423
16.6.2 记录层 425
16.7 握手协议规范 429
16.7.1 改变密码规范协议 429
16.7.2 告警协议 430
16.7.3 握手协议概述 433
16.7.4 基于数据报的握手过程的可靠性 435
16.7.5 握手协议 436
16.8 加密计算 449
16.8.1 计算主密文 449
16.8.2 密钥计算 450
16.8.3 HMAC和伪随机函数 451
16.9 术语定义 452
16.10 缩略语 453
16.11 参考标准 454
16.12 参考资料 455
16.13 确认 455
16.14 算法定义 455
16.15 执行注意点 460
16.15.1 协商空特定密码 460
16.15.2 匿名握手过程 460
16.15.3 密钥刷新 460
16.15.4 拒绝服务的攻击 460
16.16 执行类型 461
16.17 WTLS协议的要求 461
第17章 无线数据报协议规范 462
17.1 概述 462
17.2 WDP体系结构概述 462
17.2.1 参考模型 462
17.2.2 WDP协议的一般描述 463
17.2.3 WDP静态一致规则 465
17.2.4 WDP业务承载协议栈 465
17.3 层到层间的通信元素 474
17.3.1 服务原语注释 474
17.3.2 服务原语类型 474
17.3.3 WDP务原语 474
17.4 WDP协议描述 476
17.4.1 简介 476
17.4.2 将WDP映射到IP上 476
17.4.3 将WDP映射到GSM SMS和GSM USSD上 476
17.4.4 将WDP映射到IS-136 GUTS/R-Data之上 479
17.4.5 将WDP映射到CDPD上 479
17.4.6 将WDP映射到CDMA上 479
17.4.7 将WDP映射到PDC上 479
17.4.8 将WDP映射到iDEN上 479
17.4.9 将WDP映射到FLEX和ReFLEX上 479
17.5 术语定义 480
17.6 一般概念 481
17.7 缩略语 481
17.8 安全性的考虑 483
17.9 参考标准 483
17.10 参考资料 485
17.11 PICS原型说明 485
17.11.1 简介 485
17.11.2 缩写和特殊符号 485
17.11.3 填写PICS实施说明的指南 486
17.11.4 标识 487
17.11.5 无线数据报协议 488
17.12 在GSM SMS和GSM USSD上映射WDP 491
17.12.1 二进制报头格式 491
17.12.2 分割和重组 492
17.12.3 报头的组合应用 492
17.13 端口号定义 492
17.14 承载业务类型分配 494
17.15 历史记录与联系信息 494
第18章 无线控制报文协议规范 495
18.1 范围 495
18.2 WCMP体系结构概述 495
18.3 WCMP协议描述 495
18.3.1 一般描述 495
18.3.2 静态WCMP一致性条款 496
18.3.3 IP网络的WCMP 496
18.3.4 非IP网络的WCMP 496
18.3.5 WCMP报文 497
18.4 缩略语 502
18.5 参考标准 503
18.6 历史和联系信息 504
第19章 基于GSM无结构化补充业务数据的WAP规范 505
19.1 范围 505
19.2 USSD的一般描述 505
19.2.1 简介 505
19.2.2 USSD标准 505
19.2.3 USSD特性和参数 506
19.3 WAP和GSM USSD 508
19.3.1 简介 508
19.3.2 USSD的对话控制协议 509
19.3.3 数据编码方案 509
19.3.4 服务码 509
19.3.5 USSD操作计时器 509
19.3.6 多重对话 510
19.3.7 寻址方面 510
19.3.8 USSD字符串的长度 510
19.3.9 USSD字符串 510
19.4 USSD的对话控制协议 512
19.4.1 目标和要求 512
19.4.2 结构概述 512
19.4.3 静态UDCP一致性条款 513
19.4.4 寻址 513
19.4.5 UDCP服务原语 514
19.4.6 数据传输 515
19.4.7 错误处理 516
19.4.8 USSD对话释放 516
19.4.9 计时器和计数器 516
19.4.10 协议数据单元 517
19.4.11 头字段 518
19.5 UDCP状态表 519
19.5.1 事件处理 519
19.5.2 动作 519
19.5.3 移动端发起的USSD对话 520
19.5.4 网络发起的USSD对话 523
19.5.5 UDCP和WDP的示例 525
19.6 术语定义 526
19.7 缩略语 526
19.8 参考标准 527
19.9 PICS的形式说明 528
19.9.1 简介 528
19.9.2 缩写和特殊符号 528
19.9.3 填写PICS实施说明的指南 529
19.9.4 标识 530
19.9.5 USSD对话控制协议 531
19.10 历史记录与联系信息 531