- An application can optionally include intrusion validation information when it first places a call. In this case, if the wanted party is busy, the wanted party application automatically indicates whether intrusion is possible or not. Refer to BTNR 188 Section 10 Subsection 2.3.2.
- Figure 25 illustrates Executive Intrusion with prior validation.
Intruding Application Perspective
- To request intrusion validation at call setup, the application first sets up the following SIS identifiers, using dpnSetExtendedArgs:
sisid: DPNSIS_PV_INTRUSION
(sisparam: the Intrusion Capability Level of the application's party.)
- The application then places the call using dpnPlaceCall. The SIS identifier is sent with this function call.
- The application may then receive one of the following events:
- DPNEVN_CALL_DISCONNECTED - If the cause field received with this
event is DPN_CAUSE_NUMBER_BUSY, the called party is busy and
intrusion is not allowed. Receipt of any other clearing cause indicates that
the intrusion request has failed.
- If the application receives DPNEVN_REMOTE_ALERTING with sisid DPNSIS_INTRUSION_ACK (as described above), it can request intrusion. To do so, it sets up the following SIS identifiers, using dpnSetExtendedArgs:
sisid: DPNSIS_INTRUSION_REQ
(sisparam: the Intrusion Capability Level of the intruding party.)
- The application then calls dpnSendFeatureMessage. The SIS identifier is sent with this function call.
- In response to the intrusion request, the application will receive one of the following responses:
- DPNSIS_STATE_OF_DEST_FREE - The wanted party has cleared, and is
now being contacted by the remote PBX. The call continues as a regular
call, waiting for call connection.
- DPNEVN_CALL_DISCONNECTED - If the cause field received with this
event is DPN_CAUSE_NUMBER_BUSY, intrusion is not allowed. Receipt
of any other clearing cause indicates that the intrusion request has failed.
Wanted Party Application Perspective
- When a remote party requests intrusion validation on call setup, the wanted party application receives a DPNEVN_INCOMING_CALL event with the following DPN_RECEIVED_SIS list:
sisid: DPNSIS_PV_INTRUSION
(sisparam: the Intrusion Capability Level of the application's party.)
- When the application receives such request, it first determines the Intrusion Protection Level of the party it is currently connected to (the "unwanted" party). To do so, it sets up the following SIS identifiers, using dpnSetExtendedArgs:
sisid: DPNSIS_IPL_REQ
(sisparam: none.)
- The application then calls dpnSendFeatureMessage. The SIS identifier is sent with this function call.
- The unwanted party application responds with a DPNEVN_INCOMING_INFO event with the following DPN_RECEIVED_SIS list:
sisid: DPNSIS_IPL_RSP
(sisparam: the Intrusion Protection Level of the "unwanted" party.)
- The application compares the ICL number of the intruding party with the IPL numbers of the wanted and unwanted parties. Intrusion should be permitted only if the ICL is greater than both IPLs.
- The wanted party application informs the intruding application of the outcome of the intrusion request in one of the following ways:
- If the wanted party has become free, the application calls dpnAcceptCall
without the DPNSIS_INTRUSION_ACK identifier. The call then continues
as a regular call.
- To reject the Intrusion request, the application releases the call using
dpnRejectCall with clearing cause DPN_CAUSE_NUMBER_BUSY.
Unwanted Party Application Perspective
- If a third party wishes to intrude on a remote party connected to the application via DPNSS, the application will be requested to provide its Intrusion Protection Level. The application's Intrusion Protection Level is used by the remote PBX to determine if intrusion can proceed. An Intrusion Protection Level Request will only be received when an application controlled call is connected to a remote party.
- When an Intrusion Protection Level request is received, the application receives a DPNEVN_INCOMING_INFO event. The DPN_RECEIVED_SIS list returned with the event contains:
sisid: DPNSIS_IPL_REQ
(sisparam: none.)
- At this point, the unwanted party application can:
- Ignore the request. In this case, the remote Intrusion request is abandoned.
- To respond with IPL information, the application sets up the following SIS identifiers, using dpnSetExtendedArgs:
sisid: DPNSIS_IPL_RSP
(sisparam: the protection level of the application's party.)
- The application then calls dpnSendFeatureMessage. The IPL information is sent with this function call.
- Figure 25 illustrates Executive Intrusion with prior validation.
Figure 25. Executive Intrusion with Prior Validation