sipp icon indicating copy to clipboard operation
sipp copied to clipboard

Cannot use CSV field variables in recv timeout parameter

Open medOualla opened this issue 6 months ago • 0 comments

I- Problem Description:

I need to set dynamic timeout values for BYE request handling based on CSV data, but SIPp does not support reading CSV field variables in recv command parameters.

1- Current Scenario:

<recv request="BYE" timeout="[field3]" ontimeout="2" next="3">
</recv>

This fails because [field3] from CSV cannot be used directly in the timeout parameter.

II- Attempted Solutions:

1- Variable Assignment Approach

I've tried using assignstr and todouble to convert CSV field3 to numeric variable:

<nop>
  <action>
    <assignstr assign_to="timervalue" value="[field3]" />
    <todouble assign_to="tmresult" variable="timervalue" />
  </action>
</nop>

<recv request="BYE" timeout="[$tmresult]" ontimeout="2" next="3">
</recv>
- Error: message timeout 'timeout' parameter, "[$tmresult]" is not a valid integer!

2. Pause Workaround

Current working but problematic solution:

<pause variable="tmresult"/>
<recv request="BYE" timeout="100" ontimeout="2" next="3">
</recv>

[!WARNING] Issue: When UAS sends BYE during pause period, SIPp treats it as an error instead of processing it normally, the return code is 1.

III- Expected Behavior

Should be able to use CSV field variables ([field3]) or computed variables ([$tmresult]) in recv timeout parameter.

1- Use Case

UAC needs to wait a configurable amount of time (from CSV) for UAS to send BYE. If timeout expires, UAC should send BYE itself. The timeout value varies per test case.

2-Environment

  • SIPp version: SIPp v3.7.3-TLS-SCTP-PCAP-SHA256
  • Platform: Debian 12

3- References

Related discussion (no working solution): https://sipp-users.narkive.com/Qge29Jk0/using-variables-in-recv-command-parameters

I appreciate any help on implementing dynamic timeouts for recv commands from CSV data.

medOualla avatar Jul 29 '25 13:07 medOualla