Skip to main content
August 14, 2015
Question

Caller Id parameter ignored when using the RingOut API - am I utilizing the parameter properly?

We are trying to set the outbound callerid number using the RingOut API. If I view my user record directly in RingCentral I can change the caller id number under RingOut from Web and that works fine.


The issue I'm having is that I'd really love to be able to set it dynamically, and I was excited to see that the RingOut API documentation clearly states that there is a Clid parameter for setting it. Unfortunately, that parameter seems to get ignored. Am I missing something?

21 replies

The First Step
September 12, 2017
Yes, certainly you can update the callerID of the extension to 'Blocked'. Kindly, take a look at the API request below: 

HTTP Request
PUT /v1.0/account/~/extension/~/caller-id

HTTP Body
{
  "uri": "https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/caller-id",
"byFeature": [
    {
      "feature": "RingOut",
      "callerId": {
        "type": "Blocked"
      }
    }
  ]
} 
And you can see this being updated in the Service Web under the 'Outbound Caller ID' settings.
The First Step
September 12, 2017
Thanks AK. That does work to change to a Blocked number but I can't change to a blocked number, RingOut and then change back to PhoneNumber all in one go without the CallerID showing the phone number.

My guess is the outgoing caller id only pulls when you've hit "1" on your phone to make the connection and by that time the extension has already been reverted back to PhoneNumber.

So now I have to monitor the RingOut call status until it's not "Pending" I'm assuming so then once it's completed I can fire off the API call to change the extension Caller ID back to PhoneNumber. What a pain!

It would be a whole lot easier if you guys update the API to allow for pushing the CallerID in the original RingOut call (including the ability to Block) instead of this work around of changing the Caller ID on the extension. Will this be added in the near future?

The First Step
September 12, 2017
Apologize for any inconvenience that is being caused at the moment and we appreciate your thoughts and findings. 

Well, the good new is that we would have the feature of 'Dynamically updating the callerId' during RingOut API in our very next release. We shall keep you posted on this release soon. 
The First Step
September 12, 2017
OK thanks.

I'm still waiting to port our numbers so I'll put this part of the integration on the back burner and hope you guys release before we complete the port. 
The First Step
September 26, 2017
Any update when the next release will be?
The First Step
September 26, 2017
Lee,

I will check with the Team and provide an update to you by EOD today. Thanks. 

The First Step
October 17, 2017
Any update AK? It's roughly October 15th. ;) 
The First Step
October 23, 2017
So today our phone numbers have been ported and my solution for call out isn't working at intended.

I'm getting a "Resource for parameter [extensionId] is not found" error for any extension other than my own (probably because mine is the main accountid too).

I look up the extension in question (via /restapi/v1.0/account/~/extension/OtherUserExtensionIDHere)
  and sure enough it does not have the "CallOut" feature like my extension does. Is this due to my account not being fully setup yet and do I need to contact my account manager or can I set permissions for this somewhere?

Even another SuperAdmin extension doesn't have permission so I don't think it's something I can even set in Roles.

If I pass in the phone number for the extension but not the extensionid (i.e. ~) then the correct user does get called to connect the call but then MY caller id is shown on the RingOut for their call!






The First Step
October 23, 2017
Hi Lee,

I'm getting a "Resource for parameter [extensionId] is not found" error for any extension other than my own (probably because mine is the main accountid too).
You are trying to Login ( authorize ) using one extension and trying to initiate the Ringout for another extension by passing in the extensionID

Let's say you have two extensions :

Ext 101 -> User A ( extensionId : 12345678 )
Ext 102 -> User B ( extensionId : 87654321 )

Your API call / calls would be as below :



  1. Login using the Ext 101 ( extensionId : 12345678 )
  2. Make Ringout :
      The Response would be as below :
{
  "errorCode": "CMN-102",
  "message": "Resource for parameter [extensionId] is not found",
  "errors": [
    {
      "errorCode": "CMN-102",
      "message": "Resource for parameter [extensionId] is not found",
      "parameterName": "extensionId"
    }
  ],
  "parameterName": "extensionId"
}

Kindly make sure to use ( ~ ) or the extension ID associated with the User logged in to initiate the Ringout. 

As for the callerID, once we have the release, you could pass in the callerID as a parameter to reflect the same for the call. Meanwhile, you could use the Edit Extension's Caller ID property or you could update the same in Service Web :
https://community.ringcentral.com/ringcentral/topics/how-do-i-change-the-number-that-appears-when-i-...



The First Step
January 25, 2018
Apologize for any inconvenience that is being caused at the moment and we appreciate your thoughts and findings. 
Well, the good new is that we would have the feature of 'Dynamically updating the callerId' during RingOut API in our very next release. We shall keep you posted on this release soon. 
Was this implemented? I don't see anything in the change log and there has been no update in 3 months. I'm going to be working on our integration again soon and would like to know if you will ever get this put into the RingOut API.