1 / 27
文档名称:

SIPp脚本编写方法计划基础m.docx

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

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

分享

预览

SIPp脚本编写方法计划基础m.docx

上传人:夏天教育 2022/10/18 文件大小:84 KB

下载得到文件列表

SIPp脚本编写方法计划基础m.docx

相关文档

文档介绍

文档介绍:该【SIPp脚本编写方法计划基础m 】是由【夏天教育】上传分享,文档一共【27】页,该文档可以免费在线阅读,需要了解更多关于【SIPp脚本编写方法计划基础m 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。精选文档
精选文档
1
精选文档
SIPp脚本编写方法基础
作者王伟

精选文档
精选文档
27
精选文档
目录
SIPp脚本编写方法入门..........................................................................................
错误!未指定书签。
1.
脚本格式..........................................................................................................
错误!未指定书签。
.
鉴于XML进行扩展..............................................................
错误!未指定书签。
.
DTD扩展语法例则................................................................
错误!未指定书签。
.
脚本结构................................................................................
错误!未指定书签。
.
说明.......................................................................................................................
4
2.
脚本种类..........................................................................................................
错误!未指定书签。
.
UAC.........................................................................................
错误!未指定书签。
.
UAS.........................................................................................
错误!未指定书签。
.
3PCC(三方通话)...............................................................
错误!未指定书签。
.
OCC(Out-of-call).........................................
错误!未指定书签。
精选文档
精选文档
3
精选文档
......................
3.
命令与属性......................................................................................................
错误!未指定书签。
.
常用命令................................................................................
错误!未指定书签。
.
常用属性列表........................................................................
错误!未指定书签。
.
正则表达式............................................................................
错误!未指定书签。
4.
变量与要点字..................................................................................................
错误!不决义书签。
.
要点字的使用........................................................................
错误!未指定书签。
.
变量定义与使用....................................................................
错误!未指定书签。
.
鉴权........................................................................................
错误!未指定书签。
5.
分支和跳转......................................................................................................
错误!未指定书签。
.
标签........................................................................................
错误!未指定书签。
.
条件判断................................................................................
错误!未指定书签。
精选文档
精选文档
4
精选文档
.
跳转和循环............................................................................
错误!未指定书签。
.
概率分支................................................................................
错误!未指定书签。
6.
文件引用..........................................................................................................
错误!未指定书签。
.
外面文件格式........................................................................
错误!未指定书签。
.
引用方法................................................................................
错误!未指定书签。
.
文件索引................................................................................
错误!未指定书签。
7.
脚本中的命令操作..........................................................................................
错误!未指定书签。
.
内部命令................................................................................
错误!未指定书签。
.
外面命令................................................................................
错误!未指定书签。
.
媒体命令................................................................................
错误!未指定书签。
8.
附录
..................................................................................................................
错误!未指定书签。
订正记录
..................................................................................................................
错误!未指定书签。
精选文档
精选文档
5
精选文档
脚本格式

,XML即“可扩展标志语言”eXtensibleMarkupLanguage的缩写,。

SIPp的履行目录中,。该文件为标准的xml扩展语法
规则,在该文件中,对send、recv、pause等元素增添了定义,包含其属性列表等内容,可作为脚本文件格式的校验。

一个标准的SIPp脚本,文件开端应为通用的xml前导区和DTD文件定义区以下图:
接下来使用<scenario>和</scenario>包含的部分,即为脚本的正文部分。
sipp脚本正文部分,包含以下几个地区:
初始化区
在初始化地区中,往常用来进行全局变量的定义和赋值等操作,在脚
本未进行逻辑流程前,早先达成初始化动作。
初始化区是在脚本正文的最开始,经过使用命令<init>和</init>,并
在其之间插入一些<nop>和<label>命令即可实现,在初始场景中的变量,
仅用于全局变量,其实不会应用于呼喊。比以下列图中,在初始化区对
THINKTIME进行赋值:
逻辑履行区
逻辑履行区中包含了业务流程的有关内容,比方接收信息、发送消
息、暂停时长、分支判断、媒体播放、内外面命令履行等操作。
精选文档
精选文档
6
精选文档
逻辑履行区是脚本的最要点部分,编写sipp脚本,主要也就是针对该部分进行编写和调试。
变量克制区
该部分是为了防止在脚本逻辑区定义了大批的变量,但实质并未使用
致使运转时报错没法履行的问题,无论定义了多少变量,这些变量有无被使用,只需要增添进变量克制区的列表中,脚本均可正常履行。该部分仅有一个命令<Reference/>,variables属性为所需克制的变量列表。以下列图所示:
准时器自定义区
该地区主要作用为:针抵信息响应时长(ResponseTime)以及呼喊连续时长(CallLength)的Timer进行自定义间隔的配置,以获取所需的显示范围,比如自定义timer配置为:
则在sipp运转时,查察运转统计界面体现以下:

sipp脚本说明的语法格式为<!-->xxx<-->,支持多行说明,如:
脚本种类
SIPp脚本依据使用处景不一样,主要分为UAC、UAS、3PCC和OCC4种类
型,每种种类均有其特定的使用方式,内部逻辑也有所不一样。

顾名思义,UAC种类的脚本主假如模拟sip会话中的UAC侧,即负责倡始
会话的client端。如注册客户端、主叫用户、定阅者等。往常的UAC脚本逻辑区会以send作为业务流程的开端。UAC脚本一旦启动,假如不设置开端暂停时长的参数,往常会立刻开始履行。
精选文档
精选文档
7
精选文档

精选文档
精选文档
27
精选文档
UAS与UAC相对,主要模拟sip会话的UAS侧,启动后即进入被动接收状
态,往常作为server端使用,如注册服务器、被叫用户、通知者、业务网关等。往常的UAS脚本逻辑区会以recv作为业务流程的开端。UAS脚本启动后,即绑定有关当地socket,进入接收信息的状态。
(三方通话)
SIPp工具允很多个脚本实例间进行交互,达成较为复杂的业务流程。如三
方通话等业务,所以该种脚本在一般脚本的基础上,更多地使用内部cmd交互命令,如recvcmd、sendcmd等在不一样脚本间传达会话参数,配合达成复杂流程的测试实现。sipp还供给了扩展的3pcc模式,支持master和slave的脚本角色。
该种类的脚本编写和调试较为复杂,本文档中不再赘述,若有兴趣能够翻阅sipp的使用手册等文档,此中有详尽说明。
(Out-of-call)
OCC(Out-of-call)脚本作为特别种类的脚本,往常不会独自使用,而是与
UAC脚本配合使用(也只好与UAC脚本配合,UAS等种类脚本没法支持-occsn等履行命令)。主要作用为扩展UAC脚本的合用范围,使UAC脚本能够在接收
到不一样会话内的非预期信息时,不至于直接抛弃。如注册客户端可能会碰到接收到通知NOTIFY的信息,此时就需要在运转register脚本的时候合用-oocsn或-oocsf参数,配合ooc脚本,实现对NOTIFY信息返回200的操作。
命令与属性

SIPp工具供给的命令相当丰富,包含信息操作命令、变量操作、正则表达
式、赋值和判断、内部命令、外面命令、日记操作、媒体命令等多种,在一般的
使用处景下,往常依据不一样的动作,来进行命令的使用。下边针对照较常用的场
景,如发送信息、接收信息、媒体播放等进行描绘:(更详尽的命令功能及示
例,能够翻阅sipp的使用手册等文档)
精选文档
精选文档
9
精选文档
一个最基本的sipp脚本,往常包含了send、recv、nop、pause这几个命令。
此中send为发送sip信息,recv为接收sip信息,nop为办理非业务的逻辑,
pause为供给暂停时长。比如一个基本语音呼喊的主叫侧脚本:
第一使用send命令发送INVITE信息,注意在发送信息时,sip信息所有内容均包含在标准的xml数据格式CDATA内,CDATA的语法格式请分外注意,
防止因为语法错误致使没法正确发送。
(注:在结构发送的INVITE信息时,为实现批量发送,使用到了大批的变
量和要点字,在后续内容中会详尽加以说明。)
发送出信息后,还需要进行后续响应信息的接收,请注意因为sip协议存在
暂时响应和最后响应两种,而1xx的响应在业务中可能存在,也可能不存在,所以需要采纳可选属性加以差别。
(注:optional=“true”即表示该条信息为可选接收,假如没有收到,也不
会影响后续信息的接收及办理,如100/183/180。而200为必选接收信息,只有
当接收到该信息后,脚本才会连续后续流程,所以没有optional参数。)
在接收到200ok信息,并发送出ACK后,语音通话接续流程即达成,此时
依据实质业务流程,需要进行语音媒体的传输,所以脚本在这里需要增添一个
精选文档
精选文档
10
精选文档
nop命令,用于媒体的播放
(注:nop命令能够用于任何非信息办理的地点,在nop命令中增添

action
精选文档
精选文档
27
精选文档
命令,而后即可履行近似媒体办理、变量操作、条件判断等动作。)
精选文档
精选文档
27
精选文档
在履行媒体播放命令后,因为sipp在履行nop有关命令后,不会等候命令履行完成而是立刻履行后续脚本内容,所以为保证媒体播放正常,我们还需要依据实质要求,将脚本暂停一段时间,以保证流程模拟正确。
(注:millisenconds属性能够自定义暂停的时长,单位为ms,假如该属性为空,则能够经过在履行命令中增添“-d10000”来指定暂停时长)

命令
属性描绘
示例
<send>
用于信息的发送,常用参数包含
<sendretrans=
“500”lost=“10”
retrans
:udp报文重传时长;
start_txn=
“invite”ack_txn=
lost:丢包率;
“invite
”>
start_txn
:启动响应时间记录
</send>
ack_txn
:记录接收响应时间,与
start_txn
般配
<recv>
用于信息的接收,常用参数包含
<recvresponse=
“100”optional=
response:希望收到的响应信息
“true”>
request
:希望收到的恳求信息
</recv>
optional
:可选接收信息,值为
<recvrequest=
“ACK"
true或global
timeout="18000"
精选文档
精选文档
13
精选文档
timeout
:超不时长,默认超时后直
ontimeout=“5">
接END
</recv>
ontimeout:超时后的跳转办理
<recvrequest="MESSAGE|PUBLISH"
action:收到信息后采纳的办理动
regexp_match="true">

</recv>
regexp_match:检查收到信息能否
般配预期
<pause>
用于设置暂停时间,常用参数包含
<pausemilliseconds="5000"/>
milliseconds
:设置暂停时长,单
<pausevariable="1"/>
位ms
<pausedistribution="uniform"
variable
:设置当变量出现时暂停
min="2000"
distribution
:使用GSL定义或分
max="5000"/>
布模型定义呼喊时长
<pause
distribution="exponential"
mean="900000"/
<nop>
用于非协议信息办理的命令履行,
<nop>
常用参数包含
<action>
精选文档
精选文档
14
精选文档