Best Practices for Monitoring Calls in JTAPI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • avc910566943698
    Member
    • Apr 2025
    • 3

    Best Practices for Monitoring Calls in JTAPI

    We are using JTAPI to implement predictive dialing with the CallCenterCall.connectPredictive method. To monitor events, we are adding a CallListener directly to the remote Call.

    However, we are encountering the following issues:
    1. When the target of the predictive call is "busy," the callInvalid event occurs very quickly.
    2. We suspect the Call.addCallListener(callListener) registration is pending at the time it is invoked.
    3. We confirmed that the connectPredictive method internally executes CSTA's MakePredictiveCall, followed by MonitorCall.If events occur in between these two operations, some events appear to be dropped.
    We would appreciate any advice or recommendations for addressing these issues.

    Sample Code

    Below is a sample of the code we are using:
    Code:
    Provider provider = getProvider();
    Call call = provider.createCall();
    call.addCallListener(callListener); // Listener registration seems to be in a pending state
    Address paramAddress = provider.getAddress(acdId);
    CallCenterCall ccc = (CallCenterCall) call;
    ccc.connectPredictive(
        null,
        paramAddress,
        dialNum,
        Connection.CONNECTED,
        maxRings,
        CallCenterCall.ANSWERING_TREATMENT_NONE,
        CallCenterCall.ENDPOINT_HUMAN_INTERVENTION
    ); // connectPredictive internally runs CSTAMakePredictiveCall → MonitorCall​
    When the target is "busy," the callInvalid event occurs in an extremely short timeframe, leading to missed events in some cases.
    Additionally, we tested attaching the CallListener to an extension and a VDN, but this did not resolve the issue.​

    Expectations:
    • What are the best practices or recommended solutions for dealing with this issue?
    • Are there suggested ways to prevent event drops and improve monitoring when using predictive dialing?
    ​Thanks,
Loading