rtpbench conformance cases: livekit

date 2026-10-21T15:40:28+00:00, image rtpbench:fe41c0856bb3, commit aivc-b95f5af-wave-16-g687f998, runs 10, kernel 6.8.0-147-generic, python 3.14.8

livekit, clean

netem per direction: none

caseresulttimings, ms (true value within the error bar)failed checks
invite-retransmit pass 10/10INVITE to the 2xx: 343.1 [316.3, 357.5] ms (-0.4/+0.4) n=10
INVITE copy to the agent's response: 92.9 [66.0, 106.9] ms (-0.4/+0.4) n=10
-
refer-lost pass 10/10end of the request to REFER: 1649.5 [1643.5, 1660.0] ms (-17.0/+17.0) n=10
final NOTIFY to agent BYE: 1000.8 [1000.7, 1001.3] ms (-0.4/+0.4) n=10
REFER to its copy: 501.0 [500.5, 501.1] ms (-0.4/+0.4) n=10
-
bye-lost pass 10/10BYE to its copy: 500.9 [500.4, 501.0] ms (-0.4/+0.4) n=10-

True value = measured − error; the error lies within:

Wall-clock steps during the run: none.

RTP pacing, livekit

The agent's RTP as the caller received it, ms, median [min, max] over calls: late, p99 of how much later than their timestamps say the packets arrived, against the earliest before them: the jitter buffer a receiver needs to play 99% of them in time; jitter, the RFC 3550 interarrival jitter estimate, its median over each call. On a clean network both are the agent's own pacing (and a carrier's); a profile adds its own.

profilecallslate, p99jitter
clean3020.7 [0.6, 21.1]0.12 [0.07, 0.44]

Pauses: none; outside a hold, the agent's RTP never went on after stopping for a second or more.

Calls

calleragenttall bars: speech · thin: RTP flowing · ticks: SIP (hover for detail)

invite-retransmit · clean · run 1 pass

0 s0.5 s1 s1.5 s2 s2.5 scaller SIPcaller speechcaller RTPagent SIPagent speechagent RTPagent speech 1.023 s to 1.413 s (webrtcvad)agent speech 1.473 s to 1.672 s (webrtcvad)agent speech 1.702 s to 2.152 s (webrtcvad)agent speech 2.173 s to 2.503 s (webrtcvad)agent RTP 0.643 s to 2.588 s0.000 s → INVITE sip:agent@172.16.2.6 SIP/2.0 (1 INVITE)INVITE0.000 s ← SIP/2.0 100 Processing (1 INVITE)100 INVITE0.002 s ← SIP/2.0 180 Ringing (1 INVITE)0.335 s ← SIP/2.0 200 OK (1 INVITE)200 INVITE0.501 s → INVITE sip:agent@172.16.2.6 SIP/2.0 (1 INVITE)INVITE0.586 s ← SIP/2.0 200 OK (1 INVITE)200 INVITE0.586 s → ACK sip:172.16.2.6:5060;transport=udp SIP/2.0 (1 ACK)2.587 s → BYE sip:172.16.2.6:5060;transport=udp SIP/2.0 (2 BYE)BYE2.587 s ← SIP/2.0 200 OK (2 BYE)200 BYE
SIP messages (9)
sdirectionmessageCSeq
0.000caller → agentINVITE sip:agent@172.16.2.6 SIP/2.01 INVITE
0.000agent → callerSIP/2.0 100 Processing1 INVITE
0.002agent → callerSIP/2.0 180 Ringing1 INVITE
0.335agent → callerSIP/2.0 200 OK1 INVITE
0.501caller → agentINVITE sip:agent@172.16.2.6 SIP/2.01 INVITE
0.586agent → callerSIP/2.0 200 OK1 INVITE
0.586caller → agentACK sip:172.16.2.6:5060;transport=udp SIP/2.01 ACK
2.587caller → agentBYE sip:172.16.2.6:5060;transport=udp SIP/2.02 BYE
2.587agent → callerSIP/2.0 200 OK2 BYE

refer-lost · clean · run 1 pass

0 s2 s4 s6 s8 s10 s12 s14 scaller SIPcaller speechcaller RTPagent SIPagent speechagent RTPcaller speech 6.507 s to 10.467 s (labelled)agent speech 1.015 s to 1.405 s (webrtcvad)agent speech 1.466 s to 1.665 s (webrtcvad)agent speech 1.696 s to 2.145 s (webrtcvad)agent speech 2.165 s to 2.495 s (webrtcvad)agent speech 2.926 s to 3.815 s (webrtcvad)agent speech 3.836 s to 4.725 s (webrtcvad)agent speech 14.365 s to 14.675 s (webrtcvad)caller RTP 0.369 s to 14.709 sagent RTP 0.405 s to 14.655 s0.000 s → INVITE sip:agent@172.16.2.6 SIP/2.0 (1 INVITE)INVITE0.000 s ← SIP/2.0 100 Processing (1 INVITE)100 INVITE0.005 s ← SIP/2.0 180 Ringing (1 INVITE)0.348 s ← SIP/2.0 200 OK (1 INVITE)0.348 s → ACK sip:172.16.2.6:5060;transport=udp SIP/2.0 (1 ACK)12.111 s ← REFER sip:rtpbench@172.16.1.3:37679 SIP/2.0 (2 REFER)REFER12.612 s ← REFER sip:rtpbench@172.16.1.3:37679 SIP/2.0 (2 REFER)12.612 s → SIP/2.0 202 Accepted (2 REFER)202 REFER12.612 s → NOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.0 (2 NOTIFY)12.612 s ← SIP/2.0 200 success (2 NOTIFY)13.652 s → NOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.0 (3 NOTIFY)13.653 s ← SIP/2.0 200 success (3 NOTIFY)200 NOTIFY14.654 s ← BYE sip:rtpbench@172.16.1.3:37679 SIP/2.0 (3 BYE)14.654 s → SIP/2.0 200 OK (3 BYE)
SIP messages (14)
sdirectionmessageCSeq
0.000caller → agentINVITE sip:agent@172.16.2.6 SIP/2.01 INVITE
0.000agent → callerSIP/2.0 100 Processing1 INVITE
0.005agent → callerSIP/2.0 180 Ringing1 INVITE
0.348agent → callerSIP/2.0 200 OK1 INVITE
0.348caller → agentACK sip:172.16.2.6:5060;transport=udp SIP/2.01 ACK
12.111agent → callerREFER sip:rtpbench@172.16.1.3:37679 SIP/2.02 REFER
12.612agent → callerREFER sip:rtpbench@172.16.1.3:37679 SIP/2.02 REFER
12.612caller → agentSIP/2.0 202 Accepted2 REFER
12.612caller → agentNOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.02 NOTIFY
12.612agent → callerSIP/2.0 200 success2 NOTIFY
13.652caller → agentNOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.03 NOTIFY
13.653agent → callerSIP/2.0 200 success3 NOTIFY
14.654agent → callerBYE sip:rtpbench@172.16.1.3:37679 SIP/2.03 BYE
14.654caller → agentSIP/2.0 200 OK3 BYE

bye-lost · clean · run 1 pass

0 s2 s4 s6 s8 s10 s12 s14 scaller SIPcaller speechcaller RTPagent SIPagent speechagent RTPcaller speech 6.558 s to 10.517 s (labelled)agent speech 1.023 s to 1.413 s (webrtcvad)agent speech 1.473 s to 1.673 s (webrtcvad)agent speech 1.703 s to 2.153 s (webrtcvad)agent speech 2.173 s to 2.503 s (webrtcvad)agent speech 2.933 s to 3.823 s (webrtcvad)agent speech 3.843 s to 4.733 s (webrtcvad)agent speech 13.893 s to 14.283 s (webrtcvad)agent speech 14.343 s to 14.543 s (webrtcvad)agent speech 14.573 s to 14.717 s (webrtcvad)caller RTP 0.359 s to 14.739 sagent RTP 0.383 s to 14.697 s0.000 s → INVITE sip:agent@172.16.2.6 SIP/2.0 (1 INVITE)INVITE0.000 s ← SIP/2.0 100 Processing (1 INVITE)100 INVITE0.002 s ← SIP/2.0 180 Ringing (1 INVITE)0.338 s ← SIP/2.0 200 OK (1 INVITE)0.339 s → ACK sip:172.16.2.6:5060;transport=udp SIP/2.0 (1 ACK)12.166 s ← REFER sip:rtpbench@172.16.1.3:46851 SIP/2.0 (2 REFER)REFER12.166 s → SIP/2.0 202 Accepted (2 REFER)202 REFER12.166 s → NOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.0 (2 NOTIFY)12.166 s ← SIP/2.0 200 success (2 NOTIFY)13.193 s → NOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.0 (3 NOTIFY)13.193 s ← SIP/2.0 200 success (3 NOTIFY)200 NOTIFY14.193 s ← BYE sip:rtpbench@172.16.1.3:46851 SIP/2.0 (3 BYE)14.694 s ← BYE sip:rtpbench@172.16.1.3:46851 SIP/2.0 (3 BYE)14.695 s → SIP/2.0 200 OK (3 BYE)200 BYE
SIP messages (14)
sdirectionmessageCSeq
0.000caller → agentINVITE sip:agent@172.16.2.6 SIP/2.01 INVITE
0.000agent → callerSIP/2.0 100 Processing1 INVITE
0.002agent → callerSIP/2.0 180 Ringing1 INVITE
0.338agent → callerSIP/2.0 200 OK1 INVITE
0.339caller → agentACK sip:172.16.2.6:5060;transport=udp SIP/2.01 ACK
12.166agent → callerREFER sip:rtpbench@172.16.1.3:46851 SIP/2.02 REFER
12.166caller → agentSIP/2.0 202 Accepted2 REFER
12.166caller → agentNOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.02 NOTIFY
12.166agent → callerSIP/2.0 200 success2 NOTIFY
13.193caller → agentNOTIFY sip:172.16.2.6:5060;transport=udp SIP/2.03 NOTIFY
13.193agent → callerSIP/2.0 200 success3 NOTIFY
14.193agent → callerBYE sip:rtpbench@172.16.1.3:46851 SIP/2.03 BYE
14.694agent → callerBYE sip:rtpbench@172.16.1.3:46851 SIP/2.03 BYE
14.695caller → agentSIP/2.0 200 OK3 BYE