News & Announcements User Community Developer Community

Welcome to the RingCentral Community

Please note the community is currently under maintenance and is read-only.

Search
Make sure to review our Terms of Use and Community Guidelines.
  Please note the community is currently under maintenance and is read-only.
Home » Developers
Detecting 'missed' calls for call queue members
Tags: call queues, call handling, call monitoring
Jun 13, 2022 at 9:45am   •   1 replies  •  0 likes
GEQ API

Is there a way to detect if a call queue member did not answer a call when it rang their extension, even when another member answers the call?

The goal is to detect when a call comes inbound to one of our call queues, we would like to kick anyone out of the queue who has their phone ring from the queue, but does not answer the call. I've been trying to do this with event notification subscriptions, but with testing it doesn't seem to detect that the initial call queue member that received the call notification but did not answer. It simply proceeds to the next member and if they answer, the call status goes to an answered status for them.

1 Answer
answered on Jul 5, 2022 at 9:33am  

First of all, if a queue member does not pick up an incoming call, that call is not necessarily a missed call, because the call queue will ring the next members, and it can ring that member again if the queue is set "rotating".

You can detect if a member does not pick up a call by using the telephony session event notification, parse the event payload and check the the call status and reason. See the example events below:

// Member's phone ringing
{
    "uuid": "6532554610789882711",
    "event": "/restapi/v1.0/account/80964xxxx/extension/6229532xxxx/telephony/sessions",
    "timestamp": "2022-07-05T16:18:46.971Z",
    "subscriptionId": "54963e56-ff62-46b7-8953-18b9ee0e0b3f",
    "ownerId": "6228832xxxx",
    "body": {
      "sequence": 5,
      "sessionId": "860357227016",
      "telephonySessionId": "s-a0d7bd0254c3cz181cf282236z3cab8d40000",
      "serverId": "10.13.123.208.TAM",
      "eventTime": "2022-07-05T16:18:46.939Z",
      "parties": [
        {
          "accountId": "80964xxxx",
          "extensionId": "62295327016",
          "id": "p-a0d7bd0254c3cz181cf282236z3cab8d40000-3",
          "direction": "Inbound",
          "to": {
            "phoneNumber": "+1209248xxxx",
            "name": "demo queue",
            "extensionId": "6249888xxxx"
          },
          "from": {
            "phoneNumber": "+1650513xxxx",
            "name": "demo queue - SAN MATEO    CA"
          },
          "status": {
            "code": "Proceeding",
            "rcc": false
          },
          "queueCall": true,
          "park": {},
          "missedCall": false,
          "standAlone": false,
          "muted": false,
          "uiCallInfo": {
            "primary": {
              "type": "QueueName",
              "value": "demo queue"
            },
            "additional": {
              "type": "CallerIdName",
              "value": "SAN MATEO    CA"
            }
          }
        }
      ],
      "origin": {
        "type": "Call"
      }
    }
}

// Member did not answer the call
{
    "uuid": "6651780260135284845",
    "event": "/restapi/v1.0/account/80964xxxx/extension/6229532xxxx/telephony/sessions",
    "timestamp": "2022-07-05T16:19:02.018Z",
    "subscriptionId": "54963e56-ff62-46b7-8953-18b9ee0e0b3f",
    "ownerId": "6228832xxxx",
    "body": {
      "sequence": 6,
      "sessionId": "860357227016",
      "telephonySessionId": "s-a0d7bd0254c3cz181cf282236z3cab8d40000",
      "serverId": "10.13.123.208.TAM",
      "eventTime": "2022-07-05T16:19:01.942Z",
      "parties": [
        {
          "accountId": "80964xxxx",
          "extensionId": "6229532xxxx",
          "id": "p-a0d7bd0254c3cz181cf282236z3cab8d40000-3",
          "direction": "Inbound",
          "to": {
            "phoneNumber": "+1209248xxxx",
            "name": "demo queue",
            "extensionId": "6249888xxxx"
          },
          "from": {
            "phoneNumber": "+1650513xxxx",
            "name": "demo queue - SAN MATEO    CA"
          },
          "status": {
            "code": "Disconnected",
            "reason": "AgentDropped",
            "rcc": false
          },
          "queueCall": true,
          "park": {},
          "missedCall": false,
          "standAlone": false,
          "muted": false,
          "uiCallInfo": {
            "primary": {
              "type": "QueueName",
              "value": "demo queue"
            },
            "additional": {
              "type": "CallerIdName",
              "value": "SAN MATEO    CA"
            }
          }
        }
      ],
      "origin": {
        "type": "Call"
      }
    }
}

I don't understand your use case of "kicking out queue members if they don't answer the call" though.


 1
on Jul 5, 2022 at 11:21am   •  0 likes

Thank you, I was able to figure this out after enough testing. The use case is basically we don't want agents who are missing calls sitting in our queues since they rotationally ring. It makes the customer wait longer for an agent who actually answers. I've got it figured out now and your answer is what the app is doing now.

on Jul 5, 2022 at 11:29am   •  1 likes

That's great!

I still don't know what you are doing with those members who could not pick up a call. "Kicking them out" sounds like you want to remove them from the queue. You may want to consider to turn off/on their queue status instead (if that is not what you do now). Check out the call queue presence for more.

https://developers.ringcentral.com/guide/voice/call-routing/manual/call-queues-presence

on Jul 5, 2022 at 2:12pm   •  0 likes

Yes, that is what we are actually doing. Kicking them out was a bit harsh, really we're just disabling their "Accept Queue Calls" flag and keeping them in the queue.



A new Community is coming to RingCentral!

Posts are currently read-only as we transition into our new platform.

We thank you for your patience
during this downtime.

Try Workflow Builder

Did you know you can easily automate tasks like responding to SMS, team messages, and more? Plus it's included with RingCentral Video and RingEX plans!

Try RingCentral Workflow Builder

PRODUCTS
RingEX
Message
Video
Phone
OPEN ECOSYSTEM
Developer Platform
APIs
Integrated Apps
App Gallery
Developer support
Games and rewards

RESOURCES
Resource center
Blog
Product Releases
Accessibility
QUICK LINKS
App Download
RingCentral App login
Admin Portal Login
Contact Sales
© 1999-2024 RingCentral, Inc. All rights reserved. Legal Privacy Notice Site Map Contact Us