Skip to content

Cannot use CSV field variables in recv timeout parameter #801

@medOualla

Description

@medOualla

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions