首页 > 编程知识 正文

脚本撰写模板,短视频脚本撰写

时间:2023-05-03 08:57:04 阅读:274475 作者:1754

1.1.SIPp简介

SIPp是一个测试SIP协议性能的工具软件。它包含了一些基本的用户代理工作流程(UAC和UAS:UAC负责发起SIP呼叫请求,UAS接收UAC的请求并负责对其做出响应),并可使用INVITE和BYE建立和释放多个呼叫。

1.2功能
可以读取XML的场景文件,即描述任何性能测试的配置文件,在场景定义文件中可以使用正则表达式;

能动态显示测试运行的统计数据(呼叫速率、消息统计等);

可以用来测试许多真实的SIP设备,也可以模仿上千个SIP代理呼叫你的SIP系统;
另外,SIPp可以用来模拟现场的SIP信令,以重现出现的故障;或者可以自定义SIP协议以测试终端对某些方面的容错或错误处理能力。

1.3安装

1.3.1 sipp在linux的安装——见上篇文章。
1.3.2sipp在windows的安装:直接双击即可

注意事项

1)安装前:在SIPp安装目录的根目录(如C:)下安装cygwin或者直接在根目录下建立一个空的文件夹cygwin;
2)安装完成后:配置环境变量,在系统变量“Path”的最后添加“;SIPp的安装目录”并保存;
3)运行脚本时:脚本所在盘的根目录下必须包含usr文件夹,系统盘下一般都有,或者直接从其他机器上复制一份过来;

1.4sipp使用

用SIPp做测试的时候需要准备五个文件:uac.xml,uas.xml,uac.sh,uas.sh,data.csv。(xml文件是必须的,后面三个根据情况可以使用命令或参数代替)
uac.xml(uas.xml):根据实际需要编写的uac(uas)侧的sip信号流程;
uac.sh(uas.sh):模拟主叫(被叫),调用sipp命令,并传入相应参数的批处理文件,也可不准备此文件直接输入sipp命令执行程序,但是写成文件执行更加方便可靠;
data.csv:用于uac.xml和uas.xml中需要引入的相应数据。
注:在Windows下运行时,通过usc.bat(uas.bat)代替.sh文件。

应用实例

在编写xml脚本文件之前,需要先明确SIPp脚本模拟的对象、以及最终需要测试的对象,现以Volte彩铃业务为例说明,Volte彩铃业务框架如下图:

当需要测试业务平台,且不受核心网限制时,可以将主/被叫与核心网当成一个整体,通过抓取SIP前台服务器的包作为参考来编写uac.xml(uas.xml),而UAC(UAS)发送给SIP前台的消息应该是真实主(被)叫消息通过核心网后发给SIP前台的消息形式。
下面以Volte彩铃非Precondition流程为例:

将主/被叫与核心网当成一个整体,得出SIPp脚本编写所需的流程图为:

1.5sipp脚本编写一

介绍一下如何创建自己的SIPp XML脚本。一个SIPp脚本总是以如下开头:

<?xml version="1.0" encoding="ISO-8859-1" ?><scenario name="Basic Sipstone UAC">

而且总是以下面语句结束:
</scenario>
开头和结尾很简单,至于中间的写法规则其实也不难,在SIPp的脚本文件中,有许多用于操作SIP消息的命令,以下是使用率比较高的命令详细列表:

命令属性描述例子<send>retrans用udp传输<send retrans="500">,表示每500ms重传输该消息,可在没收到响应的情况下,在设定的时间之后重传。<send>lost模拟丢包率<send lost="10">:发送的丢包率为10%<recv>response指定SIPp期望收到的SIP消息代码,如1xx,2xx,3xx等<recv response="200">:表示SIPp期望收到代码为200的消息<recv>request指定SIPp期望收到的SIP请求消息,如:INVITE,ACK,BYE,REGISTER,CANCEL,OPTIONS等。<recv request="ACK">:表示SIPp期望收到ACK请求<recv>optional指定SIPp期望收到的消息是可选的,对端可以回这个期望的消息,也可以没有回这个期望的消息。<recv response="100" optional="true">:表示SIPp期望收到代码为100的消息,但如果没有收到也没有关系。<recv>action指定当收到指定的消息时SIPp需要采取的动作<send lost="10">:发送的丢包率为10%<pause>milliseconds定义暂停的时间,单位为ms。当没有指定时间时,则使用命令行参数-d来指定。<pause milliseconds="5000"/>:暂停脚本5分钟<sendCmd><![CDATA[]]>用于SIP中第三方呼叫控制(3PCC)。CDATA必须包括Call-ID。<sendCmd><![CDATA[ Call-ID: [call_id]…… ]]></sendCmd><recvCmd>action当接收到命令时定义一个动作。<recvCmd<action<ereg regexp="Content-Type:.* search_in="msg" assign_to="2"/></action</recvCmd>

有些命令在书写时是成对出现的,如<send> </send>是一对,有些命令在书写时不用成对出现如<pause milliseconds="5000"/>。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。