| Предыдущий | Следующий |
| TAPI_E_DESTBUSY | TAPI_E_DESTUNAVAIL |
TAPI_E_DESTNOANSWER
Интерпретация кода
Для TAPI_E_DESTNOANSWER () рабочая граница — адресат не отвечает. Код относится к TAPI 3 call-control и provider state machine. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
TAPI state изменяется событиями provider независимо от UI-команд; поэтому call/address/terminal generation нужно связать с каждым asynchronous request.
Фрагменты исходного EN-описания
TAPI_E_DESTNOANSWER is HRESULT 2147745845 ( 0X80040035 ) from Tapi3err.h.
It follows an alerting or ringing interval in which the remote party never accepts the call.
Call forwarding, voicemail policy, do-not-disturb settings, or an unattended endpoint can extend alerting until the provider reports it.
A caller-side setup timeout can produce it even when the remote device continues to ring, so record which layer ended the attempt.
Evidence до cleanup
- call ID, privilege, current call state и destination.
- address ID/provider и параметры answer/dial/transfer/conference.
- первое state event, async request ID и native HRESULT.
Capabilities принадлежат конкретному service provider и device. То, что операция доступна на одном адресе, не доказывает её допустимость для другого address/media/terminal.
Как воспроизвести
Сопоставьте первый producer с условием «адресат не отвечает»: если producer, object generation или method отличаются, это уже другой инцидент, даже при похожем пользовательском сообщении.
Разделяйте asynchronous completion, remote call state и provider loss. Сохраняйте первое событие, которое изменило state, до автоматического повтора.
После изменения
Обрабатывайте состояние как завершившуюся/изменившуюся асинхронную операцию; повторяйте только после нового call/request generation и проверки side effects.
Технические ссылки
- Microsoft: TAPI_E constants.
- Microsoft: lineMakeCall.
- Microsoft: TAPI 3.1 Reference.
- Microsoft: Telephony API interfaces.
Нужно найти другой код? Найти другой код состояния или ошибки.