Skip to main content
The First Step
February 13, 2025
Question

What roles are necessary for an app to call from any *extension* to any domestic number?

Is it possible to call any domestic number from any extension within my organization using a server-side application? I need to place a call on the user's behalf, and I do not want them to authenticate, hence the need for a server-side solution

 

 var parameters = new MakeRingOutRequest

 {

     from = new MakeRingOutCallerInfoRequestFrom

     {

         phoneNumber = "15559000410" // Assume this is a queue number

     },

     to = new MakeRingOutCallerInfoRequestTo

     {

         phoneNumber = "15559991234"

     },

     playPrompt = false,

 };

// Call from any extension in my company, possible to call on behalf?

 var resp = await restClient.Restapi().Account().Extension(“XXXXXXXX”).RingOut().Post(parameters);

 Console.WriteLine("Call Placed. Full Response:\n" + JsonConvert.SerializeObject(resp, Formatting.Indented))

 

But I keep getting ..

“In order to call this API endpoint for another extension, one of the following permissions [InternalCalls, DomesticCalls, InternationalCalls] have to be granted with extended scope to the authorized user”.

 

 

 

 

5 replies

CANODEVThe First StepAuthor
The First Step
February 14, 2025

Is it possible to call any domestic number from any extension within my organization using a server-side application? I need to place a call on the user's behalf, and I do not want them to authenticate, hence the need for a server-side solution

 

 var parameters = new MakeRingOutRequest  {      from = new MakeRingOutCallerInfoRequestFrom      {          phoneNumber = "15559000410" // Assume this is a queue number      },      to = new MakeRingOutCallerInfoRequestTo      {          phoneNumber = "15559991234"      },      playPrompt = false,

 };

// Call from any extension in my company, possible to call on behalf?

 var resp = await restClient.Restapi().Account().Extension(“XXXXXXXX”).RingOut().Post(parameters);  Console.WriteLine("Call Placed. Full Response:\n" + JsonConvert.SerializeObject(resp, Formatting.Indented))

 

I should mention that all the numbers/extensions are “assigned” to a queue. 

 

 

 

 

 

PhongVu
Community Manager
Community Manager
February 18, 2025

It should work. Try not to set the extension id. Just use the “~” sign to let the system use the authenticated extension to call the API.

CANODEVThe First StepAuthor
The First Step
February 18, 2025

It should work. Try not to set the extension id. Just use the “~” sign to let the system use the authenticated extension to call the API.

I tried that too.  It sems a “direct number” is *mandatory* for ringout to work. Odd enough it works without a “direct number” if I reverse the from and to, but the use experience is not what it should be.

 

PhongVu
Community Manager
Community Manager
February 18, 2025

It should work. Try not to set the extension id. Just use the “~” sign to let the system use the authenticated extension to call the API.

I tried that too.  It sems a “direct number” is *mandatory* for ringout to work. Odd enough it works without a “direct number” if I reverse the from and to, but the use experience is not what it should be.

 

Your call queue does not have a direct number? Remember that at least one of the call queue members must be online. Because when you place a ring out call on a call queue, the system will call the call queue and the queue will handle the routing to ring a member of the queue.

As I tested this and it worked. If this does not work for you, please submit a dev support ticket and provide details info so they can help you.

CANODEVThe First StepAuthor
The First Step
February 21, 2025

It should work. Try not to set the extension id. Just use the “~” sign to let the system use the authenticated extension to call the API.

I tried that too.  It sems a “direct number” is *mandatory* for ringout to work. Odd enough it works without a “direct number” if I reverse the from and to, but the use experience is not what it should be.

 

Your call queue does not have a direct number? Remember that at least one of the call queue members must be online. Because when you place a ring out call on a call queue, the system will call the call queue and the queue will handle the routing to ring a member of the queue.

As I tested this and it worked. If this does not work for you, please submit a dev support ticket and provide details info so they can help you.



I did have to open a ticket