JTapiStartMonitoring

Metreos.Providers.JTapi.JTapiStartMonitoring

Summary

Starts monitoring the audio stream of an active call on a monitored device.

Usage

JTapiStartMonitoring will start monitoring a call on the specified destination specified by the combination of TargetDeviceName, TargetLineDN, and TargetCallId.

The JTapiStartMonitoring action has two fundamentally different modes of operation. One mode causes the monitored audio stream to be sent to a physical device for human observation. If this is the desired behavior for the application, then one should specify ListenerDeviceName and ListenerLineDN to indicate which line on which device should be called. The ListenerDevicePool has no use and should be left unspecified in this mode of operation. The other mode causes the audio stream to be sent to a destination of the choosing of the application, as specified by RxIP and RxPort. If instead this is the desired behavior for the application, then one must set ListenerDevicePool to indicate to the application server which pool of CTI ports should be used to control the destination of the audio stream. With the second mode, the stream could be sent to a recording server, a Cisco IP Phone that's been told to listen on a specific port using XSI commands, or a previously provisioned media engine connection. Finally, one should not set ListenerDeviceName and ListenerLineDN if using the second mode.

If specifying ListenerDevicePool so that the audio stream destination can be controlled, then this device pool should have as many CTI Ports configured within it as the maximum concurrent amount of monitors expected with JTapiStartMonitoring. In other words, one CTI Port will be used during the lifetime of a monitor. Note that the device pool described here is configured within the mceadmin web interface; this is not the device pool configured within Cisco Unified Communications Manager.

The CallId result data parameter is the unique identifier for this call. All Call Control API actions and events use CallId, so practically the application developers almost always stores this CallId value in a variable for the use in subsequent Call Control operations. This CallId should not be considered unique across multiple application servers.

The monitor will be stopped permanently if the JTapiCallInactive or JTapiHangup event occurs.

Remarks

JTapiStartMonitoring is supported only on Cisco Unified Communications Manager 6.0 and above. The monitoring target phone has to be a 3rd-generation phone, such as the 7911G, 7931G, 7941G, 7941G-GE, 7961G, 7961G-GE, 7970G, and 7971G-GE phone models. The built-in bridge must be turned 'ON' in the device configuration of the monitored target phone.

JTapiStartMonitoring requires that the line indicated by TargetLineDN has the 'Monitoring Calling Search Space' configuration in Cisco Unified Communications Manager set to a value such that it can call the 'Route Partition' of the ListenerLineDN line.

Action Parameters
Parameter Name.NET TypeDefaultDescription
TimeoutSystem.Int32The Timeout property specifies to the Application Runtime Environment how long to wait for a response from the provider for the current action. The ReturnValue returned in this case is Timeout. The value must be a literal value in milliseconds.
ListenerDevicePoolSystem.StringThe name of the device pool containing application server-controlled devices. If specified, also specify RxIP and RxPort, but do not specify ListenerDeviceName and ListenerLineDN.
ListenerDeviceNameSystem.StringThe device name of a device that should receive the monitor call. If specified, also specify ListenerLineDN, but do not specify ListenerDevicePool.
ListenerLineDN *System.StringThe line number that should receive the monitor call. If specified, also specify ListenerDeviceName, but do not specify ListenerDevicePool. In Cisco Unified Communications Manager, the 'Route Partition' on this line must be callable by the 'Monitoring Calling Search Space' defined on the TargetLineDN line.
TargetDeviceName *System.StringThe device name of a JTAPI-controlled device that has associated with it the TargetLineDN.
TargetCallId *System.StringThe call ID of the call that will be monitored.
TargetLineDN *System.StringThe monitoring target directory number to initiate the monitor on. The RX and TX audio will be mixed by the TargetDeviceName, and will be sent to either the ListenerLineDN, or to RxIP:RxPort, depending on usage of those action parameters.
RxIPSystem.StringThe IP address that the monitored audio should be sent to. If specified, also specify ListenerDevicePool and RxPort, but do not specify ListenerDeviceName and ListenerLineDN.
RxPortSystem.UInt32The port that the monitored audio should be sent to. If specified, also specify ListenerDevicePool and RxIP, but do not specify ListenerDeviceName and ListenerLineDN.
PlayToneDirectionSystem.StringThe direction in which a recording indicator tone will be played. If not specified, no tone will be played. Valid values area as follows:
PlayToneNoLocalOrRemote

No tones are generated.

PlayToneLocalOnly

The user being monitored hears a periodic tone.

PlayToneRemoteOnly

The listener hears a periodic tone.

PlayToneBothLocalAndRemote

Both local and remote tones are generated.

Result Data
Parameter Name.NET TypeDescription
ResultCodeSystem.StringDescribes the result of the action. If a failure occured, will indicate the cause of the failure. The following are possible values:
Success

No DevicePoolName and DeviceName specified

ListenerDevicePool or ListenerDeviceName must be specified.

Failed to get Device for the specified DevicePool

The specified ListenerDevicePool had no available devices.

DevicePool does not exist

The specified ListenerDevicePool does not exist.

Device is not monitored

The specified TargetDeviceName is not currently JTAPI-controlled by the application server.

Device type is not CtiMonitored

The specified TargetDeviceName is not controllable with JTAPI.

Failed to get specified call

The specified TargetCallId does not exist.

Internal Error: Failed to add Call

No Description.

Internal Error: Timed out waiting for response

No Description.

Internal Error: Failed to send message to JTAPI Service

No Description.

InvalidDeviceName

The TargetDeviceName device name was invalid. Originates from JTAPI.

InvalidDeviceType

The type of device represented by TargetDeviceName was invalid. Originates from JTAPI.

UnknownMessageType

Originates from JTAPI.

InvalidDN

The TargetLineDN does not exist on TargetDeviceName. Originates from JTAPI.

NoProvider

Originates from JTAPI.

GeneralFailure

Originates from JTAPI.

CallIdUnknown

The TargetCallId specified was invalid. Originates from JTAPI.

CodecNotSupported

Originates from JTAPI.

MissingField

Originates from JTAPI.

InvalidDestination

Originates from JTAPI.

PlatformException

Originates from JTAPI.

DeviceNotMonitored

The device is not currently monitored. Originates from JTAPI.

MethodNotSupported

Originates from JTAPI.

CallIdSystem.StringUnique identifier used to identify this call in all subsequent Call Control API operations.

Branch Conditions 

Success

No description.

Failure

No description.

Timeout

No description.