Skip to content

How can I get more information about abandoned calls in AWS Connect?

0

I am looking for some explanation / clarification on how calls get categorised as abandoned on Connect. We occasionally seem to have situations where there are agents available, but a call gets logged as abandoned anyway. I'd be happy to chalk this up to someone hanging up before being connected to an agent, but when I check Contact Search and look for calls where the agent is blank (indicating the call was not routed to an agent before completion), there seems to be a call from the exact same number a few seconds later:

example

Are abandoned calls included/visible in Contact Search, or if not can I see any further information about them anywhere, particularly which number was calling?

2 Answers
1

Calls in Amazon Connect get categorized as abandoned when the caller hangs up before being connected to an agent. There can be a number of reasons for this:

  • Caller hangs up before entering queue
  • Caller hangs up while in queue
  • System or network issues - Network or system glitch that results in disconnected calls which are marked as abandoned.
  • Sometimes a caller might hang up quickly, even if an agent becomes available shortly after.
  • If a caller hangs up and immediately redials, the first call is logged as abandoned while the second call is connected. If you are seeing calls from the same number only seconds apart, this could be why.

Ensure that queue configuration is properly set to ensure calls are routed to available agents. Ensure that agents are in the correct state such as "Available" and that there are no status transitions like "On Break" which may temporarily mark them as unavailable.

Ensure that agents are in the correct state (e.g., "Available") and that there are no status transitions (like "On Break" or "After Call Work") that might temporarily make them unavailable.

Investigating the cause:

  1. Contact Trace Records (CTR) Analysis:
  • Analyze CTRs to understand the exact flow of the call. Look at timestamps, the DisconnectReason, and other attributes.
  1. Review Queue and Routing Configurations:
  • Ensure that queue configurations are set for optimal performance and that there are no unnecessary delays in routing calls to available agents.
  1. Check Agent States:
  • Monitor agent states and transitions to ensure that agents are not inadvertently becoming unavailable.
  1. Network and System Health:
  • Ensure that there are no network issues or system problems that might be causing call drops.
  1. Use Metrics and Reports:
  • Utilize real-time and historical metrics to identify patterns or spikes in abandoned calls. This can help pinpoint specific times or conditions under which calls are more likely to be abandoned.

Here is an example Python script to help you extract and analyze CTRs for abandoned calls:

 import boto3
 from datetime import datetime, timedelta

 # Initialize Boto3 client for Connect
 client = boto3.client('connect')

 # Define your Connect instance ID
 instance_id = 'your-connect-instance-id'

 # Define the start and end time for the data retrieval
 end_time = datetime.utcnow()
 start_time = end_time - timedelta(days=1)  # Last 1 day

 # Retrieve CTR data
 response = client.get_metric_data(
        InstanceId=instance_id,
        StartTime=start_time,
        EndTime=end_time,
        Filters={
             'Queues': ['queue-id'],  # Replace with your queue ID
        },
        HistoricalMetrics=[
            {
                'Name': 'CONTACTS_ABANDONED',
                'Unit': 'COUNT',
                'Statistic': 'SUM',
            },
        ],
 )

 # Print out the retrieved data
 for metric_result in response['MetricResults']:
       for collection in metric_result['Collections']:
            print(f"Queue: {metric_result['Dimensions']['Queue']}")
            print(f"Abandoned Contacts: {collection['Value']} at {collection['StartTime']}")

Here is a sample script to fetch specific contact trace records for abandoned calls:

 import boto3

 # Initialize Boto3 client for Connect
 client = boto3.client('connect')

 # Define your Connect instance ID
 instance_id = 'your-connect-instance-id'

 # Function to fetch contact trace records
 def fetch_contact_trace_records(instance_id, start_time, end_time):
     response = client.list_contact_records(
         InstanceId=instance_id,
         StartTime=start_time,
         EndTime=end_time,
         MaxResults=100
     )
     return response['ContactRecords']

 # Define the start and end time for the data retrieval
 end_time = datetime.utcnow()
 start_time = end_time - timedelta(days=1)  # Last 1 day

 # Fetch contact trace records
 contact_records = fetch_contact_trace_records(instance_id, start_time, end_time)

 # Filter and analyze abandoned calls
 for record in contact_records:
     if record['DisconnectReason'] == 'CUSTOMER_DISCONNECT' and not record.get('Agent'):
         print(f"Abandoned Call from: {record['CustomerEndpoint']['Address']} at {record['InitiationTimestamp']}")
         # Add additional logic to analyze the contact record further
 By understanding these details and analyzing your contact trace records, you can better identify why calls are being abandoned and take steps 
 to mitigate these issues.

This allows for expanded details and analysis of your contact trace records. This can help you to determine why calls are being abandoned so that you can take steps to resolve the issue.

For additional details on this topic, refer to Amazon Connect Contact Records Documentation and Real-Time and Historical Metrics Documentation.

AWS
answered 2 years ago
0

Yes, abandoned calls will show up in the reporting. Since you have identified two calls from the same number, check out the CTR and trace the call path. Generally, if a call from the same number shows up a few seconds/minutes after the an abandoned it generally means that caller got dropped (perhaps cellphone receptions) or had to hang up suddenly and called back.

david

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.