- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SIPp脚本编写方法基础
作者
王伟
版本号
V1.1
目录
SIPp脚本编写方法入门 错误!未指定书签。
脚本格式 错误!未指定书签。
基于XML进行扩展 错误!未指定书签,
DTD扩展语法规则 错误!未指定书签,
13.脚本结构 错误!未指定书签c
注释
脚本类型 错误!未指定书签。
UAC 错误!未指定书签c
UAS 错 误!未指定书签c
3PCC (三方通话) 错误!未指定书签,
OCC (Out-of-call) 错误!未指定书签 c
命令与属性 错误!未指定书签。
常用命令 错误!未指定书签,
常用属I列表 错误!未指定书签c
正则表达式 错误!未指定书签c
. 变量与关键字 错误!未定义书签。
关键字的使用 错误!未指定书签,
变量定义与使用 错误!未指定书签,
鉴权 错误!未指定书签,
分支和跳转 错误!未指定书签。
标签 错误!未指定书签c
条件判断 错误!未指定书签c
二 跳转和循环 错误!未指定书签,
概率分支 错误!未指定书签c
文件引用 错误!未指定书签。
外部文彳^格式 错误!未指定书签,
引用方法 错误!未指定书签c
件索引 错误!未指定书签c
乙 脚本中的命令操作 错误!未指定书签。
7A.内部命令 错误!未指定书签c
7Z 外部命令 错误!未指定书签c
7.3.媒体命令 错误!未指定书签c
8 错误!未指定书签。
修订记录 错误!未指定书签。
脚本格式
基于XML进行扩展
SIPp的测试脚本遵循标准的XML V1.0版本的语法规范,XML即“可扩展 标记语言 extensible Markup Language的缩写,W3c组织与1998年发布XML 1.0 规范。
DTD扩展语法规则
SIPp的执行目录中,存在一个sipp.dtd文件。该文件为标准的xml扩展语法 规则,在该文件中,对send recv、pause等元素增加了定义,包括其属性列表 等内容,可作为脚本文件格式的校验。
脚本结构
一个标准的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工具允许多个脚本实例间进行交互,完成较为复杂的业务流程。如三
方通话等业务,因此该种脚本在普通脚
文档评论(0)