TTCN-3中SIP协议测试笔记(Eclipse TITAN)-1

来源:互联网 发布:请问哪里购买域名便宜 编辑:程序博客网 时间:2024/05/05 17:16

3.1信息处理

该测试能操作SIP request和SIP response信息,通过UDP和TCP收发信息。

3.1.1编码

编码器可以编码两种信息,可以发送整行信息或者碎片信息。过程是:
1. 编码request/response line
2. 编码header(可以是short或long格式,混合header可以被编码成逗号分隔的list或几个header行)
3. 添加消息body
测试port的行为受测试端口参数控制。

3.1.2解码

所有header都收到后解析,解析器使用Bison和Flex实现,能够接收所有格式。
测试port可以忽略所有解码错误、静默丢弃这个信息或者以RAW信息/描述错误方式通过该错误信息。
解析完成后,信息body从缓存中取出。

3.2网络解析

测试port有两种模式
- Basic模式
- Advanced模式

3.2.1发送信息的源端口号

本地host和端口号可以在两种模式中设置。
使用UDP时,端口号可以是监听端口或任意端口,由random_udp_sending_port参数控制;使用TCP时,端口号必须是操作系统选择的。

3.2.2Basic模式

测试port只能处理一个TCP或UDP socket,不支持同时使用两种协议收发,但是测试port可以选择协议和远程host。

start-up操作

映射时,测试port检测初始协议和目标host名。如果初始目标host名缺省,port打开一个监听socket(sip协议决定是UDP或TCP)。

接收TCP连接

监听可用时,测试port只能接收一个TCP接入。port接入该request后,监听socket不关闭但直到该TCP关闭前不再接入。

接收信息

从TCP或UDP接收。
收到混合TCP包时使用buffer收集所有信息。

发送信息

当被请求发送信息时,端口对比现有连接和要求的参数(目标host名,端口号和协议)。参数有不同,则测试port关闭现有连接,打开新连接。
如果信息大小超过MTU(最大传输单元)的大小且协议是UDP,信息将不被发送并发送一个TTCN错误,该检测可以被忽略。MTU初始长为1300字节。

3.2.3Advanced模式

该模式允许多个TCP连接,同时监听UDP和TCP端口。每个连接以协议id、远程host名和远程端口号区分。
每个可以监听socket的连接在运行时可以通过ASP_SIP_open打开,ASP_SIP_close关闭。

start-up操作

在映射操作时,测试port按照设置打开监听socket,可以打开UDP或TCP或两种同时。
如果目标host名指定且初始协议是TCP,测试port打开指定代理的TCP连接。

接收TCP连接

端口可以在监听端口接收任意数量的连接请求。接收连接后端口可以在收发信息或建立新的连接。

接收信息

端口可以在任意时间在打开的TCP或UDP连接上接收信息。
收到混合TCP包时使用buffer收集所有信息,每个TCP有专属内存。

发送信息

当被请求发送信息时,端口对比现有连接和要求的参数(目标host名,端口号和协议)。如果请求host和port没有打开的连接,测试port将打开新连接。
如果信息大小超过MTU(最大传输单元)的大小且协议是UDP,信息将不被发送并发送一个TTCN错误,该检测可以被忽略。MTU初始长为1300字节。

传输错误处理

当传输层错误,测试port可以生成TTCN错误或发送ASP_SIP_error到test case(如发送/接收失败)。测试port的行为由运行配置文件控制。

0 0
原创粉丝点击