sipp генерирует случайную строку в сценарии

Я создал программу, которая использует sipp для генерации sip-трафика. хотел бы сгенерировать случайное число для пункта назначения случайным образом и во время выполнения без внедрения из внешнего CSV. В настоящее время я делаю то же самое для отправителя с помощью команды [service]. Есть ли другая команда, которую я могу использовать из командной строки? Могу ли я сгенерировать случайное число внутри сценария?


sip
person maxsap    schedule 01.05.2011    source источник


Ответы (1)


Я не думаю, что возможно заставить 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" />

После этого вы можете разместить его в сообщениях SIP с помощью [$mydest].

Но если вы хотите выполнять много вызовов с одного и того же запуска 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)

person Brilnius    schedule 10.06.2011