Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An example Adhearsion component performing a Click to Call via the Adhearsion RESTful API
JavaScript Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
web Specify minimum version for restful_adhearsion dependency
.gitignore Gitignore some stuff
LICENSE More installation instruction fixes
restful_clicktocall.rb Rename some RPC methods to restful

Click to Call


Example component for Adhearsion showing a click to call application. Also shows how to use the RESTful API of Adhearsion.


Place this in your dialplan.rb of your Adhearsion project:

  adhearsion {[:destination] = get_variable("destination")


  1. In your components directory of your Adhearsion project:

    git clone git://

  2. Add the example code from above to your adhearsion-project/dialplan.rb.

  3. Add the restful_rpc component to your Gemfile and startup.rb gem component configuration:

      group :components do
        gem 'ahn-restful-rpc'


    config.add_component 'ahn-restful-rpc'

  4. Copy the example component config from here to adhearsion-project/config/components/ahn-restful-rpc.yml

  5. From within the directory adhearsion-project/components/restful_clicktocall/web run:

    bundle install && bundle exec rackup

  6. Connect to the web form:


Then you are off and running!

  1. If you would like to run Sinatra as a daemon, I recommend you use Rack and Passenger

Simply do the following:

  • Install the Apache Webserver
  • gem install rack
  • gem install passenger (follow instructions here)

Copy the files and directories in ahn-project/components/restful_clicktocall/web to the appropriate location on your Apache web server. Add this virtual host settings to your Apache configuration:

  <VirtualHost *:80>
    DocumentRoot /var/www/restful_clicktocall_web/public

Restart your Apache web server and then connect to the site you configured. For more options I recommend referring to the Passenger documentation.

Something went wrong with that request. Please try again.