Freeswitch对呼,测试服务负载,压力测试

近日需要对freeswitch的Esl接口封装的底层模块做压力测试,想到通过两台freeswitch对呼的方式,百度,google以后发现没有太细致的解释和说明,在这里记录一下,方便以后查阅。

1、第一步需要两台安装有freeswitch的主机或者云服务都可以,只要两台主机间的网络是通的就可以啦,内网通也可以的。首先定义两个服务分别为server1地址为:10.23.21.28,server2的地址为10.23.18.42。

2、从server2发起呼叫到server1,这时server1相当于一个网关,我们需要在server1定义一个路由来接收处理从server2发来的呼叫,编辑diaplan/default.xml,diaplan目录在你的freeswitch安装目录下的etc/freeswitch或者conf/目录下,版本不同路径稍有差别,内容都一样的。

编辑default.xml或者public.xml

这两个配置文件选择要看你呼叫的是内部端口还是外部端口,呼叫内部端口5060就要将

路径下的internal.xml下的<param name="context" value="public"/>改为<param name="context" value="default"/>

将呼叫导入到default来处理。同理如果呼叫外部端口就要确定external.xml文件<param name="context" value="public"/>

将呼叫导入到public来处理。

编辑dianplan:

在default.xml或者public.xml加入一个路由规则:

<extension name ="load_test">
  <condition  field="destination_number"  expression="12345678">
    <action  application="answer" />
	<action application="sleep" data="60000"/>
    <action application="hangup"/>
  </condition>
</extension>

 

正则表达式我就不写复杂的了,不动的百度一下很多教程。

这时候就可以在server2发起呼叫到server1了:

bgapi originate sofia/internal/12345678@10.23.18.42:5060 &park()

 

测试两边可以呼叫并接通后,就要写脚本批量呼叫了。

#!/bin/bash

for k in $( seq 1 10 )
do
    for f in $(seq 1 300)
    do
        fs_cli -x 'bgapi originate sofia/internal/12345678@10.23.18.42:5060&park()'
    done
    sleep 1
done

 

如果服务器配置差的话可能会报错:Throttle Error! 471,不用管,把循环改小一点就好了。

注意:1、要配置好内外部呼叫的端口和路由走的配置,要不可能一直不通哈。2、云服务其一定要切记把需要的端口放出来。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值