The LINECALLINFO Data Structure (Windows Embedded CE 6.0)
1/6/2010
A LINECALLINFO structure exists for each incoming and outgoing call. The application can get this information by calling the lineGetCallInfo function. The LINECALLINFO structure stores a large amount of information about a call, and is therefore an important source of data. Generally, a logging application reads from LINECALLINFO and writes this information into its log file.
The call information that is stored in the LINECALLINFO structure includes, among other things, the following items.
- Bearer mode, data rate. The bearer mode (voice, data) and data rate (in bits per second) of the call, for digital data calls.
- Media mode. The current media mode of the call. Unknown is the mode that is specified if this information is unknown, and the other set bits indicate the media modes that might exist on the call.
- Call origin. Indicates whether the call originated from an internal caller, an external caller, or an unknown caller.
- Caller-ID. Parameter that identifies the originating party of a call. The caller_ID can be in a variety of name or number formats, determined by what the hookswitch or network provides.
- Called-ID. Parameter that identifies the party that originally was dialed by the caller.
- Connected-ID. Parameter that identifies the party to which the call actually was connected. This ID can be different from the called party, if the call was diverted.
- Redirection-ID. Parameter that identifies to the caller the number to which the call is now diverted (or redirected).
- Redirecting-ID. Parameter that identifies to the caller the original destination from which the call was diverted (or redirected).
- User-user information. User-user information that is sent by the remote station (ISDN).
An application typically reads the information from the LINECALLINFO structure at the following times.
- When the application first receives a handle for a call in the LINE_CALLSTATE message.
- Each time that the application receives notification in a LINE_CALLINFO message that the LINECALLINFO structure has changed. Whenever any part of the structure changes, a LINE_CALLINFO message is sent to the application to indicating the information item that has changed.
Both the LINE_CALLSTATE and LINE_CALLINFO messages also supply the handle of the call as a parameter.
Much of the information that is held in the LINECALLINFO structure remains fixed for the duration of the call. Information about a call that changes dynamically, such as call progress status, is available in the LINECALLSTATUS structure, which is returned with the lineGetCallStatus function. Other information that is needed by logging applications and that is not stored in LINECALLINFO is call start time, call stop time, and the duration of the call, which the application determines by checking the system time that the corresponding LINE_CALLSTATE messages are received.
The LINECALLINFO structure stays intact after the call is disconnected, so that the logging application can read it later in order to write additional information into the log. LINECALLINFO remains available only until the last application that had a handle for the call (owner and monitor handles) deallocates its handle.
See Also
Reference
lineGetCallInfo
lineGetCallStatus
LINECALLINFO
LINECALLSTATUS