1 / 24
文档名称:

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

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

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

分享

预览

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

上传人:guoxiachuanyue001 2022/6/23 文件大小:156 KB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:SIPp脚本编写方法基础
作者
王伟
版本号

目录
SIPp脚本编写方法入门1
脚本格式3
基于XML进行扩展3
DTD扩展语法规则3
脚本结构3
注释5
脚本类型5
UAC5
UAS5
3P
Time
Repartition
ack
0ms<=
n<
50ms
:
0
50ns<=
n<
200ns
:
0
n>=
200ns
:
0
Auerage
CallLengthRepartition
0ns<=
n<
500ms
=
0
500ms<=
n<
1000ms
=
0
1000ms<=
n<
10000ms
:
a
n>=
10000ms
-
0
SippSeruerMode

sipp脚本注释的语法格式为<!-->xxx<-->,支持多行注释,如:
<!--编写时间:2015-11-1111:33编写人:王伟
<!--编毎确认时间:2016-01-0417:10by:王伟
编辑内容:,增加注释内容,修改重传定时器时长

减少INVITE消息的兀余5DP内容

SIPp脚本根据使用场景不同,主要分为UAC、UAS、3PCC和0CC4种类型,每种类型均有其特定的使用方式,内部逻辑也有所不同。
UAC
顾名思义,UAC类型的脚本主要是模拟sip会话中的UAC狈0,即负责发起会话的client端。如注册客户端、主叫用户、订阅者等。通常的UAC脚本逻辑区会以send作为业务流程的起始。UAC脚本一旦启动,如果不设置起始暂停时长的参数,通常会立即开始执行。
UAS
UAS与UAC相对,主要模拟sip会话的UAS狈0,启动后即进入被动接收状态,通常作为
RepartitionScreen[1-9]:ChangeScreen—
<scenarioname="regs_auth">
server端使用,如注册服务器、被叫用户、通知者、业务网关
等。通常的UAS脚本逻辑区会以recv作为业务流程的起始。UAS脚本启动后,
即绑定相关本地socket,进入接收消息的状态。
2・3・3PCC(三方通话)
SIPp工具允许多个脚本实例间进行交互,完成较为复杂的业务流程。如三
方通话等业务,因此该种脚本在普通脚本的基础上,更多地使用内部cmd交互命令,如recvcmd、sendcmd等在不同脚本间传递会话参数,配合完成复杂流程的测试实现。sipp还提供了扩展的3pcc模式,支持master和slave的脚本角色。该类型的脚本编写和调试较为复杂,本文档中不再赘述,如有兴趣可以翻阅sipp的使用手册等文档,其中有详细说明。
2・4・OCC(Out-of-call)
OCC(Out-of-call)脚本作为特殊类型的脚本,通常不会单独使用,而是与UAC脚本配合使用(也只能与UAC脚本配合,UAS等类型脚本无法支持-occsn等执行命令)。主要作用为扩展UAC脚本的适用范围,使UAC脚本能够在接收到不同会话内的非预期消息时,不至于直接丢弃。如注册客户端可能会遇到接收到通知NOTIFY的消息,此时就需要在运行register脚本的时候适用-oocsn或-oocsf参数,配合ooc脚本,实现对NOTIFY消息返回200的操作。
3・命令与属性
3・1・常用命令
SIPp工具提供的命令相当丰富,包括消息操作命令、变量操作、正则表达式、赋值和判断、内部命令、外部命令、日志操作、媒体命令等多种,在一般的使用场景下,通常根据不同的动作,来进行命令的使用。下面针对比较常用的场景,如发送消息、接收消息、媒体播放等进行描述:(更详细的命令功能及示例,可以翻阅sipp的使用手册等文档)
<scenarioname="regs_auth">
一个最基本的sipp脚本,通常包含了send、recv、nop、pause这几个命令。其中send为发送sip消息,recv为接收sip消息,nop为处理非业务的逻辑,pause为提供暂停时长。例如一个基本语音呼叫的主叫侧脚本:
首先使用send命令发送INVITE消息,注意在发送消息时,sip消息所有内容均包含在标准的xml数据格式CDATA内,CDATA的语法格式请格外注意,避免因为语法错误导致无法正确发送。
(注:在构造发送的INVITE消息时,为实现批量发送,使用到了大量的变量和关键字,在后续内容中会详细加以说明。)
发送出消息后,还需要进行后续响应消息的接收,请注意由于sip协议存在临时响应和最终响应两