LINEPROXYREQUEST
The LINEPROXYREQUEST structure contains parameter values of the application making the proxy request. Multiple TAPI call center functions generate a LINE_PROXYREQUEST message that references a LINEPROXYREQUEST structure.
typedef struct lineproxyrequest_tag {
DWORD dwSize;
DWORD dwClientMachineNameSize;
DWORD dwClientMachineNameOffset;
DWORD dwClientUserNameSize;
DWORD dwClientUserNameOffset;
DWORD dwClientAppAPIVersion;
DWORD dwRequestType;
union {
struct {
DWORD dwAddressID;
LINEAGENTGROUPLIST GroupList;
} SetAgentGroup;
struct {
DWORD dwAddressID;
DWORD dwAgentState;
DWORD dwNextAgentState;
} SetAgentState;
struct {
DWORD dwAddressID;
DWORD dwActivityID;
} SetAgentActivity;
struct {
DWORD dwAddressID;
LINEAGENTCAPS AgentCaps;
} GetAgentCaps;
struct {
DWORD dwAddressID;
LINEAGENTSTATUS AgentStatus;
} GetAgentStatus;
struct {
DWORD dwAddressID;
DWORD dwAgentExtensionIDIndex;
DWORD dwSize;
BYTE Params[1];
} AgentSpecific;
struct {
DWORD dwAddressID;
LINEAGENTACTIVITYLIST ActivityList;
} GetAgentActivityList;
struct {
DWORD dwAddressID;
LINEAGENTGROUPLIST GroupList;
} GetAgentGroupList;
struct {
HAGENT hAgent; // TAPI v3.0
DWORD dwAgentIDSize; // TAPI v3.0
DWORD dwAgentIDOffset; // TAPI v3.0
DWORD dwAgentPINSize; // TAPI v3.0
DWORD dwAgentPINOffset;
} CreateAgent;
struct {
HAGENT hAgent; // TAPI v3.0
DWORD dwAgentState; // TAPI v3.0
DWORD dwNextAgentState; // TAPI v3.0
} SetAgentStateEx;
struct {
HAGENT hAgent; // TAPI v3.0
DWORD dwMeasurementPeriod; // TAPI v3.0
} SetAgentMeasurementPeriod;
struct {
HAGENT hAgent; // TAPI v3.0
LINEAGENTINFO AgentInfo; // TAPI v3.0
} GetAgentInfo;
struct {
HAGENTSESSION hAgentSession; // TAPI v3.0
DWORD dwAgentPINSize;
DWORD dwAgentPINOffset;
HAGENT hAgent; // TAPI v3.0
GUID GroupID; // TAPI v3.0
DWORD dwWorkingAddressID; // TAPI v3.0
} CreateAgentSession;
struct {
HAGENT hAgent; // TAPI v3.0
LINEAGENTSESSIONLIST SessionList; // TAPI v3.0
} GetAgentSessionList;
struct {
HAGENTSESSION hAgentSession; // TAPI v3.0
LINEAGENTSESSIONINFO SessionInfo; // TAPI v3.0
} GetAgentSessionInfo;
struct {
HAGENTSESSION hAgentSession; // TAPI v3.0
DWORD dwAgentSessionState; // TAPI v3.0
DWORD dwNextAgentSessionState; // TAPI v3.0
} SetAgentSessionState;
struct {
GUID GroupID; // TAPI v3.0
LINEQUEUELIST QueueList; // TAPI v3.0
} GetQueueList;
struct {
DWORD dwQueueID; // TAPI v3.0
DWORD dwMeasurementPeriod; // TAPI v3.0
} SetQueueMeasurementPeriod;
struct {
DWORD dwQueueID; // TAPI v3.0
LINEQUEUEINFO QueueInfo; // TAPI v3.0
} GetQueueInfo;
struct {
LINEAGENTGROUPLIST GroupList; // TAPI v3.0
} GetGroupList;
};
} LINEPROXYREQUEST, *LPLINEPROXYREQUEST;
Members
- dwSize
- The total number of bytes allocated by TAPI to contain the LINEPROXYREQUEST structure. The dwTotalSize member of any structure contained within LINEPROXYREQUEST (for example, LINEAGENTCAPS) reflects only the number of bytes allocated for that specific structure.
- dwClientMachineNameSize
- dwClientMachineNameOffset
- Size, in bytes, (including the terminating NULL) and offset from the beginning of LINEPROXYREQUEST of a null-terminated string identifying the client machine that made this request.
- dwClientUserNameSize
- dwClientUserNameOffset
- Size, in bytes, (including the terminating NULL) and offset from the beginning of LINEPROXYREQUEST of a null-terminated string identifying the user under whose account the application is running on the client machine.
- dwClientAppAPIVersion
- The global (highest) API version supported by the application that made the request. The proxy handler should restrict the contents of any data returned to the application to those members and values that were defined in this, or earlier, versions of TAPI.
- dwRequestType
- One of the LINEPROXYREQUEST_ Constants. Identifies the type of function and the union component that defines the remaining data in the structure.
- SetAgentGroup
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENT.
- dwAddressID
- The identifier of the address for which the agent is to be set.
- GroupList
- A structure of type LINEAGENTGROUPLIST. Offsets within this structure are relative to the beginning of SetAgentGroup.GroupList rather than to the beginning of the LINEPROXYREQUEST structure.
- SetAgentState
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENTSTATE.
- dwAddressID
- The identifier of the address for which the agent state is to be set.
- dwAgentState
- The new agent state, or zero to leave the agent state unchanged.
- dwNextAgentState
- The new next agent state, or zero to use the default next state associated with the specified agent state.
- SetAgentActivity
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENTACTIVITY.
- dwAddressID
- The identifier of the address for which the agent activity is to be set.
- dwActivityID
- The identifier for the activity being selected.
- GetAgentCaps
- The union component used when dwRequestType is LINEPROXYREQUEST_GETAGENTCAPS.
- dwAddressID
- The identifier of the address for which the agent capabilities are to be retrieved.
- AgentCaps
- A structure of type LINEAGENTCAPS. Offsets within this structure are relative to the beginning of GetAgentCaps.AgentCaps rather than to the beginning of the LINEPROXYREQUEST structure. The dwTotalSize member is set by TAPI and the remaining bytes set to zero. The proxy handler must fill in dwNeededSize, dwUsedSize, and the remaining members as appropriate, before calling lineProxyResponse.
- GetAgentStatus
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENTGROUP.
- dwAddressID
- The identifier of the address for which the agent status is to be retrieved.
- AgentStatus
- A structure of type LINEAGENTSTATUS. Offsets within this structure are relative to the beginning of GetAgentStatus.AgentStatus rather than to the beginning of the LINEPROXYREQUEST structure. The dwTotalSize member is set by TAPI and the remaining bytes set to zero. The proxy handler must fill in dwNeededSize, dwUsedSize, and the remaining members as appropriate, before calling lineProxyResponse.
- AgentSpecific
- The union component used when dwRequestType is LINEPROXYREQUEST_AGENTSPECIFIC.
- dwAddressID
- The identifier of the address for which the agent status is to be retrieved.
- dwAgentExtensionIDIndex
- The index of the handler extension being invoked; the identifier's position within the array of extension identifiers returned in LINEAGENTCAPS.
- dwSize
- The total size, in bytes, of the Params parameter block.
- Params
- A block of memory that includes the contents passed to the handler from the application. If the handler is to return data to the application, it must be written into this parameter block before calling lineProxyResponse.
- GetAgentActivityList
- The union component used when dwRequestType is LINEPROXYREQUEST_GETAGENTACTIVITYLIST.
- dwAddressID
- The identifier of the address for which the agent activity list is to be retrieved.
- ActivityList
- A structure of type LINEAGENTACTIVITYLIST. Offsets within this structure are relative to the beginning of GetAgentActivityList.ActivityList rather than to the beginning of the LINEPROXYREQUEST structure. The dwTotalSize member is set by TAPI and the remaining bytes set to zero. The proxy handler must fill in dwNeededSize, dwUsedSize, and the remaining members as appropriate, before calling lineProxyResponse.
- GetAgentGroupList
- The union component used when dwRequestType is LINEPROXYREQUEST_GETAGENTGROUPLIST.
- dwAddressID
- The identifier of the address for which the agent group list is to be retrieved.
- GroupList
- A structure of type LINEAGENTGROUPLIST. Offsets within this structure are relative to the beginning of GetAgentGroupList.GroupList rather than to the beginning of the LINEPROXYREQUEST structure. The dwTotalSize member is set by TAPI and the remaining bytes set to zero. The proxy handler must fill in dwNeededSize, dwUsedSize, and the remaining members as appropriate, before calling lineProxyResponse.
- CreateAgent
- The union component used when dwRequestType is LINEPROXYREQUEST_CREATEAGENT.
- hAgent
- A unique identifier for an agent. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- dwAgentIDSize
- dwAgentIDOffset
- The size, in bytes, and offset from the beginning of the structure of a null-terminated string that specifies the ID of the agent.
- dwAgentPINSize
- dwAgentPINOffset
- The size, in bytes, and offset from the beginning of the structure of a null-terminated string that specifies the PIN or password of the agent.
- SetAgentStateEx
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENTSTATEEX.
- hAgent
- A unique identifier for an agent. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- dwAgentState
- dwNextAgentState
- One of the LINEAGENTSTATEEX_ Constants.
- SetAgentMeasurementPeriod
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENTMEASUREMENTPERIOD.
- hAgent
- A unique identifier for an agent. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- dwMeasurementPeriod
- The period (in seconds) for which the switch or implementation stores and calculates information. For example, dwNumberOfACDCalls holds the number of calls the agent handled; dwMeasurementPeriod indicates if this value referenced the calls handed in the last hour, day, or month.
- GetAgentInfo
- The union component used when dwRequestType is LINEPROXYREQUEST_GETAGENTINFO.
- hAgent
- A unique identifier for an agent. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- AgentInfo
- A structure of type LINEAGENTINFO.
- CreateAgentSession
- The union component used when dwRequestType is LINEPROXYREQUEST_CREATEAGENTSESSION.
- hAgentSession
- A unique identifier for an agent session.
- dwAgentPINSize
- dwAgentPINOffset
- The size, in bytes, and offset from the beginning of the structure of a null-terminated string that specifies the PIN or password of the agent.
- hAgent
- A unique identifier for an agent. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- GroupID
- A universally unique identifier for an ACD group. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- dwWorkingAddressID
- The identifier of the address on which the agent will receive calls for this session.
- GetAgentSessionList
- The union component used when dwRequestType is LINEPROXYREQUEST_GETAGENTSESSIONLIST.
- hAgent
- A unique identifier for an agent. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- SessionList
- A structure of type LINEAGENTSESSIONLIST.
- GetAgentSessionInfo
- The union component used when dwRequestType is LINEPROXYREQUEST_GETAGENTSESSIONINFO.
- hAgentSession
- A unique identifier for an agent session. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- SessionInfo
- A structure of type LINEAGENTSESSIONINFO.
- SetAgentSessionState
- The union component used when dwRequestType is LINEPROXYREQUEST_SETAGENTSESSIONSTATE.
- hAgentSession
- A unique identifier for an agent session. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- dwAgentSessionState
- dwNextAgentSessionState
- These members use LINEAGENTSESSIONSTATE_ constants.
- GetQueueList
- The union component used when dwRequestType is LINEPROXYREQUEST_GETQUEUELIST.
- GroupID
- A universally unique identifier for an ACD group. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- QueueList
- A structure of type LINEQUEUELIST.
- SetQueueMeasurementPeriod
- The union component used when dwRequestType is LINEPROXYREQUEST_SETQUEUEMEASUREMENTPERIOD.
- dwQueueID
- A unique identifier for a queue. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- dwMeasurementPeriod
- The period (in seconds) for which the switch or implementation stores and calculates information.
- GetQueueInfo
- The union component used when dwRequestType is LINEPROXYREQUEST_GETQUEUEINFO.
- dwQueueID
- A unique identifier for a queue. It is the responsibility of the agent handler to generate and maintain uniqueness of this identifier.
- QueueInfo
- A structure of type LINEQUEUEINFO.
- GetGroupList
- The union component used when dwRequestType is LINEPROXYREQUEST_GETGROUPLIST.
- GroupList
- A structure of type LINEAGENTGROUPLIST.
Remarks
An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades.
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 95 or later.
Version: Requires TAPI 2.0 or later.
Header: Declared in Tapi.h.
See Also
lineProxyResponse, LINEAGENTCAPS, LINEAGENTGROUPLIST, LINEAGENTSTATUS, LINEAGENTACTIVITYLIST, LINEAGENTSESSIONLIST, LINEAGENTSESSIONINFO, LINEQUEUELIST, LINE_PROXYREQUEST