netem per direction: none
| case | result | timings, ms (true value within the error bar) | failed checks |
|---|---|---|---|
| invite-retransmit | pass 10/10 | INVITE to the 2xx: 2.1 [1.8, 2.3] ms (-0.4/+0.4) n=10 INVITE copy to the agent's response: 0.2 [0.2, 0.2] ms (-0.4/+0.4) n=10 | - |
| refer-lost | pass 10/10 | end of the request to REFER: 1502.5 [1502.2, 1503.2] ms (-17.0/+17.0) n=10 final NOTIFY to agent BYE: 12.9 [2.9, 21.1] ms (-0.4/+0.4) n=10 REFER to its copy: 501.9 [433.2, 557.8] ms (-0.4/+0.4) n=10 | - |
| bye-lost | pass 10/10 | BYE to its copy: 476.6 [436.6, 575.3] ms (-0.4/+0.4) n=10 | - |
True value = measured − error; the error lies within:
Wall-clock steps during the run: none.
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.
| profile | calls | late, p99 | jitter |
|---|---|---|---|
| clean | 20 | 1.1 [0.9, 1.2] | 0.15 [0.06, 0.32] |
Pauses: none; outside a hold, the agent's RTP never went on after stopping for a second or more.
| s | direction | message | CSeq |
|---|---|---|---|
| 0.000 | caller → agent | INVITE sip:openai@172.16.1.4 SIP/2.0 | 1 INVITE |
| 0.000 | agent → caller | SIP/2.0 100 Giving it a try | 1 INVITE |
| 0.002 | agent → caller | SIP/2.0 200 OK | 1 INVITE |
| 0.486 | agent → caller | SIP/2.0 200 OK | 1 INVITE |
| 0.501 | caller → agent | INVITE sip:openai@172.16.1.4 SIP/2.0 | 1 INVITE |
| 0.502 | agent → caller | SIP/2.0 200 OK | 1 INVITE |
| 0.502 | caller → agent | ACK sip:172.16.1.4:5060 SIP/2.0 | 1 ACK |
| 2.503 | caller → agent | BYE sip:172.16.1.4:5060 SIP/2.0 | 2 BYE |
| 2.503 | agent → caller | SIP/2.0 200 OK | 2 BYE |
| s | direction | message | CSeq |
|---|---|---|---|
| 0.000 | caller → agent | INVITE sip:openai@172.16.1.4 SIP/2.0 | 1 INVITE |
| 0.000 | agent → caller | SIP/2.0 100 Giving it a try | 1 INVITE |
| 0.003 | agent → caller | SIP/2.0 200 OK | 1 INVITE |
| 0.003 | caller → agent | ACK sip:172.16.1.4:5060 SIP/2.0 | 1 ACK |
| 11.544 | agent → caller | REFER sip:rtpbench@172.16.2.3:56519 SIP/2.0 | 2 REFER |
| 12.066 | agent → caller | REFER sip:rtpbench@172.16.2.3:56519 SIP/2.0 | 2 REFER |
| 12.066 | caller → agent | SIP/2.0 202 Accepted | 2 REFER |
| 12.066 | caller → agent | NOTIFY sip:172.16.1.4:5060 SIP/2.0 | 2 NOTIFY |
| 12.067 | agent → caller | SIP/2.0 200 OK | 2 NOTIFY |
| 13.094 | caller → agent | NOTIFY sip:172.16.1.4:5060 SIP/2.0 | 3 NOTIFY |
| 13.095 | agent → caller | SIP/2.0 200 OK | 3 NOTIFY |
| 13.105 | agent → caller | BYE sip:rtpbench@172.16.2.3:56519 SIP/2.0 | 3 BYE |
| 13.105 | caller → agent | SIP/2.0 200 OK | 3 BYE |
| s | direction | message | CSeq |
|---|---|---|---|
| 0.000 | caller → agent | INVITE sip:openai@172.16.1.4 SIP/2.0 | 1 INVITE |
| 0.000 | agent → caller | SIP/2.0 100 Giving it a try | 1 INVITE |
| 0.002 | agent → caller | SIP/2.0 200 OK | 1 INVITE |
| 0.002 | caller → agent | ACK sip:172.16.1.4:5060 SIP/2.0 | 1 ACK |
| 11.543 | agent → caller | REFER sip:rtpbench@172.16.2.3:59301 SIP/2.0 | 2 REFER |
| 11.543 | caller → agent | SIP/2.0 202 Accepted | 2 REFER |
| 11.544 | caller → agent | NOTIFY sip:172.16.1.4:5060 SIP/2.0 | 2 NOTIFY |
| 11.544 | agent → caller | SIP/2.0 200 OK | 2 NOTIFY |
| 12.570 | caller → agent | NOTIFY sip:172.16.1.4:5060 SIP/2.0 | 3 NOTIFY |
| 12.571 | agent → caller | SIP/2.0 200 OK | 3 NOTIFY |
| 12.584 | agent → caller | BYE sip:rtpbench@172.16.2.3:59301 SIP/2.0 | 3 BYE |
| 13.072 | agent → caller | BYE sip:rtpbench@172.16.2.3:59301 SIP/2.0 | 3 BYE |
| 13.072 | caller → agent | SIP/2.0 200 OK | 3 BYE |