Giter Site home page Giter Site logo

plivo / voicechat Goto Github PK

View Code? Open in Web Editor NEW
819.0 46.0 137.0 1.54 MB

VoiceChat is a set of APIs to create conference rooms on the fly to be used in the browser. Its built using the Plivo WebSDK and APIs.

License: MIT License

Python 14.36% JavaScript 45.63% HTML 40.01%

voicechat's Introduction

VoiceChat is a set of APIs to create ad-hoc conferences to be used in the browser. Its built using the Plivo WebSDK and APIs.

Looking to self-host?

Automatically Deploy to Heroku

  • Create a Plivo account
  • Create and verify a Heroku account if you don't have one then click the button below.

Deploy

Manual Installation

Clone this repo

$ git clone https://github.com/plivo/voicechat.git

Configure

Create a Plivo account if you haven't already

Deploying to Heroku

Create and verify a Heroku account if you haven't.

$ cd voicechat
$ heroku create {app_name} -s cedar
$ git push heroku master
$ heroku addons:create redistogo:nano --app {app_name}
$ heroku ps:scale web=1

Add Plivo Auth ID and Auth Token to env from the dashboard.

$ heroku config:set PLIVO_AUTH_ID={PLIVO_AUTH_ID}
$ heroku config:set PLIVO_AUTH_TOKEN={PLIVO_AUTH_TOKEN}

Test your application

Go to {app_name}.herokuapp.com

API Docs

Create a conference name

POST /api/v1/conference/

Example

$ curl -XPOST http://voicechatapi.com/api/v1/conference/
{
    "conference_name": "p12ygdwt1",
    "conference_url": "http://voicechatapi.com/p12ygdwt1/"
}

Call a mobile & landline phone number (PSTN) into the bridge

POST /api/v1/conference/<conference_name>/

Parameters

to - The phone number to be called.
clid - The caller id which will be used. (The phone number to be shown in the recipient's phone.)

Example

$ curl -XPOST -d "to={1415123####}&clid={1415123####}" http://voicechatapi.com/api/v1/conference/<conference_name>/
{
    "success": True,
    "message": "Call has been queued"
}

voicechat's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

voicechat's Issues

issue on addons

Hi,
It seems that for heroku the app requires a credit card, when you deploy this app (addons). Anyone experienced this? how to overcome on this issue.

$ heroku addons:add redistogo:nano --app voicecchat

This error was occur

heroku-cli: Installing core plugins... done
WARNING: heroku addons:add has been deprecated. Please use heroku addons:create instead.
! Please verify your account to install this add-on plan (please enter a credit card) For more information, see https://devcenter.heroku.com/categories/billing Verify now at https://heroku.com/verify

Heroku push not working

Any ideas? I followed the installation instructions to the letter.

Counting objects: 103, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (94/94), done.
Writing objects: 100% (103/103), 1.51 MiB | 837.00 KiB/s, done.
Total 103 (delta 8), reused 103 (delta 8)

-----> Python app detected
-----> No runtime.txt provided; assuming python-2.7.6.
-----> Preparing Python runtime (python-2.7.6)
-----> Installing Setuptools (2.1)
-----> Installing Pip (1.5.4)
-----> Installing dependencies using Pip (1.5.4)
       Downloading/unpacking Flask==0.10.1 (from -r requirements.txt (line 1))
         Running setup.py (path:/tmp/pip_build_u32684/Flask/setup.py) egg_info for package Flask

           warning: no files found matching '*' under directory 'tests'
           no previously-included directories found matching 'docs/_build'
           no previously-included directories found matching 'docs/_themes/.git'
       Downloading/unpacking Jinja2==2.7.2 (from -r requirements.txt (line 2))
         Running setup.py (path:/tmp/pip_build_u32684/Jinja2/setup.py) egg_info for package Jinja2

           warning: no files found matching '*' under directory 'custom_fixers'
       Downloading/unpacking MarkupSafe==0.18 (from -r requirements.txt (line 3))
         Downloading MarkupSafe-0.18.tar.gz
         Running setup.py (path:/tmp/pip_build_u32684/MarkupSafe/setup.py) egg_info for package MarkupSafe

       Downloading/unpacking Werkzeug==0.9.4 (from -r requirements.txt (line 4))
         Running setup.py (path:/tmp/pip_build_u32684/Werkzeug/setup.py) egg_info for package Werkzeug

           warning: no files found matching '*' under directory 'werkzeug/debug/templates'
           warning: no files found matching '*' under directory 'tests'
           no previously-included directories found matching 'docs/_build'
       Downloading/unpacking distribute==0.6.27 (from -r requirements.txt (line 5))
         Running setup.py (path:/tmp/pip_build_u32684/distribute/setup.py) egg_info for package distribute

       Downloading/unpacking gunicorn==18.0 (from -r requirements.txt (line 6))
         Running setup.py (path:/tmp/pip_build_u32684/gunicorn/setup.py) egg_info for package gunicorn

       Downloading/unpacking itsdangerous==0.23 (from -r requirements.txt (line 7))
         Running setup.py (path:/tmp/pip_build_u32684/itsdangerous/setup.py) egg_info for package itsdangerous

       Downloading/unpacking plivo==0.9.4 (from -r requirements.txt (line 8))
         Downloading plivo-0.9.4.tar.gz
         Running setup.py (path:/tmp/pip_build_u32684/plivo/setup.py) egg_info for package plivo

       Downloading/unpacking redis==2.9.0 (from -r requirements.txt (line 9))
         Running setup.py (path:/tmp/pip_build_u32684/redis/setup.py) egg_info for package redis

       Downloading/unpacking requests==2.2.0 (from -r requirements.txt (line 10))
       Downloading/unpacking yolk==0.4.3 (from -r requirements.txt (line 12))
         Running setup.py (path:/tmp/pip_build_u32684/yolk/setup.py) egg_info for package yolk

           warning: no files found matching '*.txt' under directory 'tests'
           warning: no files found matching '*.conf' under directory 'docs'
           warning: no files found matching '*.css_t' under directory 'docs'
           warning: no files found matching 'indexsidebar.html' under directory 'docs'
           warning: no files found matching 'tests/test_cli.py'
       Installing collected packages: Flask, Jinja2, MarkupSafe, Werkzeug, distribute, gunicorn, itsdangerous, plivo, redis, requests, yolk
         Running setup.py install for Flask

           warning: no files found matching '*' under directory 'tests'
           no previously-included directories found matching 'docs/_build'
           no previously-included directories found matching 'docs/_themes/.git'
         Running setup.py install for Jinja2

           warning: no files found matching '*' under directory 'custom_fixers'
         Running setup.py install for MarkupSafe

           building 'markupsafe._speedups' extension
           gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/include/python2.7 -c markupsafe/_speedups.c -o build/temp.linux-x86_64-2.7/markupsafe/_speedups.o
           gcc -pthread -shared build/temp.linux-x86_64-2.7/markupsafe/_speedups.o -o build/lib.linux-x86_64-2.7/markupsafe/_speedups.so
         Running setup.py install for Werkzeug

           warning: no files found matching '*' under directory 'werkzeug/debug/templates'
           warning: no files found matching '*' under directory 'tests'
           no previously-included directories found matching 'docs/_build'
         Running setup.py install for distribute
           Before install bootstrap.
           Scanning installed packages
           Setuptools installation detected at /app/.heroku/python/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg
           Egg installation
           Patching...
           Renaming /app/.heroku/python/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg into /app/.heroku/python/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg.OLD.1394818676.89
           Patched done.
           Relaunching...
           Traceback (most recent call last):
             File "<string>", line 1, in <module>
           NameError: name 'install' is not defined
           Complete output from command /app/.heroku/python/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_u32684/distribute/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-lBayXq-record/install-record.txt --single-version-externally-managed --compile:
           Before install bootstrap.

       Scanning installed packages

       Setuptools installation detected at /app/.heroku/python/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg

       Egg installation

       Patching...

       Renaming /app/.heroku/python/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg into /app/.heroku/python/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg.OLD.1394818676.89

       Patched done.

       Relaunching...

       Traceback (most recent call last):

         File "<string>", line 1, in <module>

       NameError: name 'install' is not defined

       ----------------------------------------
       Cleaning up...
       Command /app/.heroku/python/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_u32684/distribute/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-lBayXq-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_u32684/distribute
       Storing debug log for failure in /app/.pip/pip.log

 !     Push rejected, failed to compile Python app

To [email protected]:voicechatpd.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:voicechatpd.git'

Demo broken

Going to https://www.voicechatapi.com and clicking "Create your voice chat room now" nothing happens.

trying with Curl causes:

$ curl -XPOST https://www.voicechatapi.com/api/v1/conference
<html>
  <head>
    <title>Internal Server Error</title>
  </head>
  <body>
    <h1>Internal Server Error</h1>

  </body>
</html>

Huge problem

I've got a huge problem - I can't deal with how awesome you are for releasing this open source and helping to spread the word of webrtc. Hopefully this will help bring a whole new wave of awesome open source conferencing systems, instead of these horrible java based propriety systems which everyone seems to be using.

Thank you dude, and keep up the good work!

Demo is broken

The demo at http://voicechatapi.com/ dosen't work.

When you go to the site and click "create your private conference room" it sends you to a page with a link and a button to "join your conference".

Neither does using the link nor the the button work. It simply displays a panel mentioning to click arrow when you see the permission on the browser, but the permission doesn't actually show up.

When looking at the console the following errors are shown:

error

Typo

image

For some reason I see "Creat a new conference room" instead of create, but I can't find the controlling code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.