question

Mark Hammans avatar image
Mark Hammans asked Phong Vu commented

RingOut 3rd party

I am making a centralized system for call control - whereby my app can tell a user's phone to make a call (pretty standard stuff on other platforms)


I am still using the dev sandbox so maybe that is part of the limitation - but anyway here goes with the issue


If I have authenticated my server app as say 'extension 101', when there is a call on 'extension 102' I can control it fine. I can hold / unhold / hangup etc.


But if I tell 102 to make a call ( regardless of what number I tell it to call ) I am getting the following as part of the response. What I want to check is whether
a) I need to get elevated permissions for my 'extension 101' - not sure how to do that in sandbox

or

b) the error code is somewhat generic but in fact there is no way to do this


Content: {

"errorCode" : "CMN-419",

"message" : "In order to call this API endpoint for another extension, user needs to have [InternationalCalls] permission granted with extended scope",

"errors" : [ {

"errorCode" : "CMN-419",

"message" : "In order to call this API endpoint for another extension, user needs to have [InternationalCalls] permission granted with extended scope",

"permissionsName" : "InternationalCalls"

} ],

"permissionsName" : "InternationalCalls"

}

rest api
5 comments
1 |3000

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

Mark Hammans avatar image Mark Hammans commented ·

also on incoming calls, now I have assigned a direct number to 102, I get an error when I try and answer the call from my server app


[16:15:04.226 11720] Exception during Answer :

RingCentral.RestException: Response:

StatusCode: 403, ReasonPhrase: 'Forbidden', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:

{

Connection: keep-alive

X-Rate-Limit-Group: light

X-Rate-Limit-Limit: 50

X-Rate-Limit-Remaining: 49

X-Rate-Limit-Window: 60

RoutingKey: SJC11P01

RCRequestId: 88ba5cf4-bcf4-11ea-813c-005056bbcdd9

Date: Fri, 03 Jul 2020 06:15:04 GMT

Server: nginx

Content-Length: 123

Content-Type: application/json

}

Content: {

"errors" : [

{

"errorCode" : "TAS-106",

"message" : "Operation is not allowed"

}

]

}

0 Likes 0 ·
Phong Vu avatar image Phong Vu ♦♦ Mark Hammans commented ·

When posting some log/result, please clean up those redundant lines to make it more readable.

0 Likes 0 ·
Mark Hammans avatar image Mark Hammans commented ·


Request:

Method: POST, RequestUri: 'https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/telephony/sessions/s-bc25188c769442a490cc48ca9e5cd5b7/parties/p-bc25188c769442a490cc48ca9e5cd5b7-2/answer', Version: 1.1, Content: System.Net.Http.StringContent, Headers:

{

X-User-Agent: Unknown/0.0.1 RingCentral.Net/4.0.0-beta4

Authorization: Bearer U0pDMTFQMDFQQVMwMHxBQURkR2k3VTUxYmNUWmI2eHNtN1Awa2ZCaUJUdWRBQXU0Ukx0OW9nTT ... XxBUQ

Content-Type: application/json; charset=utf-8

Content-Length: 27

}

Content: {"deviceId":"801557043004"}


0 Likes 0 ·
Phong Vu avatar image Phong Vu ♦♦ commented ·

Did you try to call an international number? If so, it is not allowed from sandbox environment.

Do you try to answer your RingOut call or the answer is a different issue?

0 Likes 0 ·
Mark Hammans avatar image Mark Hammans Phong Vu ♦♦ commented ·

Hi Phong,

No I wasnt trying to call an international number. I didnt get a chance to try to answer the RingOut call as no call was made

0 Likes 0 ·

1 Answer

Phong Vu avatar image
Phong Vu answered Phong Vu commented

You question is confusing me as the title is about a RingOut and the error is about dialing an international number. Then you escalated comment is about answering an incoming call.

If this is all about answering an incoming call and as you explained your app authentication, the error is quite clear that such an operation is not allowed.

You cannot answer an incoming call on behalf of other user extensions. Even if you login as an admin user. That is why when you login as a 101 extension, you cannot answer incoming calls for 102 or any other extensions.

2 comments
1 |3000

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

Mark Hammans avatar image Mark Hammans commented ·

Hi Phong,

Apologies for the confusion.

I should have created separate questions about incoming and outgoing calls - my query is however very similar on both.

For outgoing calls, I want to be able to initiate a call from an extension, but using my software as a 'third party call control' - I am not dialing any international numbers, in fact I am trying to dial another extension.

For incoming calls, again I wanted to be able to use my software to tell an extension to answer a call

It would seem neither of these is possible, however other actions such as placing a call on hold, unhold, hangup are possible. I suppose the difference is that the user is already on the call for any of those to take place.

Regards

Mark

0 Likes 0 ·
Phong Vu avatar image Phong Vu ♦♦ Mark Hammans commented ·

Can you post again the outgoing call with some code how you initiate a call in another question? I am still not sure about what you tried and how you ended up in receiving that error.

For incoming calls, no you cannot put on hold, un-hold or terminate a call for other extensions. Such activities will result in "Operation is not allowed". In fact, if it does, it is a bug.

Think about a scenario when an agent is on a call with his customer, an admin user or other users can interfere with his call by put him on-hold or terminate his call.

0 Likes 0 ·

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