question

Tony Spotorno avatar image
Tony Spotorno asked Phong Vu edited

Call Routing based upon API Call

Our company provides several levels of support for our clients. Some users are email only, others have phone support. We would like to have the system automatically make an api call to a service we would setup that returns the extension to move to. I.e. if the client has phone support, we could forward the call to the support queue, if they only had email support, we could forward to a VM explaining their support options...

I've researched and saw some posts where this feature was coming? Is it available now?

rest api
1 |3000

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

Phong Vu avatar image
Phong Vu answered Phong Vu edited

It's really hard for me to understand your questions. So my answers will be generic and based on what I could guess.

1. Yes, you can programmatically make a phone call using the RingOut or CallOut API

2. Yes, you can forward an incoming call to a call queue's phone number

3. Yes, you can forward an incoming call to a voice mailbox. It is the same way you forward a call to another extension but that extension's setting is accepting voicemail only.

To detect incoming call, you can subscribe for the telephony session notification to receive events.

If you can explain your problem better, I can help you better.

1 |3000

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

Tony Spotorno avatar image
Tony Spotorno answered

This is for inbound calls.


1. Inbound call to Ringcentral at phone number 123-123-1234.

2. Ringcentral sends a get message to an external url passing the phone number... Example: https://www.mycompany.com/GetExtension.aspx?phonenumber=1234567890

3. GetExtension.aspx returns a single extension.

4. Ringcentral directs the call to the extension specified via the url.

1 |3000

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

Phong Vu avatar image
Phong Vu answered Phong Vu edited

1. Inbound call to Ringcentral at phone number 123-123-1234.

=> Register for a presence event notification for the extension which owns the phone number "123-123-1234" or at the account level to receive incoming call notification.

// subscribe for extension presence notification
'/restapi/v1.0/account/~/extension/[extensionId]/presence?detailedTelephonyState=true'
// subscribe for account level notification
'/restapi/v1.0/account/~/presence?detailedTelephonyState=true'

2. Ringcentral sends a get message to an external url passing the phone number... Example: https://www.mycompany.com/GetExtension.aspx?phonenumber=1234567890

=> RingCentral does not send any GET request to external url. It is up to you to send GET request to any external server to get external information. And where is the phone number "1234567890" coming from? Who's number is that?

3. GetExtension.aspx returns a single extension.

=> What is this extension? Why it comes from "https://www.mycompany.com"

4. Ringcentral directs the call to the extension specified via the url.

=> There is no API to direct a call to an extension based on url. What URL is this? You can only forward an incoming call to a phone number using the telephoneySessionId and the partyId from the telephony session notification payload.

1 |3000

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

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