randomsipp

SIPp - How to generate a random number in SIPp scenario?


Currently, I need to run SIPp scenario to simulate a large of call for loading test. In the script of the caller, after receiving 200 OK message and before sending BYE message, I need to pause a duration to simulate for call duration as follows:

Caller:

Invite ------------->

...

200 OK <----------

ACK -------------->

pause milliseconds="xxx"

BYE -------------->

I need to generate random value for XXX to simulate for the different call durations which is similar to real calls.

I tried to generate random values in .csv file and get these values into caller script, but it's not successful. I get an error like this: "Pause milliseconds, ... is not a floating point number!"

How can I generate a random value in a SIPp script?


Solution

  • From the SIPp reference document, which you may find a useful document for your future SIPp needs:

    <pause distribution=> Indicates which statistical distribution to use to determine the length of the pause. Without GSL, you may use uniform or fixed. With GSL, normal, exponential, gamma, lambda, lognormal, negbin, (negative binomial), pareto, and weibull are available. Depending on the distribution you select, you must also supply distribution specific parameters. The following examples show the various types of distributed pauses:
    <pause distribution="fixed" value="1000" /> pauses for 1 second.
    <pause distribution="uniform" min="2000" max="5000"/> pauses between 2 and 5 seconds.
    The remaining distributions require GSL. In general the parameter names were chosen to be as consistent with Wikipedia's distribution description pages.
    <pause distribution="normal" mean="60000" stdev="15000"/> provides a normal pause with a mean of 60 seconds (i.e. 60,000 ms) and a standard deviation of 15 seconds. The mean and standard deviation are specified as integer milliseconds.