#!/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. [NOIP2015普及组]推销员

    题目:洛谷P2672.codevs5126.Vijos P1977 题目大意:有个推销员要去推销,要你求他推销1~n户人家分别最多花多少“疲劳值”.具体见题目. 解题思路:如果用$O(n^2)$做的话 ...

  2. [vue插件]基于vue2.x的电商图片放大镜插件

    最近在撸一个电商网站,有一个需求是要像淘宝商品详情页那样,鼠标放在主图上,显示图片放大镜效果,找了一下貌似没有什么合适的vue插件,于是自己撸了一个,分享一下.小白第一次分享,各位大神莫见笑. vue ...

  3. collections模块-namedtuple

    namedtuple -> 命名元组 这里的命名指的是对元组中元素的命名. 通过一个例子来看 import collections Person = collections.namedtuple ...

  4. 【codeforces 20B】Equation

    [题目链接]:http://codeforces.com/contest/20/problem/B [题意] 给你一个方程,让你输出这个方程的解的情况. [题解] a==0,b==0,c==0时,为恒 ...

  5. 【转】Geometry cannot have Z values

    http://blog.csdn.net/tweeenty/article/details/44246407 在对矢量要素类添加要素,进行赋几何信息时(FeatureBuffer.Shape = IG ...

  6. OKHttp使用简单介绍

    如今android网络方面的第三方库非常多,volley.Retrofit.OKHttp等,各有各自的特点,这边博客就来简介下怎样使用OKHttp. 梗概 OKHttp是一款高效的HTTP客户端,支持 ...

  7. gdb与信号

    http://simohayha.iteye.com/blog/493091 gdb可以监测在你的程序中的任何信号. 主要靠的命令是: handle signal [keywords...] 这里的k ...

  8. 聊聊高并发(四十四)解析java.util.concurrent各个组件(二十) Executors工厂类

    Executor框架为了更方便使用,提供了Executors这个工厂类.通过一系列的静态工厂方法.能够高速地创建对应的Executor实例. 仅仅有一个nThreads參数的newFixedThrea ...

  9. SQL Server单表已700w+将普通表转换成分区表1

    最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话.下面简要说一下将普通表转为分区表的步骤.   一.创建文件组 ...

  10. jquery实现上下浮动

    jquery实现上下浮动: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...