diff --git a/services/ai_orchestrator_service/voice.py b/services/ai_orchestrator_service/voice.py index 2ff607f..fa29e7a 100644 --- a/services/ai_orchestrator_service/voice.py +++ b/services/ai_orchestrator_service/voice.py @@ -1664,6 +1664,21 @@ def start_voice_session(session_id: str, payload: VoiceAIStartIn) -> VoiceAIStar ) name_source = str(voice_session.customer_name_source or "none").strip() or "none" name_resolved_at = str(voice_session.customer_name_resolved_at or "").strip() or None + if name_status == "name_not_obtained" and not name_value: + caller_number, caller_name = _resolve_caller_from_call(session, payload.call_id) + if _display_name_looks_trusted(customer, caller_number, caller_name): + name_status = "name_obtained" + name_value = customer.display_name + name_source = "known_customer" + name_resolved_at = now + _persist_voice_name_state( + session, + voice_session=voice_session, + status=name_status, + value=name_value, + source=name_source, + resolved_at=name_resolved_at, + ) if name_status == "name_obtained" and name_value: finalized_name = _finalize_customer_name( session,