1 / 31
文档名称:

SIPp脚本编写方法基础m1.docx

格式:docx   大小:41KB   页数:31页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SIPp脚本编写方法基础m1.docx

上传人:cjc201601 2021/10/20 文件大小:41 KB

下载得到文件列表

SIPp脚本编写方法基础m1.docx

相关文档

文档介绍

文档介绍:SIPp脚本编写方法基础
作者
王伟
版本号
目录
脚本格式
基于XML进行扩展
SIPp 的测试脚本遵循标准的 XML 版本的语法规范, XML 即“可扩展标记
语言” extensible Markup Language的缩写,W3c组织与1998年发布XML规 范。
DTD扩展语法规则
SIPp 的执行目录中,存在一个文件。该文件为标准的 xml 扩展语法规则,
在该文件中,对send recv、paus制元素增加了定义,包括其属性列表等内 容,可作为脚本文件格式的校验。
脚本结构
一个标准的SIPp脚本,文件起始应为通用的xml前导区和DTD文件定义区 如图所示:
接下来使用 <scenario> 和 </scenario> 包括的部分,即为脚本的正文部分。
sipp 脚本正文部分,包含如下几个区域:
初始化区
在初始化区域中,通常用来进行全局变量的定义和赋值等操作,在脚
本未进行逻辑流程前,预先完成初始化动作。
初始化区是在脚本正文的最开始,通过使用命令 <小让>和</小让>,并
在其之间才f入一些<nop>和<label>命令即可实现,在初始场景中的变量, 仅用于全局变量,并不会应用于呼叫。例如下图中,在初始化区对
THINKTIME 进行赋值:
逻辑执行区
逻辑执行区中包括了业务流程的相关内容,比如接收消息、发送消
息、暂停时长、分支判断、媒体播放、内外部命令执行等操作。
逻辑执行区是脚本的最关键部分,编写 sipp 脚本,主要也就是针对
该部分进行编写和调试。
变量抑制区
该部分是为了避免在脚本逻辑区定义了大量的变量,但实际并未使用
导致运行时报错无法执行的问题,不论定义了多少变量,这些变量有无
被使用,只需要添加进变量抑制区的列表中,脚本均可正常执行。该部
分仅有一个命令 <Reference /> , variables 属性为所需抑制的变量列
表。如下图所示:
定时器自定义区
该区域主要作用为:针对消息响应时长(ResponseTime以及呼叫持
续时长( CallLength )的 Timer 进行自定义间隔的配置,以获取所需的
显示范围,例如自定义 timer 配置为:
则在 sipp 运行时,查看运行统计界面呈现如下:
注释
sipp脚本注释的语法格式为<!-->xxx<--> ,支持多行注释,如:
脚本类型
SIPp脚本根据使用场景不同,主要分为 UAC、UAS、3PCC和OCC4种类 型,每种类型均有其特定的使用方式,内部逻辑也有所不同。
UAC
顾名思义,UAC类型的脚本主要是模拟sip会话中的UAC侧,即负责发起
会话的 client 端。如注册客户端、主叫用户、订阅者等。通常的 UAC 脚本逻辑
区会以send作为业务流程的起始。UAC脚本一旦启动,如果不设置起始暂停时 长的参数,通常会立即开始执行。
UAS
UAS 与 UAC 相对,主要模拟 sip 会话的 UAS 侧,启动后即进入被动接收状
态,通常作为server端使用,如注册服务器、被叫用户、通知者、业务网关等。
通常的UAS脚本逻辑区会以recv作为业务流程的起始。UAS脚本启动后,即绑 定相关本地socket,进入接收消息的状态。
3PCC(三方通话)
SIPp工具允许多个脚本实例间进行交互,完成较为复杂的业务流程。如三
方通话等业务,因此该种脚本在普通脚本的基础上,更多地使用内部 cmd 交互
命令,如recvcmd、sendcmd等在不同脚本间传递会话参数,配合完成复杂流程 的测试实现。sipp还提供了扩展的3pcc模式,支持master和slave的脚本角色。
该类型的脚本编写和调试较为复杂,本文档中不再赘述,如有兴趣可以翻阅 sipp 的使用手册等文档,其中有详细说明。
OCC(Out-of-call )
OCC(Out-of-call )脚本作为特殊类型的脚本,通常不会单独使用,而是与
UAC 脚本配合使用(也只能与 UAC 脚本配合, UAS 等类型脚本无法支持 -occsn
等执行命令)。主要作用为扩展 UAC 脚本的适用范围,使 UAC 脚本能够在接收
到不同会话内的非预期消息时,不至于直接丢弃。如注册客户端可能会遇到接收
到通知NOTIFY的消息,此时就需要在运行register脚本的时候适用-oocsn或- oocsf参数,配合ooc脚本,实现对NOTIFY消息返回200的操作。
命令与属性
常用命令
SIPp工具提供的命令相当丰富,包括消息操作命令、变量操作、正则表达
式、赋值和判断、内部命令、外部命令、日志操作、媒体命令等多种,在一般的