Platform SDK: TAPI

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.

Requirements

  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