ringcentral-embeddable icon indicating copy to clipboard operation
ringcentral-embeddable copied to clipboard

Conference call events different between Browser and Desktop calling modes

Open ElridgeDMello opened this issue 5 years ago • 6 comments

We have the Ringcentral embeddable integrated into our application. Some of our users use calling mode 'Browser' whereas others use 'Ringcentral for Desktop'.

In evaluating conference calling in our sandbox environment, I noticed that when in a conference call the rc-active-call-notify events are different between the two calling modes (Browser vs Desktop).

In the Browser case, when the conference call is active, we get an event that looks like this:

{
  "type": "rc-active-call-notify",
  "call": {
    "startTime": 1576070805908,
    "direction": "Outbound",
    "from": {
      "phoneNumber": "+1323..."
    },
    "toName": "Conference",
    "to": {
      "phoneNumber": "conference"
    },
    "telephonyStatus": "CallConnected",
    "sessionId": "0",
    "partyId": "p-a51...",
    "telephonySessionId": "s-a51c...",
    "offset": -1537
  }
}

Whereas in the Desktop case:

{
  "type": "rc-active-call-notify",
  "call": {
    "id": "ALr...",
    "action": "VoIP Call",
    "startTime": 1576070883606,
    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/.../extension/.../call-log/ALr...?view=Simple",
    "direction": "Outbound",
    "from": {
      "phoneNumber": "+1323..."
    },
    "to": {
      "phoneNumber": "+1830..."
    },
    "telephonyStatus": "CallConnected",
    "sessionId": "882151...",
    "partyId": "p-20e...",
    "telephonySessionId": "s-20e...",
    "offset": -1418
  }
}

The Desktop case events are in line with what we were expecting. The Browser case event with call.sessionId = '0' and call.to.phoneNumber = 'conference' is not expected.
Is there a technical reason why we do not get the same sessionId value from one of the initiating calls involved in the conference call (like in the Desktop case)?

The events in the Browser mode break our integration. Our integration is dependent on sessionId (and to some extent phoneNumber) values being related to the initiating sessionId values. A synthetic sessionId value of 0 break our relating the event to actual call sessionId.

ElridgeDMello avatar Dec 11 '19 14:12 ElridgeDMello

Hi @ElridgeDMello It seems there are issues in active call control notification api. Will talk with my colleagues to confirm this. Thanks for feedback this.

embbnux avatar Dec 12 '19 05:12 embbnux

Hi @ElridgeDMello, confirmed from my colleagues. The issue is caused by different conference call solution. The Browser call uses Server-side Conference API, RC Phone Desktop manages conference locally on Client side. It is recommended to use telephoneySessionId when you find session id is '0'.

embbnux avatar Dec 16 '19 02:12 embbnux

@embbnux what API should be called with telephonySessionId to get the sessionId for a call?

ElridgeDMello avatar Aug 24 '20 17:08 ElridgeDMello

@embbnux what API should be called with telephonySessionId to get the sessionId for a call?

For call log, you can use https://developers.ringcentral.com/api-reference/Call-Log/readUserCallLog For active calls, https://developers.ringcentral.com/api-reference/Call-Log/listExtensionActiveCalls

Now, API don't support to query using telephonySessionId directly. So may need to load list and match in local.

embbnux avatar Aug 25 '20 03:08 embbnux

For call log, you can use https://developers.ringcentral.com/api-reference/Call-Log/readUserCallLog For active calls, https://developers.ringcentral.com/api-reference/Call-Log/listExtensionActiveCalls

Now, API don't support to query using telephonySessionId directly. So may need to load list and match in local.

Ok, thanks for that.

Any plans to resolve the differences between Desktop App and Browser conference call events? It makes the integration complex to be able to support the two calling modes (Browser vs Desktop).

ElridgeDMello avatar Aug 25 '20 21:08 ElridgeDMello

For call log, you can use https://developers.ringcentral.com/api-reference/Call-Log/readUserCallLog For active calls, https://developers.ringcentral.com/api-reference/Call-Log/listExtensionActiveCalls Now, API don't support to query using telephonySessionId directly. So may need to load list and match in local.

Ok, thanks for that.

Any plans to resolve the differences between Desktop App and Browser conference call events? It makes the integration complex to be able to support the two calling modes (Browser vs Desktop).

There are no plan to resolve the differences now, since native app and Web Based app are total different solution. I will discuss more with our PM, and update here.

And now we are recommending user to use RingCentral App desktop instead of RingCentral Phone desktop. The RingCentral App desktop is web based.

embbnux avatar Aug 26 '20 08:08 embbnux