/mcpIf an application is monitoring only a SharedDN Connection with only a passive or bridged TerminalConnection, invoking any API on the connection results in a PreConditionException. • Similar to the previous scenario, if all the connections of a call monitored by an application have only a Passive or Bridged TerminalConnection, all APIs on the call throw a PreConditionException (such as Call.Drop()). • If more than one active TerminalConnection exists on a shared line, Call.drop() does not return in CallInValid in the following scenarios: • A normal two-party call between A and B, where A represents a SharedLine with A' and A' barged into the call The application does not monitor A' and B. If the application issues a Call.drop(), the A’ TerminalConnection goes into a passive state, but the call does not go InValid. • Similar to above, if A, A' , A" and B are in a Conference Call The application monitors only A and A', and Call.drop() does not result in the call going InValid. Only the A and A' terminal connections go passive. • A, A', and B, B' represent a SharedLine address A calls B, B answers, and A' and B' barge into the call. The application monitors only A and B. In this scenario, Call.drop() results in a TerminalConnection of A and B going passive, but the call does not go InValid. • If a TerminalConnection is in a passive or bridged state or Passive/InUse state, all APIs on the TerminalConnection() throw a PreConditionException. A TerminalConnection only allows an API Terminal ConnectionJoin() (called Barge) in the passive or bridged state. TerminalConnection does not currently support TerminalConnection Join(). • If more than one active or talking TerminalConnections exists in a connection, applications may have to end one before issuing an API on the connection like Redirect(), Park(), Disconnect(). You can select TerminalConnection by using API Connection.setRequestController (TerminalConnection tc). • If a call gets held on SharedLine terminals and an application issues a Connection.Disconnect (), the applications may set a particular TerminalConnection through API Connection.setRequestController(TerminalConnection tc). If requestcontroller is not set, all HeldTerminalConnections get dropped, and connection goes to a disconnected state. If only one HeldConnection gets dropped, the call remains present on other SharedLines terminals. The call appearance disappears from the dropping terminal, which disallows the terminal from barging into the call or participating in feature operations on the call. For details on the interface changes, see Cisco Unified JTAPI Extensions, on page 249 To view the message flow for shared lines, see Message Sequence Charts, on page 761 Silent Monitoring This feature provides the ability to silently monitor calls using an IP Phone. The caller represents the end point, which calls or receives a call from the monitor target. The monitor target is the party to monitor (in a call centre, the agent), and the monitoring party is the monitor initiator (the supervisor). Cisco Unified JTAPI Developers Guide for Cisco Unified Communications Manager, Release 15 and SUs 167 Features Supported by Cisco Unified JTAPI Silent Monitoring