Skip to main content
Question

We are facing an issue where calls answered on another device (RingCentral Mobile App or RC Desktop App) are sometimes being logged as missed calls in our CRM integration using the RingCentral Embeddable Widget.

  • May 7, 2026
  • 0 replies
  • 10 views

Current approach:
We were relying on rc-active-call-notify and storing:

case 'rc-active-call-notify':
ringCentralPhoneWidget.latestActiveCallTelephonyStatus =
data.call && data.call.telephonyStatus
? data.call.telephonyStatus
: "";
break;

Then during rc-call-end-notify, we determine whether the call should be saved as missed/incoming.

Problem observed:
In several debugging scenarios:

  1. Incoming call arrives
  2. rc-active-call-notify fires with:

    telephonyStatus = "Ringing"
  3. User answers the call on mobile or RC desktop
  4. Instead of receiving another rc-active-call-notify with a connected state, we directly receive:

    rc-call-end-notify
  5. At this point:
    • latestActiveCallTelephonyStatus is still "Ringing" or sometimes null
    • UI answer button may still be visible
    • CRM incorrectly logs the call as missed

We also noticed behavior changes while debugging:

  • With breakpoints/debugger enabled, sometimes the correct event arrives later
  • Without debugger, the issue reproduces more frequently

This strongly looks like:

  • race condition
  • stale telephony state
  • delayed cross-device synchronization
  • or missing active-call events when calls are answered externally

Current concern:
Using UI state such as:

$('.btn-answer').is(':visible')

does not appear reliable for deciding whether a call was missed.

Questions:

  1. Is rc-active-call-notify guaranteed to emit a connected/answered status when a call is answered on another device?
  2. Is there a recommended production-safe way to determine:
    • missed call
    • answered call
    • answered elsewhere
  3. Should we instead rely on:
    • sessionId tracking
    • call result/disposition
    • party status
    • disconnect reason
  4. Are there known timing/synchronization delays between:
    • mobile app
    • RC desktop app
    • embeddable widget

We are considering implementing per-session call state tracking with delayed end-event processing, but wanted to check whether RingCentral already provides a recommended approach for this scenario.

Any guidance would be greatly appreciated.