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": q{
"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