#!/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. iptables 简单介绍及应用 Linux防火墙

    iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省 ...

  2. 洛谷P2045 方格取数加强版 最小费用流

    Code: #include<cstdio> #include<cstring> #include<algorithm> #include<queue> ...

  3. 服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

    0 引言 主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的. 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Windows Server20 ...

  4. UVA-10003 Cutting Sticks 动态规划 找分界点k的动规

    题目链接:https://cn.vjudge.net/problem/UVA-10003 题意 有根棍子,上面有些分割点(n<50),每次按分割点切割棍子时,费用为当前棍子的长度. 问有什么样的 ...

  5. 题解 洛谷 P3381 【【模板】最小费用最大流】

    发了网络流,再来一发费用流 能做费用流的,网络流自然做得来,但在这还是不要脸的安利一下自己的博客(里面也有网络流的题解): 点我 扯远了... 费用流,就是在不炸水管的情况下求源点到汇点的最小费用. ...

  6. java 实现顺序结构线性列表

    package com.ncu.list; /** * * 顺序结构线性列表 * * @author liuhao * */ public class SquenceList<T> { p ...

  7. python 工具包安装

    (1)wxPython是python的常用gui yum install wxPython (2)numpy, scipy是常用的数学处理工具包 yum install scipy

  8. cocos2d_android 第一个游戏

    依据上一篇文章.创建好cocos2d--android的开发环境 先上效果图 实现该效果的代码: package com.cn.firstgame; import org.cocos2d.layers ...

  9. 移植u-boot-2014.4到S5PV210/TQ210(完整)

    本文很多其它的是教会大家怎样学习 1.1   概述 1.2   u-boot配置过程分析 1.3   u-boot编译过程分析 1.4   SPL 1.5   加入自己的单板 1.6   移植u-bo ...

  10. 图像切割—基于图的图像切割(Graph-Based Image Segmentation)

     图像切割-基于图的图像切割(Graph-Based Image Segmentation) Reference: Efficient Graph-Based Image Segmentation ...