Hi,
We are binding an outbound call to a Dialer contact record via IceLib's DialerSession.BindRecord() method, which seems to be working just fine and binds the call, with consequent DialerSession.PopData firing whereas we obtain the DialerCallInteraction object. We then give the agent a UI choice to select the disposition (wrap-up code) and call CallComplete() on that interaction, providing the disposition. Out set up is a policy set that is executed for all dialer call interactions, with the behavior set up as Custom Handler. The understanding is that Dialer_RuleActionEvent will be fired for all interactions that are treated as dialer interactions and since we bind the interaction, so it should.
What we saw is that the Dialer_RuleActionEvent handler was never actually called and inspecting the dialer logs showed the following:
At the time of the record-bound call disconnected:
DialerController::RemoveRecordBinding() : Record bound interaction did not get dispositioned. Flushing contact.
At the time our custom application invoked CallComplete() setting up the wrap-up code on the interaction:
DialerInteraction::Complete() : Interaction completed. WrapupCode:<
wrapup code> Abandon:<0> Contact:<0> Call result data: TsError: <eTsError=0x0(None)> Answering device: <0> SIT type: <5> Cause code: <None>
I can only assume due to method naming that RemoveRecordBinding() may have caused the policy set not to execute; but also wondering why this happened at the time the call was disconnected and not dispositioned.
Anyone has ideas as to what's going wrong here?
Thank you in advance!
#Integrations------------------------------
Ivan Sazonov
UMA Education, Inc.
------------------------------