Author Message
ademcayir
Joined: Mar 2, 2017
Messages: 11
Offline
I have an application that I collect audio stream from a call. I have a dmcc extension. When I detect a call, I call first registerTerminal of this extension. Then I call singleStepConference call to join to the call. Then I call selectiveListeningHold method. This works if there is only 3 extensions (one of them is my dmcc extension).

But, it fails in a certain scenario. After I this call, another extension is added to the call. So, there is 4 extension at this point. After that, one of the extension in first two is dropped the call. Then, I unregister the dmcc extension. So, 2 extension remains in the call. Then, I call registerTerminal with an another dmcc extension, and join it to the call. I call singleStepConference. it works fine. Then I call selectiveListeningHold, and I get exception.

As a summary, this flow happens:

  • Extension A calls Extension B (callId1)

  • run registerTerminalExtension with Extension C

  • call singleStepConference Extension C + callId1

  • call selectiveListeningHold for Extension B

  • Extension D joins to the call (callId1 changes to callId2)

  • Extension A drops the call

  • call unregisterTerminal with Extension C

  • call registerTerminalExtension with Extension E

  • call singleStepConference with Extension E + callId2

  • call selectiveListeningHold for Extension D => and error occurs



  • Client Exception is:



    ch.ecma.csta.errors.OutstandingReqLimitExceededException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at com.avaya.mvcs.proxy.ClientNegAckToException.convertErrorToException(ClientNegAckToException.java:130)
    at com.avaya.mvcs.proxy.XmlGatewayClient.handleRequest(XmlGatewayClient.java:250)
    at com.avaya.mvcs.proxy.Pipeline.handleRequest(Pipeline.java:346)
    at com.avaya.mvcs.proxy.ClientProxy.routeRequest(ClientProxy.java:627)
    at com.avaya.mvap.svcproxy.ServiceProxy.marshallRequest(ServiceProxy.java:131)
    at com.avaya.mvap.svcproxy.CallControlServicesProxy.selectiveListeningHold(CallControlServicesProxy.java:405)


    I see this error in dmcc-error.log in server


    ServiceMethod: com.avaya.platform.broker.impl.AsyncServiceMethodImpl@1337245[com.avaya.cmapi.extsvc.CallControlServicesImpl@1f0d277, public void com.avaya.cmapi.extsvc.CallControlServicesImpl.selectiveListeningHold(com.avaya.csta.binding.SelectiveListeningHold,com.avaya.api.async.AsynchronousCallback) throws ch.ecma.csta.errors.CstaException]
    Exception: ch.ecma.csta.errors.OutstandingReqLimitExceededException: The client attempted to put athird party (activeCall) on hold (two parties are on hold already) on an analog station44
    Request: session[session 8745264E1D9BBA9701A02F34C0708E36-110] com.avaya.csta.binding.SelectiveListeningHold@1764a13
    ch.ecma.csta.errors.OutstandingReqLimitExceededException: The client attempted to put athird party (activeCall) on hold (two parties are on hold already) on an analog station44
    at com.avaya.cs.callcontrol.handlers.CallControlConfHandler.getCstaException(CallControlConfHandler.java:318)
    at com.avaya.cs.callcontrol.handlers.SelectiveListeningHoldConfHandler.getCstaException(SelectiveListeningHoldConfHandler.java:76)
    at com.avaya.cs.callcontrol.handlers.CallControlConfHandler.handleConf(CallControlConfHandler.java:137)
    at com.avaya.jtapi.tsapi.tsapiInterface.TSInvokeID.setConf(TSInvokeID.java:54)
    at com.avaya.jtapi.tsapi.tsapiInterface.TsapiEventDistributor.handleEvent(TsapiEventDistributor.java:103)
    at com.avaya.jtapi.tsapi.tsapiInterface.TsapiEventQueue.run(TsapiEventQueue.java:104)


    it seems a timing problem, but even I wait quite long time (seconds) and then call selectiveListeningHold, it still gives this error. what can be the reason?

    JohnBiggs
    Joined: Jun 20, 2005
    Messages: 1139
    Location: Rural, Virginia
    Offline
    Assisting with troubleshooting this far exceeds what we want to be doing in the forum.

    1) why are you using selective listen hold?
    2) why don't you leave the recorder registered?
    3) Registering a DMCC takes considerable work on AES and CM. We recommend recording applications leave them registered all the time.
    4) I perceive the first selective listen hold is still active, you don't mention undoing it before you drop the recorder out (why do you do that and then add the recorder back - that seems like a waste of effort).
    Go to:   
    Mobile view