#!/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. 比较好的Dapper封装的仓储实现类 来源:https://www.cnblogs.com/liuchang/articles/4220671.html

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  2. jQuery 完整 ajax示例

    $(function(){ //请求参数 var list = {}; // $.ajax({ //请求方式 type : "POST", //请求的媒体类型 contentTyp ...

  3. json转换成Map

    1.如果转换的是Map.或者是简单的对象 package com.gc.action; import java.util.Map; import net.sf.json.JSONObject; /** ...

  4. 正则表达式中的/i

    i = insensitive means case-insensitive 表示大小写不敏感

  5. 一个 VUE 组件:实现子元素 scroll 父元素容器不跟随滚动(兼容PC、移动端)

    介绍 我们经常遇到一种情况.当滑动滚动条区域时,子元素滚动条到底部或顶部时就会触发父级滚动条,父级滚动条同理会继续向上触发,直至body容器.这是浏览器默认的滚动行为. 但是很多情况,我们想要子元素滚 ...

  6. caioj 1154 同余方程(模版)

    求x的最小正整数解,使得ax=b(mod m) 那么显然ax - b = m * y ax - my = b 那么就套入Ax+By = K的不定方程中,然后用exgcd求解即可 但这道题求最大正整数解 ...

  7. 2015 Multi-University Training Contest 4 hdu 5335 Walk Out

    Walk Out Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  8. Qt之pro配置多个子工程/子模块

    简述 进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计.调试和维护等操作简单化. 简述 配置 效果 多工程 多模块 更多参 ...

  9. C++开发人脸性别识别教程(3)——OpenCv配置和ImageWatch插件介绍

    OpenCv是C++图像处理的重要工具.这个人脸性别识别的项目就是借助OpenCv进行开发的. 尽管网上已经有了非常多关于OpenCv的配置教程,但出于教程完整性考虑.这里还是用专门的一篇博客来介绍O ...

  10. 智课雅思词汇---十、pend是什么意思

    智课雅思词汇---十.pend是什么意思 一.总结 一句话总结:[词根含义]:悬挂,垂;称量;支付 词根:-pend-, -pens- [词根含义]:悬挂,垂;称量;支付 [词根来源]:来源于拉丁语动 ...