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