A Call Tracking app for Bandwidth Voice and Messaging APIs.
The call tracking application lets you create trackable phone numbers for all your marketing needs. Create a new number by specifying the area code you'd like and the phone number you want the call to forward to.
Then for each incoming call you'll get a CNAM (caller id) lookup. As well as the duration of the state of any on-going calls.
This app will:
BANDWIDTH_USER_ID- Something like
BANDWIDTH_API_TOKEN- Something like
BANDWIDTH_API_SECRET- Something like
DATABASE_URL- Connection path to MongoDB
Ngrok is an awesome tool that lets you open up local ports to the internet.
Once you have ngrok installed, open a new terminal tab and navigate to it's location on the file system and run:
./ngrok http 8080
You'll see the terminal show you information
Once ngrok is up and running. Open a new tab and clone the repo:
git clone https://github.com/BandwidthExamples/node-call-tracking.git cd node-call-tracking
# Check first if mongodb is started and available # Use DATABASE_URL to specify location of db collection if need export BANDWIDTH_USER_ID=<YOUR-USER-ID> export BANDWIDTH_API_TOKEN=<YOUR-API-TOKEN> export BANDWIDTH_API_SECRET=<YOUR-API-SECRET> export DATABASE_URL=<YOUR-MONGO-PATH> npm install # to install dependencies npm start
# fill .env file with auth data first # run the app (it will listen port 8080) PORT=8080 docker-compose up -d
When the app runs for the first time, it setups the Bandwidth voice and messaging callbacks for the application for you. It sets the callback urls based on the url visited!
http://8a543f5f.ngrok.io link and paste it into your browser.
On first run, the application will create the Bandwidth callbacks and voice/messaging application for you. Be sure you visit the
ngrokurl and not
localhost. Bandwidth needs to be able to send callbacks.