LINE_CALLSTATE сообщение

Сообщение LINE_CALLSTATE TAPI отправляется при изменении состояния указанного вызова. Как правило, несколько таких сообщений получаются в течение всего времени существования вызова. Приложения получают уведомления о новых входящих вызовах с этим сообщением; новый вызов находится в состоянии предложения . Приложение может использовать lineGetCallStatus для получения более подробных сведений о текущем состоянии вызова.

            

Параметры

hDevice

Дескриптор вызова.

dwCallbackInstance

Экземпляр обратного вызова, предоставленный при открытии строки вызова.

dwParam1

Новое состояние вызова. Этот параметр должен быть одной из следующих констант LINECALLSTATE_.

dwParam1 Значение
LINECALLSTATE_BUSY
DwParam2 содержит сведения о режиме занятости. Этот параметр использует одну из констант LINEBUSYMODE_.
LINECALLSTATE_CONNECTED
DwParam2 содержит сведения о режиме подключения. Этот параметр использует одну из констант LINECONNECTEDMODE_.
LINECALLSTATE_DIALTONE
DwParam2 содержит сведения о режиме звонка. Этот параметр использует одну из констант LINEDIALTONEMODE_.
LINECALLSTATE_OFFERING
DwParam2 содержит сведения о режиме подключения. Этот параметр использует одну из констант LINEOFFERINGMODE_.
LINECALLSTATE_SPECIALINFO
DwParam2 содержит сведения о режиме специальных сведений. Этот параметр использует одну из констант LINESPECIALINFO_.
LINECALLSTATE_DISCONNECTED
DwParam2 содержит сведения о режиме отключения. Этот параметр использует одну из констант LINEDISCONNECTMODE_.

dwParam2

Сведения, зависящие от состояния вызова. См . dwParam1.

Примечание

В случаях, когда отложенный ответ подходит, используйте LINEDISCONNECTMODE_TEMPFAILURE. Если ответ в списке блокировок подходит, используйте LINEDISCONNECT_BLOCKED. Дополнительные сведения см. в разделе константы LINEDISCONNECTMODE_.

Если параметру dwParam1 LINECALLSTATE_CONFERENCED, dwParam2 содержит параметр hConfCall родительского вызова конференции, участником которой является субъект hCall . Если вызов, указанный в dwParam2 , ранее не считался приложением родительским конференц-вызовом (hConfCall), приложение должно сделать это в результате этого сообщения. Если приложение не имеет дескриптора родительского вызова конференции (так как оно ранее вызывало lineDeallocateCall для этого дескриптора), dwParam2 имеет значение NULL.

dwParam3

Если значение равно нулю, этот параметр указывает, что привилегии приложения для вызова не изменились.

Если значение не равно нулям, оно указывает привилегию приложения для вызова. Это происходит в следующих ситуациях: (1) Первый раз, когда приложению предоставляется дескриптор для этого вызова; (2) Если приложение является целью передачи вызова (даже если приложение уже было владельцем вызова). Этот параметр использует одну из следующих констант LINECALLPRIVILEGE_.

Возвращаемое значение

Нет возвращаемого значения.

Комментарии

Это сообщение отправляется любому приложению, у которого есть дескриптор вызова. Сообщение LINE_CALLSTATE также уведомляет приложения, которые отслеживают вызовы в строке, о существовании и состоянии исходящих вызовов, установленных другими приложениями или вручную пользователем (например, на подключенном телефонном устройстве). Состояние вызова таких вызовов отражает фактическое состояние вызова, которое не является предложением. Проверяя состояние вызова, приложение может определить, является ли вызов входящим вызовом, на который необходимо ответить.

Сообщение LINE_CALLSTATE с неизвестным состоянием вызова можно отправить приложению мониторинга в результате успешного выполнения lineMakeCall, lineForward, lineUnpark, lineSetupTransfer, linePickup, lineSetupConference или linePrepareAddToConference, запрошенного другим приложением. В то же время, когда запрашивающее приложение отправляет LINE_REPLY (успешно) для запрошенной операции, всем приложениям мониторинга в строке отправляется сообщение LINE_CALLSTATE (неизвестно). Вскоре после этого в запрашивающие и отслеживающие приложения отправляется сообщение LINE_CALLSTATE , указывающее "реальное" состояние вызова вновь созданного вызова (с использованием сведений, предоставленных поставщиком услуг).

Сообщение LINE_CALLSTATE (неизвестно) отправляется в приложения мониторинга только в том случае, если lineCompleteTransfer вызывает разрешение вызовов в трехсторонней конференции.

Для обеспечения обратной совместимости старые приложения не ожидают какого-либо конкретного значения сообщения LINECALLSTATE_CONFERENCED в dwParam2 . Поэтому TAPI передает родительский вызов hConfCall в dwParam2 независимо от версии API приложения, получающего сообщение. В случае конференц-звонка, инициированного поставщиком услуг, старое приложение не знает, что родительский звонок стал конференц-связью, если это не произойдет для спонтанного изучения других сведений (например, call lineGetConfRelatedCalls).

Это сообщение нельзя отключить.

Требования

Требование Значение
Версия TAPI
Требуется TAPI 2.0 или более поздней версии
Заголовок
Tapi.h

См. также раздел

LINE_REPLY

lineCompleteTransfer

lineDeallocateCall

LINEDIALPARAMS

lineForward

lineGenerateDigits

lineGetCallStatus

lineGetConfRelatedCalls

lineMakeCall

linePickup

linePrepareAddToConference

lineSetupTransfer

lineUnpark