/twilio-phone-ng

Primary LanguageJavaScriptMIT LicenseMIT

Twilio Phone

A simple phone build with Twilio Client WebRTC, Node, AngularJS Material and MongoDB.

Twilio Phone

NOTE: Please review the code if you do not use it just as demo. It has been designed for demo purposes and has not been separately security checked.

You Need a Phone with More Features?

This repository is not in active development anymore. If you want to try out an up-to-date WebRTC phone with many more feature written in Typescript and React, please check out Summer Camp.

The linked phone repository can manage user availability, supports multiple users on one account and you have more options on the call routing.

One Click Install - Heroku

This will install the application and all the dependencies on Heroku (login required) for you. As part of the installation, the Heroku app will walk you through configuration of environment variables. Please click on the following button to deploy the application.

Deploy

After the installation has completed please open https://<your_application_name> in your browser.

Manual Install - On Your Own Server or Machine

This project requires Node.js 12 or greater and MongoDB.

You can download and run MongoDB yourself (OS X, Linux, Windows).

On OS X, the maybe the easiest way to get MongoDB running locally is to install via Homebrew.

brew install mongodb

You should then be able to run a local server with:

mongod

By default, there will be a local database running that's not password protected. Create a database for the application.

Install Dependencies

Navigate to the project directory in your terminal and run:

npm install

In order to run the demo you will need to set the following environment variables:

  • MONGODB_URI

Start the application

node app.js

After the server is started open https://<your_application_name> in your browser.

Note:

Before you can make and receive phone calls register with a nickname and a password. After your first login press the setup icon on the top right. The demo application will ask you for your TWILIO_ACCOUNT_SID andTWILIO_AUTH_TOKEN and will use your account credentials to configure the TwiML Application and the Twilio number for you.

Please create a separate sub-account within Twilio and install this app using that sub-accoount credentials.

On Google Chrome a secure HTTPS connection is required to do phone calls via WebRTC. Use a tunnel that supports HTTPS such as ngrok, which can forward the traffic to your webserver.

Questions?

Message mdamm@twilio.com

License

MIT

Contributors