C# Voice Quickstart
Objective: Build a simple C# application that answers a call and says “Hello, World!” to the caller.
# Overview
* [Step 1: Create a FreeClimb account](#step-1)
* [Step 2: Create a C# application to play a message](#step-2)
* [Option 1: Use CodeSandbox](#option-1)
* [Option 2: Run the application locally](#option-2)
* [Step 3: Connect your C# application to FreeClimb](#step-3)
* [Step 4: Test your application](#step-4)
### More resources
* [Explore the possibilities with FreeClimb](#explore-1)
* [Explore more advanced capabilities with FreeClimb SDK and PerCL](#explore-2)
<br />
## <a id="step-1"></a>Step 1: Create a FreeClimb account
Go to the <a href="https://www.freeclimb.com/dashboard/signup/" target="_blank">FreeClimb create an account page</a> and sign up for an account using either your business email or GitHub account.
After signing up, you'll be prompted to verify your email and phone number (US only). You'll receive an SMS confirmation code.
Enter the confirmation code, and you will be taken to your FreeClimb dashboard. Here, you can manage your account, add applications, configure phone settings, and review call logs.
Click on **FreeClimb Numbers** in the left sidebar. You will see your free FreeClimb number that comes with the trial account. This number has been automatically attached to "My FreeClimb Application." You are now ready to move on to Step 2.

> 📘 What is my FreeClimb number?
>
> FreeClimb numbers are regular phone numbers that you can dial from any mobile or landline phone. When a call is received, FreeClimb picks it up for you and forwards it to an application.
>
> FreeClimb applications are the interface between your code and the FreeClimb backend, which handles the transmission of data between the Internet and telephone networks. FreeClimb will connect your App ID to a FreeClimb telephone number so that it can correctly direct incoming and outgoing voice data
<br />
## <a id="step-2"></a>Step 2: Create a C# application to play a message
For this step, the goal is to get a C# application running on a public URL so it can be connected with FreeClimb in Step 3. We provide two options to accomplish this: running the application on CodeSandbox or running the application locally.
CodeSandbox is a great option for exploring FreeClimb in just a few clicks without the overhead of installing, building, and hosting an application. If you're ready to build your own application, then running it locally may be a better option for you.
{/* <details> */}
<summary><a id="option-1"></a>Option 1: Use CodeSandbox</summary>
To run the application on CodeSandbox, copy the public URL below and move on to Step 3.
```Text Public URL
https://6jdpsl-3000.csb.app
If you wish to further explore CodeSandbox, check out the C# CodeSandbox. Once you've created an account or logged into your existing CodeSandbox account, you have the option to fork these sandboxes for further customization.
Please Note
CodeSandbox is not suitable for production level applications.
Option 2: Run the application locally
To run the project locally, you'll need to clone the C# Voice Quickstart project from GitHub to your local machine by using the following command:
git clone https://github.com/FreeClimbAPI/CSharp-Voice-Quickstart.git
Install the required packages:
dotnet add package freeclimb-cs-sdk
Start the application:
dotnet run --urls=http://127.0.0.1:3000
Using Docker instead?
Follow these instructions:
- Pull docker image from dockerhub
docker pull freeclimbapi/node-sms-quickstart
- Run docker image after replacing placeholder values
docker run -e ACCOUNT_ID=<YOUR_ACCOUNT_ID> -e API_KEY=<YOUR_API_KEY> -e FREECLIMB_NUMBER=<YOUR_FREECLIMB_NUMBER> -p 3000:3000 freeclimbapi/node-sms-quickstart
Next, go to Ngrok and click Download.
Unzip the file to install, then open your terminal and navigate to the directory where you've unzipped ngrok.
Start an HTTP tunnel on port 3000 with the following command:
./ngrok http 3000
Once you run ngrok, you should receive a response that looks something like this:

The Forwarding URLs point to your local server. Copy the URL and move on to Step 3.
You're now ready to tell FreeClimb how to find your application so that it can route calls to your application's public URL.
Return to your FreeClimb dashboard and click Applications. Click Edit Config next to the "My FreeClimb Application."
In the VOICE URL field, enter the public URL you copied in Step 2 and add /incomingCall to the end of it. See the image below. Click Update to complete this step.

Please Note
The beginning of your VOICE URL will be unique and different from the one shown in the image below.
Use the phone connected with your verified number to call your FreeClimb number. You should hear, "Hello, World!"
If you didn't hear this, click on All Logs in the lefthand menu on your FreeClimb dashboard. Here you will see a history of your calls and a description of the event under "Message."
If you see a log that reads, "The FreeClimb Application assigned to this phone number has no voice_url set," then you need to repeat Step 3.
If you see a log that reads, "Request to Application," this means that your application and FreeClimb are communicating, but your application is not responding correctly. Check for errors in `
Updated 15 days ago