Skip to main content

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?

Can you raise a ticket by emailing the developer support team or open a support ticket at Support and FAQs on developer portal?


Todd, did you solve this? I'm looking to set something like this up.

The Caller Id that is used by the RingOut API is the same as the Service Web extension Caller ID setting for "RingOut from Web" so the API Caller ID is set by Servie Web. The API will validate the Caller ID (to ensure it's a number that's authorized to be used), but won't actually set it as the Caller ID in the RingOut.

We have identified this as a potential issue and have a ticket to rectify this functionality to actually allow the API to set the caller ID when the provided value passes validation.


Hi Benjamin, being able to set RingOut Caller Id programmatically is also important to our application. 
Any updates on status of ticket to rectify Caller Id functionality in the API?
You can achieve this using our WebRTC implementation (requires creating a developer support case to have WebRTC provisioned) currently.

The ticket for this is still open at this time and is being kicked around for prioritization in a future release, but no official timeline currently available.
Hi,
are there any changes with callerId in API?

Hi Vadim,

The caller-ID parameter, when used in the RingOut API, would validate the setting on the service web at the moment.

Meanwhile, as a workaround could you try using the Extension Update Caller ID API and try this scenario ?

Please refer to the below link from our API explorer to know more about the :
Update Extension Caller ID

Once the caller-ID is updated you could initiate a RingOut.
Is there a way to set a blocked caller id using RingOut?

The situation I have is our system has two options next to phone numbers in our custom built CRM. "Call Number" and "Call Number (No Caller ID)". I'd like to just pass either a Boolean or something to indicate the call requires using a blocked caller id outgoing.

AK is your solution to basically update the extension caller id just before you call RingOut and then revert it back to what it should be after the RingOut?



Interesting. Could you please throw some light on what do you mean by blocked callerId?

If you do not pass the callerId parameter for the RingOut  API, then the default callerId that is set in the service web would be the one that would be reflected in the call:



Also, the above solution that is provided is to update the callerId dynamically just before the RingOut API call and it will not be reverted to what it was before. For that, you would have to change it again using the Update Extension Caller ID


What do I mean by blocked call id? I want the caller id that shows the recipient of the call to not see our caller id in some cases (not all the time). In my account I can set the caller id to be blocked as follows:



but by default I want it to be their direct number unless they are coming from our system via the RingOut API and only if they have clicked the "Call Number (No Caller ID)" button in our system.

So when you say: 

If you do not pass the callerId parameter for the RingOut  API, then the default callerId that is set in the service web would be the one that would be reflected in the call:

Does that mean I can pass a caller id and can it be the "Blocked" one? If so how?


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.
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?


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. 
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. 
Any update when the next release will be?
Lee,

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


Any update AK? It's roughly October 15th. ;) 

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!







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-...




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. 




So I assume that's a no then?

Reply