Solved

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

  • 20 March 2024
  • 2 replies
  • 118 views

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

icon

Best answer by Phong1426275020 20 March 2024, 22:54

View original

2 replies

Userlevel 1

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"
      }
    }
  }

(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

Reply