question

InteractiveTel API avatar image
InteractiveTel API asked InteractiveTel API commented

Unable to graduate our app because of the Call Control permission

We have met all graduation requirements except for the CallControl permission (for event filter: /restapi/v1.0/account/{accountId}/telephony/sessions).

We faced this issue in the past, and right now, we cannot graduate the app on our own.

Can you guys graduate the app as soon as possible?

Also, how can we prevent this from happening in the future?


PS: The ticket system is unavailable as well.

call handling
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

When request for such a thing, remember to provide the app client id.

In the future, you can any API that requires the permission that you need for your notification. For example, your app is listing to telephony session event notifications and it requires the Call Control permission, test your app by making inbound calls to detect call events, then implement an extra function to just forward those incoming call to another number. That way your app will exercise the Call Control permission when it call the call forward API. Remove that function from your code after testing and graduating your app.

1 |3000

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

InteractiveTel API avatar image
InteractiveTel API answered InteractiveTel API commented

I forgot to add it, app id: L6g0jppRSM2773fQSmlIDw~TR9eVOBtT524bQkkGhAX2Q, client id: p7sMTbPAQcCVsUvG3W8GMA, but don't you think guys this is a waste of development time to meet the Call Control permission. I would advise either removing the permission from the event filter or having another way to test exercise it.

Quoting you: "test your app by making inbound calls to detect call events": This is exactly what we do

and then you said: "implement an extra function to just forward those incoming call to another number": This is a waist of time, I think everyone would agree.

Just having to add way more code to meet this requirement is not within everyone's budget!

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

Phong Vu avatar image Phong Vu ♦♦ commented ·

Done.

I agree with you that the requirement in this case should be removed, and we are in the process to improve the app graduation experience.

However, I don't think that the recommended workaround solution is a "way more code" to meet the requirement. Look at the extra code e.g. in Node JS.

// incoming telephony event
  var body = msg.body
  if (body.parties[0].direction == "Inbound" &&
        body.parties[0].status.code == "Proceeding"){
        forwardCall(body, "+1650XXXYYYY")
  }

async function forwardCall(call, toNumber){
  var endpoint = '/restapi/v1.0/account/~/telephony/sessions/'
  endpoint += call.telephonySessionId
  endpoint += `/parties/${call.parties[0].id}/forward`
  try{
    var resp = await platform.post(endpoint, { phoneNumber:toNumber })
    var jsonObj = await resp.json()
    console.log(JSON.stringify(jsonObj))
  }catch(e){
    console.log(e.message)
  }
}
0 Likes 0 ·
InteractiveTel API avatar image InteractiveTel API Phong Vu ♦♦ commented ·

Thank you for the code snipped; I am implementing it now in our graduation code (Python) (yes, we have a graduation code to graduate the app sort of automatically). In the meantime, can you graduate the app by hand, please? our client is waiting.


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

I wrote "Done" meaning the app was manually graduated.

0 Likes 0 ·
Show more comments

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