sipp在场景中生成随机字符串

时间:2011-05-01 22:49:07

标签: sip

我创建了一个使用sipp进行sip trafic生成的程序。想要在运行时随机生成目标的随机数,而无需从外部csv注入。目前我正在使用[service]命令为发起人做同样的事情。我可以在comman线上使用另一个命令吗?我可以从场景中生成一个随机数吗?

1 个答案:

答案 0 :(得分:3)

我认为不可能使SIPp直接生成随机数。但是,如果您可以访问常见的Unix实用程序,则可以通过命令行提供它。

但我不确定你想做什么。

如果要执行一个调用,可以通过set命令行参数在命令行中提供随机目标。

示例:

mydest=`n=8; rand -M $((10**${n})) | awk "{ printf(\"%0${n}u\", \\$1) }"`
sipp ... -set service_route mydest $mydest

(将n = 8替换为您想要的位数。如果您不想要固定的位数,只需删除awk部分)

然后在SIPp脚本的开头声明您的变量:

<Global variables="mydest" />
<Reference variables="mydest" />

之后,您可以使用[$mydest]将其置于SIP消息中。

但是如果你想从同一个SIPp启动中执行大量调用,你可以动态生成一个随机数字的CSV文件。

示例:

n=8; echo "RANDOM" > zrandom; rand -e -N 1000000 -d "\n" -M $((10**${n})) | awk "{ printf(\"%0${n}u\n\", \$1) }" >> zrandom
sipp ... -inf zrandom

(同样的评论:用你想要的数字替换n = 8。如果你不想要固定数字的数字,只需删除awk部分)