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

#sip

#sip

Вопрос:

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

Ответ №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}un", $1) }" >> zrandom
sipp ... -inf zrandom
  

(то же замечание: замените n = 8 на количество цифр, которое вы хотите. Если вам не нужно фиксированное количество цифр, просто удалите часть awk)