-
Notifications
You must be signed in to change notification settings - Fork 416
Description
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.