S的IPp脚本编写方法基础m1.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
S的IPp脚本编写方法基础m1

SIPp脚本编写 目录 SIPp脚本编写方法入门 1 1. 脚本格式 3 1.1. 基于XML进行扩展 3 1.2. DTD扩展语法规则 3 1.3. 脚本结构 3 1.4. 注释 5 2. 脚本类型 5 2.1. UAC 5 2.2. UAS 5 2.3. 3PCC(三方通话) 6 2.4. OCC(Out-of-call) 6 3. 命令与属性 6 3.1. 常用命令 6 3.2. 常用属性列表 8 3.3. 正则表达式 10 4. 变量与关键字 11 4.1. 关键字的使用 11 4.2. 变量定义与使用 13 4.3. 鉴权 15 5. 分支和跳转 16 5.1. 标签 16 5.2. 条件判断 16 5.3. 跳转和循环 17 5.4. 概率分支 18 6. 文件引用 18 6.1. 外部文件格式 18 6.2. 引用方法 19 6.3. 文件索引 20 7. 脚本中的命令操作 20 7.1. 内部命令 20 7.2. 外部命令 21 7.3. 媒体命令 21 8. 附录 22 修订记录 23 脚本格式 基于XML进行扩展 DTD扩展语法规则 脚本结构 接下来使用scenario和/scenario包括的部分,即为脚本的正文部分。sipp脚本正文部分,包含如下几个区域: 初始化区 在初始化区域中,通常用来进行全局变量的定义和赋值等操作,在脚本未进行逻辑流程前,预先完成初始化动作。 初始化区是在脚本正文的最开始,通过使用命令init和/init,并在其之间插入一些nop和label命令即可实现,在初始场景中的变量,仅用于全局变量,并不会应用于呼叫。例如下图中,在初始化区对THINKTIME进行赋值: 逻辑执行区 逻辑执行区中包括了业务流程的相关内容,比如接收消息、发送消息、暂停时长、分支判断、媒体播放、内外部命令执行等操作。 逻辑执行区是脚本的最关键部分,编写sipp脚本,主要也就是针对该部分进行编写和调试。 变量抑制区 该部分是为了避免在脚本逻辑区定义了大量的变量,但实际并未使用导致运行时报错无法执行的问题,不论定义了多少变量,这些变量有无被使用,只需要添加进变量抑制区的列表中,脚本均可正常执行。该部分仅有一个命令Reference /,variables属性为所需抑制的变量列表。如下图所示: 定时器自定义区 该区域主要作用为:针对消息响应时长(ResponseTime)以及呼叫持续时长(CallLength)的Timer进行自定义间隔的配置,以获取所需的显示范围,例如自定义timer配置为: 则在sipp运行时,查看运行统计界面呈现如下: 注释 sipp脚本注释的语法格式为!--xxx--,支持多行注释,如: 脚本类型 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的操作。 命令与属性 常用 (注:在构造发送的INVITE消息时,为实现批量发送,使用到了大量的变量和关键字,在后续内容中会详细加以说明。) 发送出消息后,还需要进行后续响应消息的接收,请注意由于sip协议存在临时响应和最终响应两种,而1xx的响应在业务中

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档