question

Paul N avatar image
Paul N asked Phong Vu commented

Unable to add/assign RingCentral "Phone" softphone to user/extension in Sandbox?

Hi there,

How do I add add the older "RingCentral Phone" softphone to an extension in the sandbox?

Seems the "add phone" option only allows me to pick the newer "RingCentral App" Softphone.

I also tried logging into extension using older "Phone" app (which works fine), but that no longer seems to auto-add the phone to the user/ext list like it used to?

FYI, the reason I do not want to use the newer app for this, is because I need to perform a CallOut request using a specific device - and according to your current API, the "new" app still does not support this? (as it's a virtual device - tho happy to be corrected on this).

Any ideas? Thanks in advance

developer sandboxsoftphone
1 |3000

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

1 Answer

Phong Vu avatar image
Phong Vu answered Phong Vu commented

Unfortunately, you can no longer provision the RingCentral soft phone for a user extension. If you just need to test the /call-out API, you can test it with the RingCentral app using the workaround solution below:

- Write some code to catch the telephony event notification. E.g. using this simple sample code, change the event type to telephony/sessions accordingly.

- Make a phone call from the RingCentral app and you will receive the telephony notification events as shown in the example below. Grab the device id and use it to make a /call-out API call.

{
    "uuid": "5633235359831428528",
    "event": "/restapi/v1.0/account/77972XXXX/extension/85652XXXX/telephony/sessions",
    "timestamp": "2024-03-20T21:22:27.742Z",
    "subscriptionId": "611b9176-843d-4ea3-875c-89ebde37aeb2",
    "ownerId": "85652XXXX",
    "body": {
      "sequence": 2,
      ...
      "parties": [
        {
          "accountId": "77972XXXX",
          "extensionId": "85652XXXX",
          "id": "p-a1c143103c762z18e5dbe7884z349fa0000-1",
          "direction": "Outbound",
          "to": {
            "phoneNumber": "+1650224XXXX"
          },
          "from": {
            "phoneNumber": "+1650933XXXX",
            "extensionId": "85652XXXX",
            "deviceId": "801594692004"
          },
          "status": {
            "code": "Setup",
            "rcc": false
          },
          ...
        }
      ],
      "origin": {
        "type": "Call"
      }
    }
  }
5 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.

Paul N avatar image Paul N commented ·

Hi Phong,

Thank you for the workaround - that will hopefully help in the short-term.

In the long-term - does RingCentral have an ETA yet on when this will be available *without* the workaround?
(e.g. to integrate with RC and be able to CallOut without having to wait for first call to happen)

Thanks again

0 Likes 0 ·
Phong Vu avatar image Phong Vu ♦♦ Paul N commented ·

Unfortunately, there is no ETA for a solution to support device Id for the RingCentral app and other type of WebRTC app. This is because of the device Ids of those "devices" are quite dynamic.

So the /call-out endpoint and other endpoints that requires a device id can be used pretty much to control calls on hard phones or SIP phones.

1 Like 1 ·
Phong Vu avatar image Phong Vu ♦♦ Paul N commented ·

One more thing to share with you. It seems that in the production environment, even you can only choose the RingCentral app when you add a device for an extension. But can login the RingCentral soft-phone app and it will automatically provision and register its device id to that extension. It's just not supported in the sandbox environment.

1 Like 1 ·
Paul N avatar image Paul N commented ·

(Additionally...)

I was about to try your workaround suggestion, but when app login failed, I remembered that AFAIK unlike the older "Phone" app, there is no way to log into a Sandbox extension using the newer RingCentral app?

I also tried using app.devtest.ringcentral.com (as that does support sandbox extensions), but the events raised from doing CallOuts from there do not include deviceId (in fact, no Party info at all):

{
    "uuid": "2935767101537XXXXX",
    "event": "/restapi/v1.0/account/8825XXX/extension/8825XXX/presence?detailedTelephonyState=true",
    "subscriptionId": "1b6bf6ca-2592-49ca-b1fb-a6ca47XXXX",
    "ownerId": 8825XXXXX,
    "timestamp": "2024-03-21T06:12:49.005+00:00",
    "body": {
        "extensionId": 88258XXXX,
        "telephonyStatus": "Ringing",
        "activeCalls": [{
                "id": "jtd3he9mu6mekXXXXXX",
                "direction": "Outbound",
                "from": "+132336XXXX",
                "fromName": null,
                "to": "102",
                "toName": null,
                "telephonyStatus": "Ringing",
                "terminationType": null,
                "sipData": null,
                "startTime": "2024-03-21T06:12:48.885+00:00",
                "sessionId": "322214XXXX",
                "partyId": "p-a1c143103c762z18e5fXXXXXXXXXXXXXXXX0000-1",
                "telephonySessionId": "s-a1c143103c762z18e5faXXXXXXXXXX"
            }
        ],
        "sequence": 230,
        "presenceStatus": "Available",
        "userStatus": "Available",
        "meetingStatus": 0,
        "dndStatus": "TakeAllCalls",
        "allowSeeMyPresence": true,
        "ringOnMonitoredCall": false,
        "pickUpCallsOnHold": false
    }
}

Is there a workaround to logging into sandbox via the newer desktop App?
...or would you expect the app.devtest... web app to present the deviceId (that I'm not seeing) above?

Thanks again

0 Likes 0 ·
Paul N avatar image Paul N Paul N commented ·

Ah, my bad - I see we're currently using the "detailed presence" event, which doesn't seem to bring the device info.

Would still be keen to know what ETA you guys have on being able to CallOut without first having to have done one manually.

Thanks.

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