cisco.uc.cuae.legacy
Class RemoteJTapiServer

java.lang.Object
  extended by etch.bindings.java.support.RemoteBase
      extended by cisco.uc.cuae.legacy.RemoteJTapi
          extended by cisco.uc.cuae.legacy.RemoteJTapiServer
All Implemented Interfaces:
CuaeCommon, CuaeCommonServer, JTapi, JTapiServer

public final class RemoteJTapiServer
extends RemoteJTapi
implements JTapiServer

Call to message translator for JTapiServer.


Nested Class Summary
 class RemoteJTapiServer._Async
          Asynchronous implementation of service methods.
 
Nested classes/interfaces inherited from interface cisco.uc.cuae.legacy.JTapi
JTapi.DeviceType, JTapi.JTapiAddressAddedToTerminalOptions, JTapi.JTapiAddressInServiceOptions, JTapi.JTapiAddressOutServiceOptions, JTapi.JTapiAddressRemovedFromTerminalOptions, JTapi.JTapiAnswerCallOptions, JTapi.JTapiAnswerCallResult, JTapi.JTapiBlindTransferOptions, JTapi.JTapiBlindTransferResult, JTapi.JTapiCallActiveOptions, JTapi.JTapiCallEstablishedOptions, JTapi.JTapiCallInactiveOptions, JTapi.JTapiCallInitiatedOptions, JTapi.JTapiCallParkedOptions, JTapi.JTapiCallUnParkedOptions, JTapi.JTapiConferenceOptions, JTapi.JTapiConferenceResult, JTapi.JTapiDirectTransferOptions, JTapi.JTapiDirectTransferResult, JTapi.JTapiGetActiveCallsOptions, JTapi.JTapiGetActiveCallsResult, JTapi.JTapiGetAddressesOnTerminalOptions, JTapi.JTapiGetAddressesOnTerminalResult, JTapi.JTapiGetCallForwardStatusOptions, JTapi.JTapiGetCallForwardStatusResult, JTapi.JTapiGetDeviceStatusOptions, JTapi.JTapiGetDeviceStatusResult, JTapi.JTapiGotDigitsOptions, JTapi.JTapiHangupCallOptions, JTapi.JTapiHangupOptions, JTapi.JTapiHangupResult, JTapi.JTapiHoldOptions, JTapi.JTapiHoldResult, JTapi.JTapiIncomingCallOptions, JTapi.JTapiMakeCallOptions, JTapi.JTapiMakeCallResult, JTapi.JTapiNonTriggeringCallEstablishedOptions, JTapi.JTapiNonTriggeringSubscribeOptions, JTapi.JTapiNonTriggeringSubscribeResult, JTapi.JTapiParkCallOptions, JTapi.JTapiParkCallResult, JTapi.JTapiRedirectOptions, JTapi.JTapiRedirectResult, JTapi.JTapiRejectCallOptions, JTapi.JTapiRejectCallResult, JTapi.JTapiResumeOptions, JTapi.JTapiResumeResult, JTapi.JTapiSendXSIDataOptions, JTapi.JTapiSendXSIDataResult, JTapi.JTapiStartMonitoringOptions, JTapi.JTapiStartMonitoringResult, JTapi.JTapiTerminalInServiceOptions, JTapi.JTapiTerminalOutServiceOptions, JTapi.JTapiUnsubscribeOptions, JTapi.JTapiUnsubscribeResult, JTapi.PlayToneDirection
 
Nested classes/interfaces inherited from interface cisco.uc.cuae.legacy.CuaeCommon
CuaeCommon.CuaeResult
 
Field Summary
 RemoteJTapiServer._Async _async
          RemoteJTapiServer._Async class instance used to hide asynchronous message implementation.
 RemoteJTapiServer._Async _inner
          Deprecated.  
 
Constructor Summary
RemoteJTapiServer(etch.bindings.java.support.DeliveryService svc, etch.bindings.java.msg.ValueFactory vf)
          Constructs the RemoteJTapiServer.
 
Method Summary
 JTapi.JTapiAnswerCallResult jTapiAnswerCall(java.lang.String sessionId, java.lang.Long callId, JTapi.JTapiAnswerCallOptions options)
          Answers a call currently ringing on a monitored device.
 JTapi.JTapiBlindTransferResult jTapiBlindTransfer(java.lang.String sessionId, java.lang.Long callId, java.lang.String to, JTapi.JTapiBlindTransferOptions options)
          Transfers an established call on a monitored device to a new destination.
 JTapi.JTapiConferenceResult jTapiConference(java.lang.String sessionId, java.lang.Long callId, java.lang.Long volatileCallId, JTapi.JTapiConferenceOptions options)
          Conferences two established calls that exist on the same/different line(s) on a single device.
 JTapi.JTapiDirectTransferResult jTapiDirectTransfer(java.lang.String sessionId, java.lang.Long firstCallId, java.lang.Long secondCallId, JTapi.JTapiDirectTransferOptions options)
          Does a transfer between calls that exist on the same/different lines on a particular device.
 JTapi.JTapiGetActiveCallsResult jTapiGetActiveCalls(java.lang.String sessionId, java.lang.String deviceName, java.lang.String lineDN, JTapi.JTapiGetActiveCallsOptions options)
          Gets the CallIDs active on the device.
 JTapi.JTapiGetAddressesOnTerminalResult jTapiGetAddressesOnTerminal(java.lang.String sessionId, java.lang.String deviceName, JTapi.JTapiGetAddressesOnTerminalOptions options)
          Gets the LineDNs (addresses) mapped on the monitored device.
 JTapi.JTapiGetCallForwardStatusResult jTapiGetCallForwardStatus(java.lang.String sessionId, java.lang.String deviceName, java.lang.String directoryNumber, JTapi.JTapiGetCallForwardStatusOptions options)
          Gets the call forward status of a line on a monitored device.
 JTapi.JTapiGetDeviceStatusResult jTapiGetDeviceStatus(java.lang.String sessionId, java.lang.String deviceName, JTapi.JTapiGetDeviceStatusOptions options)
          Gets the device status of a phone using JTAPI.
 JTapi.JTapiHangupResult jTapiHangup(java.lang.String sessionId, java.lang.Long callId, JTapi.JTapiHangupOptions options)
          Hangs up a call currently active on a monitored device.
 JTapi.JTapiHoldResult jTapiHold(java.lang.String sessionId, java.lang.Long callId, JTapi.JTapiHoldOptions options)
          Puts an active call on a monitored device on hold.
 JTapi.JTapiMakeCallResult jTapiMakeCall(java.lang.String sessionId, java.lang.String to, java.lang.String deviceName, java.lang.String from, JTapi.JTapiMakeCallOptions options)
          Causes a monitored device to place a call from a specific line.
 JTapi.JTapiNonTriggeringSubscribeResult jTapiNonTriggeringSubscribe(java.lang.String sessionId, java.lang.String deviceName, java.lang.String devicePoolName, JTapi.DeviceType deviceType, JTapi.JTapiNonTriggeringSubscribeOptions options)
          Registers a device with JTAPI.
 JTapi.JTapiParkCallResult jTapiParkCall(java.lang.String sessionId, java.lang.Long callId, JTapi.JTapiParkCallOptions options)
          Parks a call currently active on a device.
 JTapi.JTapiRedirectResult jTapiRedirect(java.lang.String sessionId, java.lang.Long callId, java.lang.String to, java.lang.String prefferedOriginalCalledParty, JTapi.JTapiRedirectOptions options)
          Redirects a call currently ringing on a monitored device to a new destination.
 JTapi.JTapiRejectCallResult jTapiRejectCall(java.lang.String sessionId, java.lang.Long callId, JTapi.JTapiRejectCallOptions options)
          Rejects a call currently ringing on a monitored device, ending it.
 JTapi.JTapiResumeResult jTapiResume(java.lang.String sessionId, java.lang.Long callId, java.lang.String rxIP, java.lang.Long rxPort, JTapi.JTapiResumeOptions options)
          Resume a held call on a monitored device.
 JTapi.JTapiSendXSIDataResult jTapiSendXSIData(java.lang.String sessionId, java.lang.String deviceName, java.lang.String xSIData, JTapi.JTapiSendXSIDataOptions options)
          Send XSI data to a monitored phone.
 JTapi.JTapiStartMonitoringResult jTapiStartMonitoring(java.lang.String sessionId, java.lang.String targetCallId, java.lang.String targetDeviceName, java.lang.String targetLineDN, java.lang.String listenerLineDN, JTapi.JTapiStartMonitoringOptions options)
          Starts monitoring the audio stream of an active call on a monitored device.
 JTapi.JTapiUnsubscribeResult jTapiUnsubscribe(java.lang.String sessionId, java.lang.String deviceName, JTapi.JTapiUnsubscribeOptions options)
          Unregisters a device with JTAPI.
 
Methods inherited from class etch.bindings.java.support.RemoteBase
_begincall, _endcall, _newMessage, _send, _start, _startAndWaitUp, _stop, _stopAndWaitDown, _transportControl, _transportNotify, _transportQuery, _waitDown, _waitUp, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_async

public final RemoteJTapiServer._Async _async
RemoteJTapiServer._Async class instance used to hide asynchronous message implementation. Use this to invoke the asynchronous message implementations.


_inner

@Deprecated
public final RemoteJTapiServer._Async _inner
Deprecated. 
RemoteJTapiServer._Async class instance used to hide asynchronous message implementation. This is here for backwards compatibility only, use _async instead.

Constructor Detail

RemoteJTapiServer

public RemoteJTapiServer(etch.bindings.java.support.DeliveryService svc,
                         etch.bindings.java.msg.ValueFactory vf)
Constructs the RemoteJTapiServer.

Parameters:
svc -
vf -
Method Detail

jTapiAnswerCall

public final JTapi.JTapiAnswerCallResult jTapiAnswerCall(java.lang.String sessionId,
                                                         java.lang.Long callId,
                                                         JTapi.JTapiAnswerCallOptions options)
Description copied from interface: JTapiServer
Answers a call currently ringing on a monitored device. None. JTapiAnswer answers an incoming call that is ringing on a phone device currently being monitored by the application server. Once the action has successfully completed, the device being monitored will answer the ringing call. The application would have already received notification of the incoming call via the triggering JTapiIncomingCall event. The CallId present as an event parameter in the JTapiIncomingCall event would then be used as the CallId action parameter for the JTapiAnswer action. You can not successfully use JTapiAnswer after the ringing device has been answered (most likely cause is the user answering the phone, but another JTAPI-based application could be the cause of the answer as well). You can know in your application that the call has already been answered if the JTapiCallActive fires before you have used the JTapiAnswer action. If the calling party hangs up their end of the call before the call is answered, then it is no longer valid to use JTapiAnswer. You can know in your application that the call has already been hung up if the JTapiHangup event fires after the JTapiIncomingCall event instead of JTapiCallActive. If call is rejected with JTapiReject, then it is no longer valid to use JTapiAnswer.

Specified by:
jTapiAnswerCall in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to answer with JTapiAnswer. The CallId must have originated from a JTapiIncomingCall event.
options - An object holding all the optional parameters

jTapiHold

public final JTapi.JTapiHoldResult jTapiHold(java.lang.String sessionId,
                                             java.lang.Long callId,
                                             JTapi.JTapiHoldOptions options)
Description copied from interface: JTapiServer
Puts an active call on a monitored device on hold. The JTapiCallInactive will fire as a result of using this action successfully. JTapiHold puts an active call on hold. For this action to succeed, the script must have already received notification of the call entering the active state with the nontriggering JTapiCallActive event.

Specified by:
jTapiHold in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to be put on hold with JTapiHold.
options - An object holding all the optional parameters

jTapiResume

public final JTapi.JTapiResumeResult jTapiResume(java.lang.String sessionId,
                                                 java.lang.Long callId,
                                                 java.lang.String rxIP,
                                                 java.lang.Long rxPort,
                                                 JTapi.JTapiResumeOptions options)
Description copied from interface: JTapiServer
Resume a held call on a monitored device. The JTapiCallActive will fire as a result of using this action successfully. JTapiResume resumes a held call. For this action to succeed, at a minimum, the script must have already received notification of the call entering the inactive state with the nontriggering JTapiCallInactive event. However, the JTapiCallInactive event does not necessarily always correspond to a call being held.

Specified by:
jTapiResume in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to be resumed with JTapiResume.
rxIP - The IP address that the resumed audio should be sent to, from the monitored device. If this field is not specified, then the audio will resume sending to where it would have, if this parameter were not specified. In other words, not specifying this parameter generally causes the monitored device to begin streaming to the device it was previously streaming to before the call was held. This field has only rare use and should almost always be left specified.
rxPort - The port that the resumed audio should be sent to, from the monitored device. If this field is not specified, then the audio will resume sending to where it would have, if this parameter were not specified. In other words, not specifying this parameter generally causes the monitored device to begin streaming to the device it was previously streaming to before the call was held. This field has only rare use and should almost always be left unspecified.
options - An object holding all the optional parameters

jTapiRejectCall

public final JTapi.JTapiRejectCallResult jTapiRejectCall(java.lang.String sessionId,
                                                         java.lang.Long callId,
                                                         JTapi.JTapiRejectCallOptions options)
Description copied from interface: JTapiServer
Rejects a call currently ringing on a monitored device, ending it. None. JTapiReject rejects a call inbound to a phone device, causing the call to end immediately. You can not successfully use JTapiReject after the ringing device has been answered (most likely cause is the user answering the phone, but another JTAPI-based application could be the cause of the answer as well). You can know in your application that the call has already been answered if the JTapiCallActive fires before you have used the JTapiReject action.

Specified by:
jTapiRejectCall in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to reject with JTapiReject. The CallId must have originated from a JTapiIncomingCall event.
options - An object holding all the optional parameters

jTapiHangup

public final JTapi.JTapiHangupResult jTapiHangup(java.lang.String sessionId,
                                                 java.lang.Long callId,
                                                 JTapi.JTapiHangupOptions options)
Description copied from interface: JTapiServer
Hangs up a call currently active on a monitored device. The JTapiHangup event will still fire when one uses this action. JTapiHangup hangs a call currently active on a phone device, causing the call to end immediately. If the other party hangs up their end of the call before this action is used, then there is no need to use JTapiHangup, since the call is over. You can know that the call has been hung up by anything other than the script if the JTapiHangup event fires.

Specified by:
jTapiHangup in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to hangup with JTapiHangup.
options - An object holding all the optional parameters

jTapiMakeCall

public final JTapi.JTapiMakeCallResult jTapiMakeCall(java.lang.String sessionId,
                                                     java.lang.String to,
                                                     java.lang.String deviceName,
                                                     java.lang.String from,
                                                     JTapi.JTapiMakeCallOptions options)
Description copied from interface: JTapiServer
Causes a monitored device to place a call from a specific line. None. JTapiMakeCall will cause a line on a monitored device to place a call. The JTapiCallActive event will fire to the same script that issued the JTapiMakeCall, if the remote party specified by the To action parameter answers the call. If the remote party specified by the To action parameter answers the call, then the call is bound to this script, meaning JTapiCallActive, JTapiCallInactive, JTapiGotDigits, and JTapiHangup event will fire to the same script that issued the JTapiMakeCall. If the outbound call from the monitored phone is cancelled before the remote party answers, then a JTapiHangup event is sent to the same script that issued the JTapiMakeCall. A device in Cisco Unified Communications Manager does not make or receive calls; the line(s) on that device do. Therefore it is necessary to specify a real line number found on the device as the value of the From action parameter.

Specified by:
jTapiMakeCall in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
to - The destination number for this call. In practice, this number must be routable according to the dial plan of the Cisco Unified Communications Manager cluster that the call is sent to.
deviceName - The name of a controlled device from which to place the call. The From action parameter must be a valid line number on this device.
from - The line on the controlled device from which to originate the call leg.
options - An object holding all the optional parameters

jTapiConference

public final JTapi.JTapiConferenceResult jTapiConference(java.lang.String sessionId,
                                                         java.lang.Long callId,
                                                         java.lang.Long volatileCallId,
                                                         JTapi.JTapiConferenceOptions options)
Description copied from interface: JTapiServer
Conferences two established calls that exist on the same/different line(s) on a single device. Conferencing calls established on 2 different lines on the same device is commonly known as Join Across Lines(JAL). 1. There must be conferencing resources available in the Cisco Unified Communications Manager deployment for the phone that has both calls. 2. Join Across Lines must be enabled on Cisco Unified Communications Manager in order to do a JAL operation. JTapiConference will conference, or 'join', two calls together that have been established on the same/different line(s) on a given device. Both calls must have been answered already.

Specified by:
jTapiConference in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - One of the two calls that have been established on the same line.
volatileCallId - One of the two calls that have been established on the same/different line(s). This call ID will be destroyed afterwards, because 2 calls are being joined into one. All future call events will be sent up with the ID specified by the CallId action parameter.
options - An object holding all the optional parameters

jTapiRedirect

public final JTapi.JTapiRedirectResult jTapiRedirect(java.lang.String sessionId,
                                                     java.lang.Long callId,
                                                     java.lang.String to,
                                                     java.lang.String prefferedOriginalCalledParty,
                                                     JTapi.JTapiRedirectOptions options)
Description copied from interface: JTapiServer
Redirects a call currently ringing on a monitored device to a new destination. None. JTapiRedirect redirects a call inbound to a phone device, causing the call to be sent to a new destination elsewhere. You can not successfully use JTapiRedirect after the ringing device has been answered (most likely cause is the user answering the phone, but another JTAPI-based application could be the cause of the answer as well). You can know in your application that the call has already been answered if the JTapiCallActive fires before you have used the JTapiAnswer action.

Specified by:
jTapiRedirect in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to redirect with JTapiRedirect.
to - The destination number for the redirected call. In practice, this number must be routable according to the dial plan of the Cisco Unified Communications Manager cluster that the call is sent to.
prefferedOriginalCalledParty - The called party information that would appear in the redirect request.
options - An object holding all the optional parameters

jTapiBlindTransfer

public final JTapi.JTapiBlindTransferResult jTapiBlindTransfer(java.lang.String sessionId,
                                                               java.lang.Long callId,
                                                               java.lang.String to,
                                                               JTapi.JTapiBlindTransferOptions options)
Description copied from interface: JTapiServer
Transfers an established call on a monitored device to a new destination. None. JTapiBlindTransfer transfers an answered call, causing the call to be sent to a new destination elsewhere. Once the transfer has completed, the call is completely removed from the control of the application server. You can successfully use JTapiBlindTransfer only after the device has been answered. You can know in your application that the call has already been answered if the JTapiCallActive fires before you have used the JTapiBlindTransfer action.

Specified by:
jTapiBlindTransfer in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to redirect with JTapiBlindTransfer.
to - The destination number for the transferred call. In practice, this number must be routable according to the dial plan of the Cisco Unified Communications Manager cluster that the call is sent to.
options - An object holding all the optional parameters

jTapiDirectTransfer

public final JTapi.JTapiDirectTransferResult jTapiDirectTransfer(java.lang.String sessionId,
                                                                 java.lang.Long firstCallId,
                                                                 java.lang.Long secondCallId,
                                                                 JTapi.JTapiDirectTransferOptions options)
Description copied from interface: JTapiServer
Does a transfer between calls that exist on the same/different lines on a particular device. After a direct transfer, the common party(parties) on the device get dropped. JTapiDirectTransfer will transfer the parties from the SecondCall to the FirstCall.On completion of a JTapiDirectTransfer JTapiCallActive will get delivered to the other parties which were involved in FirstCall and SecondCall. The CallControlCause will be set to TRANSFER for the event. The associated party on the SecondCall will get a new CallID because of the transfer. Events due to a Direct Transfer on Same Line : Assume the following scenario 1. Line A on Device T1. 2. Line B1 on Device T2. 3. Line C on Device T3. Now A calls B1 and gets call id 1111. B1 gets CallID 2222. B1 calls C and gets call id 3333 while C gets call id 4444. Now invoke JtapiDirectTransfer(2222,3333) on T2. This will result in a call between A and C.B1 will get dropped from both the calls. A will receive JTapiCallActive with CallControlCause set to TRANSFER. Call ID 1111 will remain. C will receive JTapiHangup for 4444 with CallControlCause set to TRANSFER. This will be followed by JTapiCallActive with CallControlCause set to TRANSFER and a new call ID 5555. Events due to a Direct Transfer Across Lines : Assume the following scenario: 1. Line A on Device T1. 2. Lines B1 and B2 on Device T2. 3. Line C on Device T3. Now A calls B1 and gets call id 1111. B1 gets CallID 2222. B2 calls C and gets call id 3333 while C gets call id 4444. Now invoke JtapiDirectTransfer(2222,3333) on T2 This will result in a call between A and C.B1 and B2 will get dropped from both the calls. A will receive JTapiCallActive with CallControlCause set to TRANSFER. Call ID 1111 will remain. C will receive JTapiHangup for 4444 with CallControlCause set to TRANSFER. This will be followed by JTapiCallActive with CallControlCause set to TRANSFER and a new call ID 5555.

Specified by:
jTapiDirectTransfer in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
firstCallId - One of the two calls that have been established on the same line.This call leg for this callID will get dropped during transfer.
secondCallId - The second of the two calls that have been established on the same line or on the 2nd line on the same device.This call leg for this callID will get dropped during transfer.
options - An object holding all the optional parameters

jTapiParkCall

public final JTapi.JTapiParkCallResult jTapiParkCall(java.lang.String sessionId,
                                                     java.lang.Long callId,
                                                     JTapi.JTapiParkCallOptions options)
Description copied from interface: JTapiServer
Parks a call currently active on a device. None. JTapiParkCall parks a call currently active on a device. A valid callID is passed as the argument. JTapiParkCall returns the parkDN(number of which the call is parked) in the result data. The event JTapiCallParked is also sent on successful parking. This event can further be used to trigger any other application. Any parked call can be unparked using JTapiMakeCall and passing the parkDN as the To parameter.A call when unparked results in a JTapiCallUnparked event.

Specified by:
jTapiParkCall in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
callId - Indicates the call to be parked.
options - An object holding all the optional parameters

jTapiGetCallForwardStatus

public final JTapi.JTapiGetCallForwardStatusResult jTapiGetCallForwardStatus(java.lang.String sessionId,
                                                                             java.lang.String deviceName,
                                                                             java.lang.String directoryNumber,
                                                                             JTapi.JTapiGetCallForwardStatusOptions options)
Description copied from interface: JTapiServer
Gets the call forward status of a line on a monitored device. JTapiGetCallForwardStatus gets the call forward status of a line on a monitored phone. If the action is successful, the CallForwardType result data parameter should be used to determine the status of the call forwarding status. If the CallForwardType indicates that the line has the forward condition Unconditional, then the Digits parameter can be used to determine which destination the line is currently forwarded to.

Specified by:
jTapiGetCallForwardStatus in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The name of a controlled device from whose call forward status is queried. The DirectoryNumber action parameter must be a valid line number on this device.
directoryNumber - The line number on the device whose call forward status needs to be determined.
options - An object holding all the optional parameters

jTapiGetAddressesOnTerminal

public final JTapi.JTapiGetAddressesOnTerminalResult jTapiGetAddressesOnTerminal(java.lang.String sessionId,
                                                                                 java.lang.String deviceName,
                                                                                 JTapi.JTapiGetAddressesOnTerminalOptions options)
Description copied from interface: JTapiServer
Gets the LineDNs (addresses) mapped on the monitored device. JTapiGetAddressesOnTerminal gets the addresses mapped on a monitored phone. If the action is successful, the LineDNs result data parameter will contain the addresses (String Array of Address names) mapped on the device.

Specified by:
jTapiGetAddressesOnTerminal in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The name of a monitored device whose addresses are being queried.
options - An object holding all the optional parameters

jTapiGetActiveCalls

public final JTapi.JTapiGetActiveCallsResult jTapiGetActiveCalls(java.lang.String sessionId,
                                                                 java.lang.String deviceName,
                                                                 java.lang.String lineDN,
                                                                 JTapi.JTapiGetActiveCallsOptions options)
Description copied from interface: JTapiServer
Gets the CallIDs active on the device. JTapiGetActiveCalls gets the active calls on a particular line on a monitored phone. If the action is successful, the CallIDs result data parameter will contain the call ids (String Array of call ids) active on the device or lineDN (address). These CallIDs can be used for other JTAPI operations like JTapiHold,JTapiStartMonitoring etc. Note: Both the LineDN and DeviceName need to be passed as arguments.

Specified by:
jTapiGetActiveCalls in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The name of the device on which active calls are being queried.
lineDN - The directory number (address) on which active calls are being queried.
options - An object holding all the optional parameters

jTapiStartMonitoring

public final JTapi.JTapiStartMonitoringResult jTapiStartMonitoring(java.lang.String sessionId,
                                                                   java.lang.String targetCallId,
                                                                   java.lang.String targetDeviceName,
                                                                   java.lang.String targetLineDN,
                                                                   java.lang.String listenerLineDN,
                                                                   JTapi.JTapiStartMonitoringOptions options)
Description copied from interface: JTapiServer
Starts monitoring the audio stream of an active call on a monitored device. 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. 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.

Specified by:
jTapiStartMonitoring in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
targetCallId - The call ID of the call that will be monitored.
targetDeviceName - The device name of a JTAPI-controlled device that has associated with it the TargetLineDN.
targetLineDN - The 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.
listenerLineDN - The 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.
options - An object holding all the optional parameters

jTapiSendXSIData

public final JTapi.JTapiSendXSIDataResult jTapiSendXSIData(java.lang.String sessionId,
                                                           java.lang.String deviceName,
                                                           java.lang.String xSIData,
                                                           JTapi.JTapiSendXSIDataOptions options)
Description copied from interface: JTapiServer
Send XSI data to a monitored phone. JTapiSendXSIData and SendExecute both allow one to send an XSI command to an IP Phone. To help determine which one is more appropriate, consider the following points: The SendExecute action requires an IP address to send the XML command to using an HTTP POST. However, it is a common problem to not have the IP address of a Cisco IP phone readily available, although often one has the device name (of the form SEPXXXXXXXXXXXX) of the phone. While it is possible that one can use the Cisco DeviceListX cache to determine IP address of a Cisco IP Phone based on this device name, with JTapiSendXSIData only the phone device name is needed. SendExecute sends an HTTP request from the application server directly to the phone; whereas JTapiSendXSIData instructs Cisco Unified Communications Manager to send the command via the phone's transport protocol. Because of this difference, the JTapiSendXSIData command is generally more robust when one considers firewalls and security policies. For instance, because IP Communicator runs on the personal computer of an end user, it is possible that the user has a firewall running on that machine. Also, in some Cisco Unified Communication Manager deployments, it is possible that the internal web server on the IP Phone has been turned off, rendering SendExecute useless. When SendExecute is executed, the IP phone will request from its configured 'Authentication URL' whether the username and password sent to the phone is valid. By default, this request is sent to the Cisco Unified Communications Manager publisher node, which makes this determination by checking that specified credentials match the credentials of a user associated with the phone in the Cisco Unified Communications Manager database. In contrast, with JTapiSendXSIData, super user credentials can be used to send commands to any phone, without having to know the enduser associated with that phone. This action communicates with the Cisco IP Phone using the phone's protocol (SCCP or SIP) as the transport. JTapiSendXSIData will send XSI data to the monitored phone. A maximum of 2000 bytes can be sent to the phone. JTapiSendXSIData is supported in Cisco Unified Communications Manager 5.0 and above. JTapiSendXSIData can send two distinctly different commands to the Cisco IP Phone. One type of command is the Execute XML object, which is used to cause the phone to execute internal commands, such as RTPRx or Dial, or to cause the phone to fetch IP Phone XML from an HTTP server. JTapiSendXSIData can also used to send content-based XML objects, such as a Text or Menu XML object. The Cisco IP Phones have an important limitation in that one can only push 2000 bytes of content to the phone. This effectively means that pushing a Execute XML object to a phone is the more robust way to have the phone render large amounts of data, instead of pushing a potentially large content-based XML object, such as Text or Menu. With an Execute XML object, one can send an HTTP-based URI that will server out the content-based XML, circumventing the 2000 byte 'push' limitation. There is no 2000 byte limitation when the phone makes a request to a HTTP-based URI.

Specified by:
jTapiSendXSIData in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The name of a controlled device which will be sent the XSI command.
xSIData - The XSI object to be pushed to the monitored device. The object can not be directly passed in to this parameter. Instead, one must invoke the ToString() method on the object, and the resulting string must be passed in.
options - An object holding all the optional parameters

jTapiNonTriggeringSubscribe

public final JTapi.JTapiNonTriggeringSubscribeResult jTapiNonTriggeringSubscribe(java.lang.String sessionId,
                                                                                 java.lang.String deviceName,
                                                                                 java.lang.String devicePoolName,
                                                                                 JTapi.DeviceType deviceType,
                                                                                 JTapi.JTapiNonTriggeringSubscribeOptions options)
Description copied from interface: JTapiServer
Registers a device with JTAPI. The JTapiNonTriggeringSubscribe action is a way for an application to register a device at application run-time. However, one can also specify devices for permanent JTAPI registration via the mceadmin web interface. he following information is meant to help determine if you should use the mceadmin 'static' mechanism, or the JTapiNonTriggeringSubscribe dynamic mechanism: if you know that you need to always monitor a phone in order to catch certain interesting events which occur non-deterministically, then use the static mechanism available via mceadmin. If instead you only need to monitor a phone for a specific, deterministic amount of time, then this dynamic mechanism is probably more ideal because there is a maximum number of concurrent JTAPI registrations possible for a given Cisco Unified Communications Manager cluster. By registering a device only as you need it, an application which does not have extremely high usage patterns could help keep the total number of registrations below this maximum concurrent amount, but still be able to control any device in the deployment as needed. If the application server is restarted, then all registrations created via JTapiNonTriggeringSubscribe will be lost and are not automatically re-created upon startup of the application server. JTapiNonTriggeringSubscribe will register a device dynamically. The specific Cisco Unified Communications Manager node to which the device is registered is decided by the specified DevicePoolName, which is described in mceadmin. Note that the device pool described by DevicePoolName is a Cisco Unified Application Environment configuration; it is completely distinct from device pools as defined by Cisco Unified Communications Manager. If a device has successfully been registered with JTapiNonTriggeringSubscribe, then later that device can be unregistered with JTapiUnsubscribe.

Specified by:
jTapiNonTriggeringSubscribe in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The device name of the device to be registered.
devicePoolName - The device pool to which this device should be placed in. This device pool is configured in the mceadmin web interface, and does not correspond to device pools as defined by Cisco Unified Communications Manager.
deviceType - The device type of the device. This must currently be set to CtiMonitored in all situations.
options - An object holding all the optional parameters

jTapiUnsubscribe

public final JTapi.JTapiUnsubscribeResult jTapiUnsubscribe(java.lang.String sessionId,
                                                           java.lang.String deviceName,
                                                           JTapi.JTapiUnsubscribeOptions options)
Description copied from interface: JTapiServer
Unregisters a device with JTAPI. None JTapiUnsubscribe will unregister a device previously successfully registered with JTapiNonTriggeringSubscribe.

Specified by:
jTapiUnsubscribe in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The device name of the device to be unregistered.
options - An object holding all the optional parameters

jTapiGetDeviceStatus

public final JTapi.JTapiGetDeviceStatusResult jTapiGetDeviceStatus(java.lang.String sessionId,
                                                                   java.lang.String deviceName,
                                                                   JTapi.JTapiGetDeviceStatusOptions options)
Description copied from interface: JTapiServer
Gets the device status of a phone using JTAPI. JTapiGetDeviceStatus gets the device status of a monitored phone using JTAPI.

Specified by:
jTapiGetDeviceStatus in interface JTapiServer
Parameters:
sessionId - The session Id for this method call
deviceName - The name of a controlled device to query.
options - An object holding all the optional parameters


Copyright © 2010. All Rights Reserved.