2.2.4.1.3.61 SetAgentState
The SetAgentState packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. Sending this packet sets the agent state that is associated with a particular address. It generates a LINE_PROXYREQUEST packet to be sent to a registered proxy function handler, referencing a LINEPROXYREQUEST packet of type LINEPROXYREQUEST_SETAGENTSTATE.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Req_Func |
|||||||||||||||||||||||||||||||
Reserved1 |
|||||||||||||||||||||||||||||||
dwRequestID |
|||||||||||||||||||||||||||||||
hLine |
|||||||||||||||||||||||||||||||
dwAddressID |
|||||||||||||||||||||||||||||||
dwAgentState |
|||||||||||||||||||||||||||||||
dwNextAgentState |
|||||||||||||||||||||||||||||||
Reserved2 |
|||||||||||||||||||||||||||||||
Reserved3 |
|||||||||||||||||||||||||||||||
Reserved4 |
|||||||||||||||||||||||||||||||
Reserved5 |
|||||||||||||||||||||||||||||||
Reserved6 |
|||||||||||||||||||||||||||||||
Reserved7 |
|||||||||||||||||||||||||||||||
Reserved8 |
|||||||||||||||||||||||||||||||
Reserved9 |
Req_Func (4 bytes): An unsigned 32-bit integer. The identifier of the function that will be invoked on the remote server. This value MUST be set to 68.
-
Return Values
-
On completion of ClientRequest, this field will contain the result of the encapsulated telephony request. A nonzero request ID value indicates that the request is in progress and will complete asynchronously, and a LINEERR_Constants value indicates synchronous failure.
-
MUST return a positive request identifier if the asynchronous operation starts; otherwise, the function MUST return one of these negative error values:
-
Name
Value
LINEERR_INVALADDRESSID
0x80000011
LINEERR_INVALADDRESSSTATE
0x80000013
LINEERR_INVALAGENTSTATE
0x8000005A
LINEERR_INVALLINEHANDLE
0x8000002B
LINEERR_INVALPARAM
0x80000032
LINEERR_NOMEM
0x80000044
LINEERR_OPERATIONFAILED
0x80000048
LINEERR_OPERATIONUNAVAIL
0x80000049
LINEERR_RESOURCEUNAVAIL
0x8000004B
LINEERR_UNINITIALIZED
0x80000050
Reserved1 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.
dwRequestID (4 bytes): An unsigned 32-bit integer. The identifier of the asynchronous request.
-
Value
Meaning
0x00000000
The server MUST generate a unique positive request ID to return as the Ack_ReturnValue.
0x00000001 — 0x7FFFFFFF
The server MUST use this value instead of generating a unique positive request ID.
hLine (4 bytes): An HLINE. The handle to the line device. This field MUST have been obtained by sending the Open packet.
dwAddressID (4 bytes): An unsigned 32-bit integer. The identifier of the address for which the agent information is to be changed. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades. A valid value of dwAddressID is in the range 0 to dwNumAddresses – 1. The client obtains dwNumAddresses from the LINEDEVCAPS obtained by sending a GetDevCaps packet to the remote server.
dwAgentState (4 bytes): An unsigned 32-bit integer. The new agent state. MUST be one of the LINEAGENTSTATE_Constants, or zero to leave the agent state unchanged and modify only the next state.
dwNextAgentState (4 bytes): An unsigned 32-bit integer. The agent state that SHOULD be automatically set when the current call on the address becomes idle. For example, if it is known that after-call work is to be performed, this field can be set to LINEAGENTSTATE_WORKINGAFTERCALL so that a new call is not assigned to the agent after the current call. MUST be one of the LINEAGENTSTATE_Constants, or zero to use the default next state that is configured for the agent.
Reserved2 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved3 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved4 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved5 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved6 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved7 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved8 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved9 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.