Mirrors Python's _AMDClassifier two-gate architecture:
a result is only emitted when both a verdict (from LLM or heuristic) and
a silence gate (from VAD or timeout) are satisfied.
Start AMD before creating a SIP participant so no audio is missed. The
detection timeout begins only after listening starts; SIP settings bound the
pre-answer phase. If the call ends before audio arrives, AMD settles as
uncertain with reason = "participant_missing".
Emits 'amd_prediction' once with the final AMDPredictionEvent when
a run settles (mirrors python AMD(EventEmitter[Literal["amd_prediction"]])).
Answering Machine Detection.
Mirrors Python's
_AMDClassifiertwo-gate architecture: a result is only emitted when both a verdict (from LLM or heuristic) and a silence gate (from VAD or timeout) are satisfied.Start AMD before creating a SIP participant so no audio is missed. The detection timeout begins only after listening starts; SIP settings bound the pre-answer phase. If the call ends before audio arrives, AMD settles as uncertain with
reason = "participant_missing".Emits
'amd_prediction'once with the final AMDPredictionEvent when a run settles (mirrors pythonAMD(EventEmitter[Literal["amd_prediction"]])).