#!/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的更多相关文章

  1. error_Could not load file or assembly

    原文链接 Could you be missing the loaded assembly from your configuration file? Ensure you have somethin ...

  2. configuration error-could not load file or assembly crystaldecisions.reportappserver.clientdoc

    IIS启动网站后报错: configuration error Could not load file or assembly 'crystaldecisions.reportappserver.cl ...

  3. 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 ...

  4. Could not load file or assembly 'System.ServiceModel.DomainServices.Hosting'.系统找不到指定文件

    项目部署到服务器后出现如下错误信息: Parser Error Message: Could not load file or assembly 'System.ServiceModel.Domain ...

  5. 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 ...

  6. 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 数据库服 ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. Node_进阶_7

    Node进阶第七天 一.复习 一.索引   数据库中,根据一个字段的值,来寻找一个文档,是很常见的操作.比如根据学号来找一个学生.这个学号是唯一的.只要有学号,就能唯一确认一个学生的文档.学号这个属性 ...

  2. (WC2018模拟十二)【FJOI2016集训Day7T1】挑选子序列

    题解: 这题太神仙了,先咕着,放个令人****的官方题解(精确覆盖问题是NP完全问题啊摔) Dancing Link X学习资料:QAQ TAT qwq Orz Donald Knuth大神... p ...

  3. POJ-1062 昂贵的聘礼 有限制的最短路

    题目链接:https://cn.vjudge.net/problem/POJ-1062 题意 虽然是中文题,还是简单复述一下吧 我们想要酋长的女儿作为老婆.作为交换,酋长想要点钱. 酋长提出可以用其他 ...

  4. ifram 实现左侧菜单,右侧显示内容

    一般都是左侧的导航栏中的a标签中写一个target(a标签有target属性), 右侧的div标签中写一个iframe,在iframe中有name的属性,在左侧a标签中的target写上iframe中 ...

  5. python set元素访问

    python中集合set主要利用其唯一性,及并集|.交集&等操作,但不可以直接通过下标进行访问,必须访问时可以将其转换成list再访问 x={1,2,5} y=list(x) a=y[1] a ...

  6. HTTP——学习笔记(8)

    HTTP中的一些协议内容会限制某些网站的功能使用 比如,Facebook这类的社交网站,需要实时地观察到海量用户公开发布的内容,而HTTP中的以下标准就会成为瓶颈: 一条连接上只可发送一个请求 请求只 ...

  7. Java基础学习总结(8)——super关键字

    一.super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象.怎么去引 ...

  8. 洛谷—— P2663 越越的组队

    https://www.luogu.org/problem/show?pid=2663 题目描述 班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争.老师找到了越越并给了越越一张全 ...

  9. 9种常见的Android开发错误及解决方案

    整理总结了9个Android开发中的错误以及解决方案,共同探讨进步! 1. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致. 2. 布局文件不可以有大写字母 ...

  10. IOS开发-经常使用站点集合

    1.    https://developer.apple.com  //苹果开发人员站点 2.    https://itunesconnect.apple.com  //itunes站点 3.   ...