#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)