2.2.4.2.1.7 LINE_CALLINFO

The LINE_CALLINFO packet is sent when call information about the specified call has changed. A call can be established using MakeCall packet. The application can send the GetCallInfo packet to determine the current call information.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

TotalSize

InitContext

fnPostProcessProcHandle

hCall

Msg

OpenContext

Param1

Param2

Param3

hRemoteLine

TotalSize (4 bytes): An unsigned 32-bit integer. The total size of the asynchronous event packet.

InitContext (4 bytes): An unsigned 32-bit integer. The opaque, client-specified session value that MUST be equal to the InitContext value that is specified in the original scoping of the line Initialize request.

fnPostProcessProcHandle (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.

hCall (4 bytes): An HCALL. The handle to the call or line device that is associated with the asynchronous event.

Msg (4 bytes): An unsigned 32-bit integer. MUST be set to 0x00000001 (LINE_CALLINFO).

OpenContext (4 bytes): An unsigned 32-bit integer. The opaque client-specified context value that MUST be equal to the OpenContext value that is specified in the original scoping of the line Open request.

This information MUST be passed back to the application with each completion and event that is associated with the handle of the line or call on the line. This field is not interpreted by TAPI.

Param1 (4 bytes): An unsigned 32-bit integer. The call information item that has changed. MUST be one or more of the LINECALLINFOSTATE_Constants.

Param2 (4 bytes): An unsigned 32-bit integer. This MUST be ignored on receipt and can be any value. 

Param3 (4 bytes): An unsigned 32-bit integer. This MUST be ignored on receipt and can be any value. 

hRemoteLine (4 bytes): An unsigned 32-bit integer. The handle of the client for the line value.

A LINE_CALLINFO message with number of owners incremented, number of owners decremented, and/or number of monitors changed indication is sent to applications that already have a handle for the call. This can be the result of another application changing ownership or monitorship to a call, for example using Open, Close, GetNewCalls and Shutdown packet.

The application that causes a change in the number of owners or monitors, for example, using DeallocateCall packet, does not itself receive a message indicating that the change has been done.

These LINE_CALLINFO messages are not sent when a notification of a new call is provided in a LINE_CALLSTATE message, because the call information already reflects the correct number of owners and monitors at the time the LINE_CALLSTATE messages are sent. LINE_CALLINFO messages are also suppressed in the case where a call is offered by TAPI to monitors through the LINECALLSTATE_UNKNOWN mechanism.

No LINE_CALLINFO messages are sent for a call after the call has entered the idle state. Specifically, changes in the number of owners and monitors are not reported as applications deallocate their handles for the idle call.