Fixes regression from Ib4285e7aae
RTCP multiplexing requires the RTCP sender to maybe lock the same output
stream, maybe lock some other one. Allow for both.
Change-Id: I6fcef32e656f8f0de46ad777f11a19c259ce35c7
With selected_sfd being protected by in_lock, we pretty much have to
hold at least in_lock everywhere, and end up requiring both locks in
many places. The distinction has become pointless.
Change-Id: Ic0ad976c2d68d9639b9434da7f0e6e9c0d84c185
PTs that were remembered from a previous handshake to save codec options
must be flagged as such so that they're not considered as having been
present in the current offer, so that they can be flagged as transcoding
PTs.
closes#1989
Change-Id: I19c2aff7e83ed338a81be99544645821165304cd
When a new offer is received while recording is in paused mode,
recording should remain paused until explicitly re-enabled.
The detect_setup_recording function was starting recording when
record_call flags were set, ignoring the current pause state.
🤖 Generated with [Claude Code](https://claude.ai/code)
Closes#1983
Change-Id: I49daf03532b74ec942550b184a7e7d2828e70f81
Co-Authored-By: Claude <noreply@anthropic.com>
Write human-readable timestamp markers to the metadata file whenever
recording is paused or resumed via control protocol commands.
Include ISO-format timestamps with millisecond precision that aid in
tracking changes in recording state.
Example metadata output:
Recording paused at: 2025-07-29T15:30:45 (1234567.890 ms)
Recording resumed at: 2025-07-29T15:31:20 (1234598.123 ms)
🤖 Generated with [Claude Code](https://claude.ai/code)
Closes#1982
Change-Id: Id92c14900a29f53ba0ee00b3d0f53132bb11cff7
Co-Authored-By: Claude <noreply@anthropic.com>
Simply take the xmlrpc-callback address as string and don't try to parse
it out. Store it in the call object as string as well.
Obsolete `created_from_addr`. The string form `created_from` is all we
need.
Change `created_from` to `str` as well.
Change-Id: Ib67b57b1d2d474d7b033f56ef8be59f71e44641b
Different instances of rtpengine may be configured with different port
ranges. If HA requests usage of a port not part of our pool, allow it.
Change-Id: Ib4ace6c4facac35ea44948720fa46bcbdaf441d3
Use different function to get a port from a pool and return it, and
reserve a port in a pool permanently during startup.
Change-Id: I030dc2ebbe30c9b47252669717f235177f15219d
Protect selected_sfd with in_lock.
Protect RTCP sending with in_lock and out_lock as appropriate.
Has the odd side effect of RTCP reports expected in tests to be sent one
packet later than before.
Closes#1966
Probably fixes#1927
Change-Id: I225b43dff8e8fbb938d3be6aad50249997615d77