I created a new handler and published it and then had it called from the custom Button. This new Handler simply has the Disconnect step, but the call is not disconnecting. I have the Button passing the Call ID as Interaction1 and i have the disconnect step using Interaction1.
here is a Snippet of the IP Logs from a test call and as far as i can tell looks normal.
08:12:05.661[3100 IP-Handler]CIPManager::DataExtraction: Calling data extraction function (dll=IpMiscellaneousToolsU | function=IpClientButton)
08:12:05.661[3100 IP-Handler]IpClientButton: IpClientButton(SpanishQueue,1001361616,Scott.Williams,722190)
08:12:05.661[3100 IP-Handler]CIP2HandlerContext::AssignParametersToVariables(): Handler Type = 1
08:12:05.661[3100 IP-Handler]CIP2HandlerContext::AssignParametersToVariables(): Parameter Count = 4
08:12:05.661[3100 IP-Handler]CIPManager::Attach: Calling attach function (dll=IpTelephonyU | func=CallIdAttach | value=1001361616 unsigned value=1001361616 | handler=MOH_SpanishQueueCheck | step=-1)
08:12:05.661[3100 IP-Handler]CCallIdCache::Attach(): Creating new entry. call=1001361616
08:12:05.661[3100 IP-Handler]CCallIdCache::Attach(): Incrementing Ref Count. call=1001361616 RefCnt=1
08:12:05.661[3100 IP-Handler]CIP2HandlerThread::State(): (m_hThread=0x000007b8), p_stateNew = 4
08:12:05.661[3100 IP-Handler]CIP2HandlerThread::Resume(): (m_hThread=0x000007b8)
08:12:05.661[3100 IP-Handler]CIP2HandlerThread::ThreadFunc: Handler thread (ID 12544) Running.
08:12:05.661[3100 IP-Handler][Enter] CIP2HandlerContext::Run: HANDLER_RUNTIME
08:12:05.661[3100 IP-Handler]CIP2HandlerStep_External::Run: STEP_ENTERED(stepID=1 | type=External | func=Disconnect23 | dll=IpTelephonyU)
08:12:05.661[3100 IP-Handler]CIPManager::IntegerCall: Calling IntegerCall (dll=IpTelephonyU | func=Disconnect23 | parmCount=3 | handler=MOH_SpanishQueueCheck | step=1)
08:12:05.661[3100 IP-Handler]CIPManager::IntegerCall: Calling Disconnect23
08:12:05.661[3100 IP-Handler]Disconnect23: 1001361616, 0, 0
08:12:05.661[3100 IP-Handler]Disconnect_Internal(): 1001361616, bCancel=0
08:12:05.661[3100 IP-Handler][Enter] InteractionId::QueryObjectType
08:12:05.661[3100 IP-Handler][Enter] CQmCache::QueryUnderlyingEntityId
08:12:05.661[3100 IP-Handler]IpToolCommon::IpAttributeCache::query_entity_id: Interaction 1001361616=Call
08:12:05.661[3100 IP-Handler][Exit] CQmCache::QueryUnderlyingEntityId
08:12:05.661[3100 IP-Handler]InteractionId::QueryObjectType: 1001361616 object type from cache is Call
08:12:05.661[3100 IP-Handler][Exit] InteractionId::QueryObjectType
08:12:05.661[3100 IP-Handler]CNotifierSocketConnection::connection_write_with_code: SENT Request Call, Oid(1001361616), Eid(DisconnectCall), ReqId(), SndId(), Size(18)
08:12:05.664[3100 IP-Handler]CIPManager::IntegerCall: Disconnect23 returned 0
08:12:05.664[3100 IP-Handler]CIP2HandlerStep_External::Run(): IntegerCall Returned 0
08:12:05.664[3100 IP-Handler][Exit] CIP2HandlerContext::Run: HANDLER_RUNTIME
08:12:05.664[3100 IP-Handler]CIP2HandlerContext::Run: ENDING_HANDLER(handlerName=MOH_SpanishQueueCheck | handlerClassName=MOH__SpanishQueueCheck_1789887982 | handlerCorrelationID=997 | nestingLevel=0 | endingState=0)
08:12:05.664[3100 IP-Handler]CIP2HandlerThread::ThreadFunc: Thread finished running handler.
------------------------------
Scott Williams
Missouri Higher Education Loan Authority
------------------------------
Original Message:
Sent: 03-17-2019 09:12
From: Jason Loucks
Subject: Not Playing Prompt or disconnecting
Honestly, it sounds like you've somehow gotten the variables mixed up. I'd check to make sure you're calling the play prompt and disconnect toolsteps on the correct interaction .I can't tell you how many times I've had problems like this that turned out to be using Interaction1 instead of tmpInteracton or something like that
------------------------------
Jason Loucks
Agon Consulting Services
Original Message:
Sent: 03-15-2019 15:12
From: Scott Williams
Subject: Not Playing Prompt or disconnecting
I built a handler in our Dev environment and it works fine, i then moved it to our production system updated the required data points and now parts of the handler do not work.
The handler is trigger by a button and it mutes the agent, checks a queue for available agents and if there are transfers the call. If there is no agents available it plays a message saying if they want to continue in English press 1 and if they do not press 1 disconnects the call after 10 seconds. If they do press 1 they are then reconnected to the agent they were originally talking with.
What is happening right now is the prompt never plays nor does the call ever disconnect. I have debugged the handler and the button is triggering the handler, it then flows through each step its suppose too, but instead of pausing at the Play Prompt step it just goes right past it, but does take the correct path that no digit is pressed and hits the disconnect Step. At that point the handler stops, but the call is never disconnected.
I have tested the prompt by pressing play on in the handler step after uploading it to verify it is good and that worked fine.
As a test, i moved the disconnect step to be right after the mute step, so that the handler is simply muting the call then disconnecting, but even that isn't working, the call never gets disconnected and the Mute gets lifted.If there are agents available the handler does work as intended and transfers the call.
I am at a loss as to why this is happening anything else i can look at?
Version 2018 R3 Patch 4
Thank you,
Scott
#Handlers
------------------------------
Scott Williams
Missouri Higher Education Loan Authority
------------------------------