generate the call load file
#!/usr/bin/perl -w
$e911_call_percent = 0.0;
$ims_node_number = 12;
$local_ip = "10.86.52.2";
$local_port_base = 18000;
$media_port_base = 19000;
$SIPP_BIN="/home/lss/QCBCb/bin/sipp";
$SCRIPT_DIR="../xml";
$DATA_DIR="./data";
$ue_dn_base = 6460000000;
$pstn_dn_base = 8460000000;
$u2u_num = 2450;
$u2u_cps = 12.36;
$u2p_num = $u2u_num * 2;
$u2p_cps = $u2u_cps * 2;
$p2u_num = $u2u_num * 2;
$p2u_cps = $u2u_cps * 2;
$reg_num = 96450;
$reg_rps = 30.88;
$total_sub_one_ims = 130000;
$domain = "qcbcb.qd.lucentlab.com";
$passwd = "newsys";
$local_zone = "qcbcb.qd.lucentlab.com";
$icsf_gul = "icsf-stdn";
$ip_first_byte = 40;
@remote_publish_ip_port =
(
    "135.251.158.17:5060",
    "135.251.158.18:5060",
    "135.251.158.19:5060",
    "135.251.158.20:5060",
    "135.251.158.21:5060",
    "135.251.158.22:5060",
    "135.251.158.23:5060",
    "135.251.158.24:5060",
    "135.251.158.25:5060",
    "135.251.158.26:5060",
    "135.251.158.27:5060",
    "135.251.158.28:5060",
);
@remote_default_ip_port =
(
    "135.251.158.17:5060",
    "135.251.158.18:5060",
    "135.251.158.19:5060",
    "135.251.158.20:5060",
    "135.251.158.21:5060",
    "135.251.158.22:5060",
    "135.251.158.23:5060",
    "135.251.158.24:5060",
    "135.251.158.25:5060",
    "135.251.158.26:5060",
    "135.251.158.27:5060",
    "135.251.158.28:5060",
);
$ue_reg_script = "$SCRIPT_DIR/UAS/uas_reg_97k.xml";
$ue_uac_reg_script = "$SCRIPT_DIR/UAC/uac_reg_SNCalls";
$ue_uac_call_script = "$SCRIPT_DIR/UAC/uac";
$ue_uas_reg_script = "$SCRIPT_DIR/UAS/uas_reg_SNCalls";
$ue_uas_call_script = "$SCRIPT_DIR/UAS/uas";
$mgcf_uac_script = "$SCRIPT_DIR/MGCF/mgcf-uac.xml";
$mgcf_uas_script = "$SCRIPT_DIR/MGCF/mgcf-uas.xml";
sub gen_data_file
{
        my($dir, $filename, $caller_start, $callee_start, $num, $IP1, $IP2) = @_;
        print "$dir, $filename, $caller_start, $callee_start, $num, $IP1, $IP2\n";
        if($num <= 0)
        {
                printf "skip data file generation\n";
                return;
        mkdir "$dir/data";
        open(FD, "> $dir/data/${filename}_datafile");
        print FD "SEQUENTIAL\n";
        print FD "# USER;  AUTHENTICATION; local Port; Media Port\n";
        my $generate_e911 = 0;
        if($e911_call_percent != 0 && $filename =~ /uepstn/)
        {
                printf "UE2PSTN, and generate e911 number is enabled\n";
                $generate_e911 = 1;
        }
        for (my $i = 0; $i < $num; $i++)
                $callee = $callee_start + $i;
                $port = $i + 1;
                $x = int($i / 256 / 256);
                if($generate_e911 == 1)
                {
                        my $rand = rand(10000);
                                $callee = 911;
                        }
                }
        }
        close (FD);
}
{
        my($pool, $dir) = @_;
        my $lu_dn_base = $ue_dn_base + $pool*$total_sub_one_ims;
        my $lp_dn_base = $pstn_dn_base + $pool*$total_sub_one_ims;
        my $caller_start = $lu_dn_base;
        my $callee_start = $lu_dn_base + $u2u_num;
        $ip_first_byte += 2;
        $caller_start = $lu_dn_base + $u2u_num*2;
        $callee_start = $lp_dn_base + $u2u_num*2;
        $ip_first_byte += 2;
        $caller_start = $lp_dn_base + $u2u_num*2 + $u2p_num;
        $ip_first_byte += 2;
        open (FD, "> $dir/data/mgcf_p2u_data.orig");
        printf FD ("SEQUENTIAL,PRINTF=%d,PRINTFOFFSET=%d\n", $p2u_num, $callee_start%10000000);
        printf FD ("1%d%%0.7d;%s;%s;%s", ($ue_dn_base/10000000), $domain, $local_zone, $icsf_gul);
        close (FD);
        $callee_start = $lu_dn_base + $u2u_num*2 + $u2p_num + $p2u_num;
        $ip_first_byte += 1;
}
sub gen_cmd_one_grp_tp1
{
        my($pool, $dir) = @_;
        $REMOTE_PUBLISH_IP = $remote_publish_ip_port[$pool];
        $REMOTE_DEFAULT_IP = $remote_default_ip_port[$pool];
        $LOCAL_IP = $local_ip;
        print "gen_cmd_one_grp: $REMOTE_PUBLISH_IP/$REMOTE_DEFAULT_IP\n";
        $REG_UAS_PORT = $local_port_base + $pool*10 + 7;
        $REG_RPS = $reg_rps;
        $REG_LMT = $reg_num;
        $U2U_ORIG_MEDIA_PORT = $media_port_base;
        $U2U_TERM_MEDIA_PORT = $media_port_base + 5;
        $U2P_ORIG_MEDIA_PORT = $media_port_base + 10;
        $U2P_TERM_MEDIA_PORT = $media_port_base + 15;
        {
                open (FD, ">$dir/ueueorig");
                print FD "sleep \$1\n";
                close (FD);
                open (FD, ">$dir/ueueterm");
                print FD "sleep \$1\n";
                close (FD);
        }
                close (FD);
                close (FD);
        }
        if($P2U_CPS * $P2U_MAX > 0)
        {
                open (FD, ">$dir/mgcf_p2u_uac");
                print FD "sleep \$1\n";
                close (FD);
                open (FD, ">$dir/pstnueterm");
                print FD "sleep \$1\n";
                close (FD);
        }
        if($REG_RPS * $REG_LMT > 0)
        {
                open (FD, ">$dir/regs");
                print FD "sleep \$1\n";
                close (FD);
        }
        open (FD, ">$dir/autorun");
        $term_offset = ($pool%2)*600;
        print FD 'gnome-terminal --geometry=' . "80x46+$term_offset+0" . ' \
        --tab --title=u2u_term --working-directory=`pwd` -e "./ueueterm 0" \
        --tab --title=p2u_term --working-directory=`pwd` -e "./pstnueterm 0" \
        --tab --title=u2p_term --working-directory=`pwd` -e "./mgcf_u2p_uas 0" \
        --tab --title=u2u_orig --working-directory=`pwd` -e "./ueueorig 300" \
        --tab --title=p2u_orig --working-directory=`pwd` -e "./mgcf_p2u_uac 300" \
        --tab --title=u2p_orig --working-directory=`pwd` -e "./uepstnorig 300" \
        --tab --title=reg --working-directory=`pwd` -e "./regs 300"';
        close (FD);
        system ("chmod 755 $dir/*");
}
sub gen_sipp_one_grp
{
        my($pool) = @_;
        $dir = sprintf "grp%03d", $pool;
        printf "\n>>> generate sipp for ims pool $pool now...\n";
        mkdir $dir;
        gen_datafile_one_grp_tp1($pool, $dir);
        gen_cmd_one_grp_tp1($pool, $dir);
}
for(my $pool=0; $pool<$ims_node_number; $pool++)
{
        gen_sipp_one_grp $pool;
}
print "Done!\n";
generate the call load file的更多相关文章
- error_Could not load file or assembly
		
原文链接 Could you be missing the loaded assembly from your configuration file? Ensure you have somethin ...
 - configuration error-could not load file or assembly crystaldecisions.reportappserver.clientdoc
		
IIS启动网站后报错: configuration error Could not load file or assembly 'crystaldecisions.reportappserver.cl ...
 - Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its de
		
页面加载时出现这个错误: Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Cul ...
 - Could not load file or assembly 'System.ServiceModel.DomainServices.Hosting'.系统找不到指定文件
		
项目部署到服务器后出现如下错误信息: Parser Error Message: Could not load file or assembly 'System.ServiceModel.Domain ...
 - ASP.NET corrupt assembly “Could not load file or assembly App_Web_*
		
以下是从overFlow 复制过来的问题 I've read through many of the other questions posted on the same issue, but I s ...
 - Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0  系统找不到指定的文件。
		
环境: web服务器: ip:192.168.1.32 ,安装有 Visual Studio Premium 2013 操作系统: Microsoft Server 2008 r2+sp1 数据库服 ...
 - NopCommerce 发布时 Could not load file or assembly 'file:///...\Autofac.3.5.2\lib\net40\Autofac.dll' or one of its dependencies
		
本文转自:http://www.nopcommerce.com/boards/t/33637/4-errors.aspx 问题: The 3.5 solution compiles fine, and ...
 - Could not load file or assembly 'MySql.Data.CF,
		
Could not load file or assembly 'MySql.Data.CF, Version=6.4.4.0, Culture=neutral, PublicKeyToken=c56 ...
 - Could not load file or assembly 'System.Data.SQLite' or one of its dependencies
		
试图加载格式不正确的程 异常类型 异常消息Could not load file or assembly 'System.Data.SQLite' or one of its dependencies ...
 
随机推荐
- javascript的var声明变量和不用var声明变量在全局作用域的区别;
			
在全局作用域下,使用var定义的变量不可以delete,没有var 定义的变量可以delete.也就说明隐含全局变量严格来说不是真正的变量,而是全局对象的属性,因为属性可以通过delete删除,而变量 ...
 - Vue style里面使用@import引入外部css, 作用域是全局的解决方案
			
问题描述 使用@import引入外部css,作用域却是全局的 <template> </template> <script> export default { na ...
 - centos7.3安装php7.0
			
需求:在Centos7.3下搭建LNMP环境 文章转载自:http://blog.csdn.net/wszll_alex/article/details/76285324 作者:狂热森林 . 关闭防火 ...
 - 洛谷 P2744 [USACO5.3]量取牛奶Milk Measuring
			
P2744 [USACO5.3]量取牛奶Milk Measuring 题目描述 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位——译者注) 他的最 ...
 - 基于json数据格式实现的简单数据库——jsonDB
			
已在github上建立项目:https://github.com/ThinkerCodeChina/jsonDB /** +-------------------------------------- ...
 - TODOList 多线程交互、RCP、事物控制、数据倾斜、HBase数据同步性
			
TODOList 多线程交互.RCP.事物控制.数据倾斜.HBase数据同步性 TODO List thread.join()如何互相之间通知? 线程池何时最后运行完成? MemCache性能要优于R ...
 - openSessionInView的使用原理及性能分析
			
看到好多项目中用到了openSessionInView,这种做法无非是开发方便,能够在JSP页面中操作数据库层方面的业务. 下边说下openSessionInView的使用方法及性能问题. 使用: 1 ...
 - vue2.0 路由学习笔记
			
昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li ...
 - hdoj--5256--序列变换(lis变形)
			
序列变换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
 - Android项目实战(五十五):部分机型点击home再点图标进入程序不保留再之前界面的问题
			
解决办法: 1.在基类Activity中 添加方法 @Override public boolean moveTaskToBack(boolean nonRoot) { return super.mo ...