question

phan-phan5925 avatar image
phan-phan5925 asked eugene1578 commented

In order to call, what should i do?.

Hello,


I am using the https://github.com/ringcentral/ringcentral-csharp-client c# SDK.


i am beginer of ringcentral.

i have done about ringout, but i can't receive voice bitween myapp of sandbox and other phone.

-------------------------

var requestBody = new

{


from = new { phoneNumber = phoneNumber },

to = new { phoneNumber = toNum },

playPrompt = "false",

country = new { id = "1" }

};


_RingOutInfo = await extension.Ringout().Post(requestBody);

----------------------------

when this funcion was called, client soft phon was ringing.

Now what is the next step?

In order to call, what should i do?.

1. i 'd like to call using ringcentral c#

2. how to Accept Incoming Call.

3. how to Create SIP registration of a device/application:

i want you to help me.





getting started
1 |3000

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

Tyler Liu avatar image
Tyler Liu answered
As far as I can tell. Ringout is not the same as "call". When you do a ringout, there will be an intermediate phone number to call both the from number and the to number. And if both of them pick up the phone, they are connected via the intermediate number. 

Ref:  http://ringcentral-api-docs.readthedocs.io/en/latest/ring_out/

If you want to do a test Ringout, you'd better have access to both the from number and the to number.

I don't think C# can make a direct call because it's not a phone. Maybe you are interested in  https://github.com/ringcentral/ringcentral-web-phone if you want to make calls programmatically.
1 |3000

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

eugene1578 avatar image
eugene1578 answered
Hi Tyler,
I mention my meaning again.
I'm developing demo using C#.
This is a app demo screenshot using C#.

There is a number called (408)333-9978 for <to number> field.
I clicked <call> button.




Then softphone for (408)333-9978 ring.



I click <Answer> button.
At this moment, I can't hear anything, I can't process for phone.

For this, what API will I use?
To select microphone, what api will I use?

I checked https://github.com/ringcentral/ringcentral-web-phone.
It used SIP.JS.

Regards.


1 |3000

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

Tyler Liu avatar image
Tyler Liu answered
As far as I can tell, it's impossible to answer the call with C#.  As I explained, both the from number and to number ring, and both of them should be picked up in order to say something. 

C# invokes Ringout API to initiate a "call", and the "from" and "to" for the call are two phones (either hardware phone or soft phone). But neither of them is your C# app. You C# app is acting like an agent, just to invoke the Ringout api to connect these two phones. 

Frankly speaking, I don't know how to make your C# app a soft phone. I don't think it is possible because I created the C# SDK. The only way to create a soft phone that I am aware of is  https://github.com/ringcentral/ringcentral-web-phone.
1 |3000

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

eugene1578 avatar image
eugene1578 answered
Hi Tyler,
Thanks for your message.

I wanted to develop like ringcentral for desktop app using c# sdk.

I have a C# Windows Desktop database application that needs to be integrated with RingCentral.

I expect to: Receive Signal that there is an incoming call with Caller ID info, Place a call, Receive Call, Text in/out, and download Call Recording upon 'OnHook' event.

My deliverable will be a c# .net application that connects to newly programmed .DLL.

My Demo will be used as an example for working with your DLL. 

My existing RMX/DevExpress application must be able to call the functions in DLL thereby communicating directly with Ring Central.

1) Is it impossible?

2) For permission of my sandbox account, there is a VOIP.
How can I implement this using c#?

Kind Regards.


1 |3000

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

Tyler Liu avatar image
Tyler Liu answered
I need to turn to others for help. Because something is out of my knowledge. RingCentral for Desktop is not based on Rest API we provide and it doesn't use any of the SDKs. I need to ask my colleagues to get more technical details. Please stay tuned.
1 |3000

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

Tyler Liu avatar image
Tyler Liu answered
Some one told me it was possible to embed CEF  https://bitbucket.org/chromiumembedded/cef and use webrtc to build a softphone. 

I am pretty sure that RingCentral Rest API doesn't support placing call(other than Ringout which is not the same as call) and receiving call.

To receive call you need softphone, webphone or physical phone.  RingCentral desktop app uses SIP directly. But we don't support customers doing the same.
1 |3000

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

Tyler Liu avatar image
Tyler Liu answered
If you can get C# + CEF work together. We have a good project here:  https://github.com/ringcentral/ringcentral-js-widget

With this project, you can have a full featured phone app (including but not limited to: place call, receive call, SMS, Fax...etc.) in 10 minutes. 
1 |3000

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

eugene1578 avatar image
eugene1578 answered Tyler Liu commented
Hi Tyler,
Thanks for your message.

If I use c# + CEF and source for https://github.com/ringcentral/ringcentral-js-widget and make demo,
can I make DLL from these sources?

The type of C# Project is ASP.NET at this time?

Kind Regards.
3 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.

Tyler Liu avatar image Tyler Liu ♦ commented ·
I don't quite understand your question. Especially "can I make DLL from these source".

https://github.com/ringcentral/ringcentral-js-widget is a JavaScript project.

0 Likes 0 ·
eugene1578 avatar image eugene1578 commented ·
Hi Tyler,
Thanks for your message.

I mean, My main goal is to implement the API to my existing RMX/DevExpress application. It run on Azure.

For this, first of all I think I have to build c# demo and make DLL, and integrate DLL to Azure. ( That is my idea, I'm not sure my idea is right. )

At this time, can I make DLL when I use this Javascript widget project?

If no, would you give me solution how I build API?

My API running on Azure should monitor something at RingCentral or get a notification via a webhook to know a call was just completed and the API will download the wav file(call recording).

Kind Regards.


0 Likes 0 ·
Tyler Liu avatar image Tyler Liu ♦ commented ·
Your screenshot seems like a WinForm application. So my suggestion is for Desktop apps only. I have no experience with Azure.
0 Likes 0 ·
eugene1578 avatar image
eugene1578 answered Embbnux Ji commented
Hello Tylor,

I've tried to launch this project on local.
https://github.com/ringcentral/ringcentral-js-widget

I created a file named api-config.js in folder dev-server, added following codes:

export default {
                 
appKey: 'XXXXXXXXX',
appSecret: 'XXXXXXXXXXXXX',
server: 'https://platform.devtest.ringcentral.com',
};

In terminal, I ran command.

It show error like screenshot.
Would you help?


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

Tyler Liu avatar image Tyler Liu ♦ commented ·
It's not a good idea to post your appkey/appSecret here. Could you please remove them?
0 Likes 0 ·
Tyler Liu avatar image Tyler Liu ♦ commented ·
Please read the readme file of  https://github.com/ringcentral/ringcentral-js-widget ringcentral-js-widget and scroll to the bottom:

Note that the development server is using OAuth for authorization process. Please make sure the app you specified in configuration above is setup with Redirect Uri  http://localhost:8191/redirect.html.

You need to login RingCentral developer website and configure your app to specify the redirect URI.
0 Likes 0 ·
eugene1578 avatar image eugene1578 commented ·
Hi Tylor



Would you teach me what I will add for OAuth Redirect URI?

Kind Regards
0 Likes 0 ·
Tyler Liu avatar image Tyler Liu ♦ commented ·
0 Likes 0 ·
eugene1578 avatar image eugene1578 commented ·
Hi Tylor,
How can I remove appkey and secret key?

Regards
0 Likes 0 ·
Show more comments
eugene1578 avatar image
eugene1578 answered eugene1578 commented
Hi Tylor,



Would you see this screenshot?

I'd like to delete 2 items I mentioned in screenshot in my previous comments.

But I can't edit my comment.

Would you send me screenshot and teach me in details?

Sorry for bothering you.

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

Tyler Liu avatar image Tyler Liu ♦ commented ·
I thought you had the permission to edit your own comment but it seems that you don't.

I have asked my colleagues to help, please stay tuned.
0 Likes 0 ·
phan-phan5925 avatar image phan-phan5925 commented ·
Hi Tylor,
I am using the  https://github.com/ringcentral/ringcentral-csharp-client c# SDK.
I have a question.
can I record using sdk, when calling.?
After the call is completed, i am going to download recorded wav file.
i am sure you can help me.
kind Regards.

0 Likes 0 ·
Tyler Liu avatar image Tyler Liu ♦ commented ·
Hi Phan, Let's create a new topic to continue. This one has been too long and it's off topic.
0 Likes 0 ·
eugene1578 avatar image eugene1578 commented ·
Thanks, Tyler.
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