diff --git a/src/call/call.c b/src/call/call.c index 86dcd7a90..a53e235c1 100644 --- a/src/call/call.c +++ b/src/call/call.c @@ -1027,6 +1027,8 @@ static void call_audio_batch_tick(void* arg) { struct etcp_tx_snapshot transport; if (etcp_tx_get_snapshot(s->ctx->inst, now, &transport) == 0) snapshot.transport_bytes = transport.queued_bytes + transport.inflight_bytes; + struct ETCP_ROUTER_PATH path = etcp_router_get_path(s->ctx->inst, s->group_id, s->peer_node_id, ETCP_RT_ID_CALL_AUDIO); + snapshot.peer_id = path.next_hop_node_id; snapshot.tx_epoch = path.tx_epoch; snapshot.wire_tx_bytes = path.wire_tx_bytes; audio->record_tx(s->call_id, &snapshot); } if (call_audio_batch_step(&s->audio_batch, now, found ? &net : NULL)) diff --git a/src/call/call_audio_history.h b/src/call/call_audio_history.h index b8b7ab75b..e2719e2a6 100644 --- a/src/call/call_audio_history.h +++ b/src/call/call_audio_history.h @@ -20,6 +20,7 @@ struct call_history_rx { }; struct call_history_tx { uint64_t at_ms, queued_bytes, inflight_bytes, transport_bytes; + uint64_t peer_id, tx_epoch, wire_tx_bytes; /* Текущий путь звонка: разность счётчиков только при одинаковых peer/epoch. */ }; struct call_audio_history { uint64_t now_ms;