Call Failure Reason Notifications
The agents should be notified about the reason in case a call fails due to any problem by the user or customer channel. Ameyo AppServer features the Toast Messages and browser notifications at Ameyo User Console that shows the reason why the call is failed to connect. Refer to the following screenshots.
This feature is available only in Ameyo 4.8 GA and later versions.


The common error messages that will be displayed at the Customer End, Agent Console, and Phone are listed in the following table.
Nodes | Scenarios | Messages |
|---|---|---|
Dial Node originateCRT | Party.did.not.answer | Customer did not answer: There was no answer from the customer. You may want to try again later. User did not answer: There was no answer on the user leg. You may want to check your extension. Phone: There was no answer from the number you dialled. You may want to try again later." |
Party.could.not.be.connected.Reason |  |  |
Party could not be connected (Action node timed out) | Generic message: The call could not be completed at this time. You may want to try again later. |  |
customer already hung up | Generic message: The call could not be completed at this time. You may want to try again later. |  |
originate timed out | Generic message: The call could not be completed at this time. You may want to try again later. |  |
while adding a call leg | Failure: some entity already hung-up | Generic message: The call could not be completed at this time. You may want to try again later. |
can not make call, timed out |  |  |
if originateCRTAndMakeCallNode timeout | " unable to make call" | Generic message: The call could not be completed at this time. You may want to try again later. |
OriginateCRTNode | determineCallContextFromUserCallLegDetails | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. |
possible failure reasons. |  |  |
CallContextStateManager.null.crt.object.found.while.determining.call.context | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. Phone/Third Party: Your extension might not be valid. Please contact your supervisor. |  |
CallContextStateManager.null.call.leg.details.found.while.determining.call.context | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. Phone/Third Party: Your extension might not be valid. Please contact your supervisor. |  |
CallContextStateManager.determination.context.map.found.null.while.determining. and.transforming.call.leg.details | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. Phone/Third Party: Your extension might not be valid. Please contact your supervisor. |  |
CallContextStateManager.determination.context.map.doesnt.contain.key.campaign.id.to.get.outboundcallcontextdeterminationpolicy | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. Phone/Third Party: Your extension might not be valid. Please contact your supervisor. |  |
CallContextStateManager.failed.to.determine.no.outbound.policy.returned.by.policy.manager | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. Phone/Third Party: Your extension might not be valid. Please contact your supervisor. |  |
CallContextStateManager.outboundcallcontextdeterminationpolicymanager.precheck.task.failed.before.determination.total.calls.in.campaign.might.have.exceeded.the.max.calls.alloted.in.campaign | Agent channel: Your extension might not be valid. You may have to register your extension again. Customer channel: Your extension might not be valid. Please contact your supervisor. Phone/Third Party: Your extension might not be valid. Please contact your supervisor. |  |
AMDNode | Answering machine detected | Your call reached the answering machine.You may want to try again later. |
Customer Hungup: AMD failed | The call could not be completed at this time. You may want to try again later. |  |
other failure reason coming from asterisk |  |  |
DNC Node | "customer.excluded.disposed" | Call could not be completed as the number is registered for DNC. |
callback.scheduled.for.customer | Call could not be completed as there is a callback already scheduled for this number. |  |
Contact.of.customer.is.registered.for.do.not.call (if customer is available in ameyo) | Call could not be completed as the number is registered for DNC. |  |
Contact.is.registered.for.do.not.call (customer not available in ameyo) | Call could not be completed as the number is registered for DNC. |  |
Do.Not.Call.check.failed.for.number.due.to.internal.error | Temporary DNC failure. Please contact your supervisor. |  |
Do.Not.Call.check.failed.due.to.internal.error.for.number | Temporary DNC failure. Please contact your supervisor. |  |
put on hold node | Can not be 'put on hold' already hung-up call. Your call cannot be put on hold at this time. | Generic message: The call could not be completed at this time. You may want to try again later. |
resume Node | Can not resume talk as already hung-up. Your call could not be resumed at this time. |  |
schedule callback Node | CallBackManager.failed.to.persist.info.to.db |  |
CallBackManager.mandator.column.callback.time.missing | Callback could not be scheduled as the time was missing. |  |
CallBackManager.specify.futuretime.for.callback | Callback could not be scheduled as the time preceded the current time. |  |
CallBackManager.specify.agent.for.selfcallback (If selfCallback is true and userId is not available) | Self callback could not be scheduled as the user was not available. |  |
Call.Back.Manager.Invalid.phone.number (if phone is null and customerId is less than 0) | Callback could not be scheduled the phone number was not valid. |  |
Call.Back.Manager.Record.already.exist | Callback could be scheduled as another callback already exists. |  |
No License for callback |  |  |
if nodeflow stopped in between execution | And this event can only be received if the request is placed from the User Interface, which means in case of inbound, auto-dial, and callback(enqueue by a server) does not receive any event or message. | Generic message: The call could not be completed at this time. You may want to try again later. |
event → cancel.received | Reasons that are thrown by application directly from different modules like AVR (Asterisk Voice Resource), Call Manager, Voice Campaign, and others, we send a direct message from the exception. So if messages like (messages like No Answer, Provider Temporary failure, and others) have to be thrown as an exception in the application, then this can be possibly sent to User Interface. |  |