2.2.4.1.8.3 RSPSetEventFilterMasks

The RSPSetEventFilterMasks packet controls what packets get sent to TAPI version 3.0 and newer clients. Clients that negotiate versions that are lower than 3.0 do not receive this filtering.


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

Req_Func

Reserved1

dwObjType

lObjectID

fSubMask

dwSubMasks

ulEventMasksLo

ulEventMasksHi

Reserved2

Reserved3

Reserved4

Reserved5

Reserved6

Reserved7

Req_Func (4 bytes): The identifier of the function that will be invoked on the remote server. This value MUST be set to 161.

On completion of ClientRequest, this field MUST contain the result of the encapsulated telephony request. A value of zero indicates success, and a LINEERR_Constants value indicates failure.

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

dwObjType (4 bytes): An unsigned 32-bit integer. An ordinal that describes the type of lObjectID.

Value

Meaning

0x00000000

lObjectID is ignored.

0x00000001

lObjectID is of type HLINEAPP.

0x00000002

lObjectID is of type HLINE.

0x00000003

lObjectID is of type HCALL.

0x00000004

lObjectID is of type HPHONEAPP.

0x00000005

lObjectID is of type HPHONE.

lObjectID (4 bytes): An unsigned 32-bit integer. The handle of the object.

fSubMask (4 bytes): A BOOL. The flag that indicates filters on packets to be sent to the client.

If the value is TRUE, the ulEventMasksLo and ulEventMasksHi fields MUST have only one valid bit that is set for both of them (for example, EM_LINE_CALLSTATE, referring to the LINE_CALLSTATE packet). The dwSubMasks field is treated as a bit array of sub-types of that packet (for example, LINE_CALLSTATE_* values). A bit that is set to 1 allows packets of the corresponding sub-type to be sent to the client. A bit that is set to 0 prevents packets of the corresponding sub-type from being sent to the client.

If the value is FALSE, the ulEventMasksLo and ulEventMasksHi fields are treated as bit arrays. A bit that is set to 1 allows packets of the corresponding sub-type to be sent to the client. A bit that is set to zero prevents packets of the corresponding sub-type from being sent to the client.

dwSubMasks (4 bytes): An unsigned 32-bit integer. If the fSubMask value is TRUE, the ulEventMasksLo and ulEventMasksHi fields MUST have only one valid bit that is set for both of them (for example, EM_LINE_CALLSTATE, referring to the LINE_CALLSTATE packet). The dwSubMasks field is treated as a bit array of sub-types of that packet (for example, LINE_CALLSTATE_* values). A bit that is set to 1 allows packets of the corresponding sub-type to be sent to the client. A bit that is set to 0 prevents packets of the corresponding sub-type from being sent to the client.

ulEventMasksLo (4 bytes): An unsigned 32-bit integer. If fSubMask is set to true, this MUST contain a bit that is set referencing the packet (for example, LINE_CALLSTATE) to allow or prevent the subevents that are specified by the dwSubMasks field (for example, LINE_CALLSTATE_* values). If fSubMask is set to false, each mask bit that is set to correspond to a valid LINE_* or PHONE_* event, allows all events of this type to be sent to the client. Each cleared mask bit that is set to correspond to a valid LINE_* or PHONE_* event, prevents all events of this type from being sent to the client.

Name

Value

EM_LINE_ADDRESSSTATE

0x00000001

EM_LINE_LINEDEVSTATE

0x00000002

EM_LINE_CALLINFO

0x00000004

EM_LINE_CALLSTATE

0x00000008

EM_LINE_APPNEWCALL

0x00000010

EM_LINE_CREATE

0x00000020

EM_LINE_REMOVE

0x00000040

EM_LINE_CLOSE

0x00000080

EM_LINE_PROXYREQUEST

0x00000100

EM_LINE_DEVSPECIFIC

0x00000200

EM_LINE_DEVSPECIFICFEATURE

0x00000400

EM_LINE_AGENTSTATUS

0x00000800

EM_LINE_AGENTSTATUSEX

0x00001000

EM_LINE_AGENTSPECIFIC

0x00002000

EM_LINE_AGENTSESSIONSTATUS

0x00004000

EM_LINE_QUEUESTATUS

0x00008000

EM_LINE_GROUPSTATUS

0x00010000

EM_LINE_PROXYSTATUS

0x00020000

EM_LINE_APPNEWCALLHUB

0x00040000

EM_LINE_CALLHUBCLOSE

0x00080000

EM_LINE_DEVSPECIFICEX

0x00100000

EM_LINE_QOSINFO

0x00200000

EM_PHONE_CREATE

0x01000000

EM_PHONE_REMOVE

0x02000000

EM_PHONE_CLOSE

0x04000000

EM_PHONE_STATE

0x08000000

EM_PHONE_DEVSPECIFIC

0x10000000

EM_PHONE_BUTTONMODE

0x20000000

EM_PHONE_BUTTONSTATE

0x40000000

EM_ALL

0x7FFFFFFF

EM_NUM_MASKS

0x0000001F

ulEventMasksHi (4 bytes): An unsigned 32-bit integer. If fSubMask is set to true, this MUST contain a bit that is set to reference the packet (for example, LINE_CALLSTATE) to allow or prevent the subevents that are specified by the dwSubMasks field (for example, LINE_CALLSTATE_* values). If fSubMask is set to false, each mask bit that is set to correspond to a valid LINE_* or PHONE_* event, allows all events of this type to be sent to the client. Each mask bit that is cleared to correspond to a valid LINE_* or PHONE_* event, prevents all events of this type from being sent to the client.

There are 31 EM_* bits that are reserved for the existing LINE_* and PHONE_* packets. To provide extensibility for future packets that might be added, a 64-bit value that is composed of a ulEventMasksLo (the low 32 bits) and ulEventMasksHi (the high 32 bits) was chosen over a single 32-bit ulEventMask value.

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

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

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

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

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

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

The RSPSetEventFilterMasks packet controls packets that are sent to clients of TAPI versions 3.0 and 3.1. Clients that negotiate TAPI versions prior to 3.0 do not receive this filtering.