How to get Call Status(Connected, Busy, No answered & Ringing) from Amazon Connect Streams API?

761 Views Asked by At

I am using Amazon Connect Streams API [https://github.com/amazon-connect/amazon-connect-streams/blob/master/Documentation.md] and we have different call status in Amazon Connect e.g. call connected, call missed/no answered!

how can i get call status of the following call dispositions (busy, connected, in progress, ringing, no answered) from within Streams API?

I am using

function subscribeToContactEvents(contact) {
console.log("Subscribing to events for contact");
contact.onMissed(handleOnMissed);
contact.onConnected(handleOnConnected);
contact.onEnded(handleOnEnded);
}

function handleOnMissed(contact){
    console.log("[contact.onMissed] Call is Missed. Contact status is " + contact.getStatus().type);
}

function handleOnConnected(contact) {
    console.log("[contact.onConnected] Call is ACW. Contact status is " + contact.getStatus().type);
}

function handleOnEnded(contact) {
console.log("[contact.onEnded] Call has ended. Contact status is " + contact.getStatus().type);
}
1

There are 1 best solutions below

5
ledge On

There are two steps to this, first you need to subscribe to agent events then you trigger based on things happening to the agent. So for example...

connect.agent(async function (agent) {
    agent.onStateChange(function (agentState){
        console.log("Agent State Changed to: " + agentState.newState);
    });
});

You can do similar subscribing to contact events.

connect.contact(function (contact) {
    activeContact = contact;
    contact.onRefresh(function (contact) {/* do stuff */});
    contact.onIncoming(function (contact) {/* do stuff */});
    contact.onAccepted(function (contact) {/* do stuff */});
    contact.onMissed(function (contact) {/* do stuff */});
});

Subscribing to events is covered here... https://github.com/amazon-connect/amazon-connect-streams/blob/master/Documentation.md#event-subscription