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=’ . "80×46+$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

相关文章:

你感兴趣的文章:

标签云: