question

adam-antoszewski avatar image
adam-antoszewski asked igor-bebin commented

RingCentral event subscriptions, 'Call Completed' is not sent for dropped calls.

RingCentral event subscriptions, 'Call Completed' is not sent for dropped calls. We have an application that interacts with RingCentral. One of its features turns user status to "Do Not Disturb" when user gets on a call, then turns it back to "Available" when the call is finished. This is so users do not get call queue calls ringing while they are talking.

It works well, the app subscribes to the RingCentral notification events and uses "Call Started" and "Call Completed" telephony status.

However sometimes when user call drops or otherwise ends obruptly, the "Call Completed" notification is not received which causes the user to stay on "Do Not Disrturb" after the call ended.

How can we ensure that we are always notified when calls end?

sdk
1 |3000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Phong Vu avatar image
Phong Vu answered
Hi Adam,

Which notification event do you use? The Account Presence or the Extension Presence? Or something else? I don't see the "Call Completed" status. These are the only telephony statuses I can see:

'NoCall' | 'CallConnected' | 'Ringing' | 'OnHold' | 'ParkedCall' 

I don't know how did you implement that and how it worked well as you said. Please provide some code snippet so I can investigate.

Meanwhile, you can read this blog to see how I use presence notification to detect incoming calls and define if it's a missed call or a call connected and when the call ends.

https://medium.com/ringcentral-developers/how-to-get-a-new-call-recording-notification-ee9f2a6e41a0

Hope this helps and let me know,
+ Phong
1 |3000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

adam-antoszewski avatar image
adam-antoszewski answered igor-bebin commented

Hi Phong,

I am using telephony status NoCall and CallConnected:

if (call.TelephonyStatus == TelephonyStatus.NoCall)  {      CallEnded(callInfo, e);  }  else if (call.TelephonyStatus == TelephonyStatus.CallConnected)  {      CallStarted(callInfo, e);  }


This is a Presence notification with ActiveCalls attached child object.
4 comments
1 |3000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Phong Vu avatar image Phong Vu ♦♦ commented ·
So you meant you can detect from NoCall to CallConnected. But when the call ends, you don't get notified with the NoCall status? Does that happen all the time with Inbound and Outbound calls or just time to time? And also, is that the Company Presence or Extension Presence API?
0 Likes 0 ·
adam-antoszewski avatar image adam-antoszewski commented ·
This is on account extension API. I do not get "NoCall" event for calls that were connected but dropped or ended obruptly. I does not happen often, for a user who makes 15 calls a day, it happens once or twice a day. We have about 60 users with this functionality enabled, which are users in call queues. Our company has 130 or so using RingCentral.
0 Likes 0 ·
Phong Vu avatar image Phong Vu ♦♦ commented ·
Thanks for confirmed info Adam! I will test and ask the team to investigate this. Meanwhile, if you observe any other issues or suspecting causes, please let me know.

BTW, do you use WebHook or PubNub for the notification? Do you use our SDK and if yes, what SDK?

Regards,
+ Phong
0 Likes 0 ·
igor-bebin avatar image igor-bebin commented ·
Hi Adam, 

Small remark, if call was dropped/ended abruptly Client might receive "No Call" event prior "Call Connected" due to re-ordering/transport delays, etc. Could you please confirm your Client respect and analyze "sequence" attribute in Presence API/Push Notification?

Thanks,
Igor
0 Likes 0 ·

Developer sandbox tools

Using the RingCentral Phone for Desktop, you can dial or receive test calls, send and receive test SMS or Fax messages in your sandbox environment.

Download RingCentral Phone for Desktop:

Tip: switch to the "sandbox mode" before logging in the app:

  • On MacOS: press "fn + command + f2" keys
  • On Windows: press "Ctrl + F2" keys