How can you configure the first leg of RingOut call to ring both Desk phone and Softphone?

  • 2
  • Question
  • Updated 3 years ago
  • Answered

In the developer sandbox a Ringout call rings the Softphone, there is no physical desktop phone.

But when there is a softphone and a desktop phone only the desktop phone is ringing for me.

Other incoming calls ring both the desktop and the softphone.

Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

Posted 3 years ago

  • 2
Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
Can you clarify how you call RingOut in this case? What numbers you are specifying as "from" and "to"?
Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

The "to" is my personal cell phone # and the "from" is the 'DirectNumber' of my extension.

I am logged into my softphone. My physical desktop phone rings but not the softphone.

In my sandbox configuration where I have only a softphone the first leg of the RingOut rings the softphone.

Incoming calls ring both, if they exist.

If the question is the form of the "to" and "from" numbers then the answer is "1NpaNxxXxxx".

Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
If you go to service.ringcentral.com, do you see that "DirectNumber" is assigned to your desk phone? In this case such behavior is expected. For direct numbers with attached line (device), RingOut routes the call directly to this device (all rules are bypassed). And, you are right, this behavior differs from regular incoming call where call passes through all defined rules.

If you want all your phones to ring in case of RingOut, you should specify direct number not assigned to any device or company number + extension (like +18001234567*102). 

But keep in mind, that there is one disadvantage of such approach: your second leg will start connecting before you actually pick up the first leg (internally call is answered by answering machine which plays announcements, starts finding you according to defined rules, etc). So the use you are calling to might pick up call earlier than you and hear your automated greetings. 
Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

Thanks for the good explanation.

Doesn't allow me to nicely accomplish what I want.

Is there a way to temporarily suspend or turnoff a desk phone so the first leg of a RingOut will hit the SoftPhone?

Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
Can you  tell me your production phone number you specify as "from" for RingOut?
Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

17165083812

Then, as per your discussion, I experimented with +18885225975*126

Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
So, didn't it work as I described when you used +18885225975*126?

Actually there is one more way which is available for you in Sandbox and probably will be available in Production next week.

You can retrieve the list of forwarding numbers configured for extension using /account/~/extension/~/forwarding-number. In this list you will see the numbers of devices + external PSTN numbers available for call forwarding. You should be able to see your softphone in this list. Each of these numbers has ID. 

Now, when you call RingOut, instead of specifying  "from": { "phoneNumber": "XXXX"} you can specify "from": { "forwardingNumberId": "YYYY"} where YYYY is ID of your softphone.

It is new feature, and I wonder if it can be useful for you.
Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

I haven't tried production yet.

The content request body is:

{"from":{"forwardingNumberId":"426870004"},"to":{"phoneNumber":"15854747510"}}

Using:
https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/ringout

Returns:
{
  "errorCode" : "CMN-102",
  "message" : "Resource for parameter [~] is not found",
  "errors" : [ {
    "errorCode" : "CMN-102",
    "message" : "Resource for parameter [~] is not found",
    "parameterName" : "~"
  } ],
  "parameterName" : "~"
}


But this works:
https://platform.devtest.ringcentral.com/restapi/v1.0/account/130385004/extension/130411004/ringout

Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
OK, you are right. I have reproduced it. Definitely a bug. And it will behave this way in Production as well.

Thank you for finding it.

We will fix in the next version. For the time being you can just use extension ID instead of tilda (tilda as accountId seems to work correctly).
(Edited)
Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

I have some additional questions about obtaining the forwarding Id for an extension's Softphone.

What  is the process?

Look for a label of "SoftPhone" in the ForwardingNumberList?

Is there a scenario where there are 2 SoftPhones? Mobile and Desktop. Do each have there own Id? if so, how would you distinguish them?

Should I first be getting the Extension's devices and use the found SoftPhone info to somehow find it's forwarding id?

Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
Well, it was planned to present a list of possible candidates for 2st leg of RIngOut to end-user -- it this case user will see label and will be able to select proper one.
What is your business case? Do you just need to find a softphone (any of them, if there are multiple ones)to place this call? 
Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

I am constructing an app to streamline calling sales leads and current customers as well as dealing with incoming calls.

I have a scenario where I am using data from out CRM system to initiate a sales call via RingOut. Sometimes the user has roaming or no phone service but has access to internet connection. They may have a softphone running on the desktop or smartphone. My app is a desktop app, most likely running remotely.

I want to allow the user to specify the origin of the first leg of the RingOut call by presenting a set of typical options. ie. Desktop phone, desktop softphone, smartphone softphone, mobile phone, home phone... all that are configured and usable for an extension.

Currently any manually dialed number on a softphone has some minor loss of automated data collection in our system, plus a required explanation of why they need to dial manually when they want to originate a call from a softphone.

With the info I have learned in this discussion I can control the first leg ringing a softphone but I still need to understand how to collect and present the options to the user for this situation.


"Do you just need to find a softphone (any of them, if there are multiple ones)to place this call?" Short answer, Yes.

Thank you.

Photo of Xenios LLC

Xenios LLC

  • 218 Points 100 badge 2x thumb

Yes, using +18885225975*126 worked as you described, but the "to" number was ringing first. I don't like that behavior.

The forwardingNumberId seems like it will be my solution. Difficult to test in the sandbox, as there is no hardphone coexisting with a softphone. I can validate it does connect to the softphone.

Thank you very much.

Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,914 Points 2k badge 2x thumb
You can "fix" this behavior when calling +18885225975*126 by switching off all greetings/screening/etc. via Service Web. However I understand that it is not acceptable in general.

The approach with forwardingNumberId should work. The whole idea of RingOut was that if you want to use  your RingCentral number as "from", it should directly connect you to the particular desk- or softphone. Since we are hiding phone numbers assigned to softphones in some cases, the only reliable way is to select it by its id from forwarding numbers list. So, when end-user initiates RingOut call, he/she should be prompted to choose the endpoint (desk phone, softphone, PSTN number) where he/she want to pick up the first leg.