Hi RingCentral community,
I’m integrating the RingCentral embeddable/web phone widget into our website and using widget postMessage events to save call history.
Issue:
For an inbound call, if the call popup is open and the user answers from the mobile, I usually receive rc-active-call-notify with:
data.call.telephonyStatus === "OnHold"
But if the same inbound call is answered from the RingCentral mobile app, the browser widget sometimes receives rc-call-end-notify while:
data.call.telephonyStatus
is blank/missing or not reliable, and my stored value from rc-active-call-notify is also empty. Because of this, our service can incorrectly classify the call as missed even though it was answered on mobile.
Questions:
- Is rc-active-call-notify.data.call.telephonyStatus expected to be reliable for calls answered on another device, such as RingCentral mobile?
- Which widget event should be used to know the final disposition of an inbound call?
- Does rc-call-end-notify.data.call include a stable ID, like telephonySessionId or sessionId, that can be used to query the Call Log API?
- Is the recommended approach to wait for rc-call-end-notify, then query RingCentral Call Log for the final result instead of relying on telephonyStatus?
- What call log field should we use to distinguish answered inbound calls from missed inbound calls?
Example event flow:
rc-call-ring-notify rc-call-end-notify
In the failing case, rc-active-call-notify is not received, or telephonyStatus is blank/incorrect before rc-call-end-notify.
Any guidance on the correct reliable way to detect “answered on mobile” vs “missed inbound call” would be appreciated.
i alread asked about: