Using Adhearsion with PRISM


After downloading the Rayo WAR file it will have the build number in the file name (eg. rayo.b189.war). Rename this file to simply "rayo.war".

While PRISM itself is a commercial product, a free license with 2-port concurrency is available to developers. Also, the "rayo-server" application is open source and can be found on its Github repository.

Rayo is officially supported on RedHat Enterprise Linux, CentOS and Mac OSX. Users have also reported getting it to work successfully on Debian and Ubuntu, though this may not be supported by Voxeo.

Getting PRISM

PRISM can be downloaded for free from the Voxeo Labs PRISM website. It is supported on Linux (RHEL/CentOS) and Mac OSX.

Configuring PRISM

  1. Set PRISMHOME to the base directory where you installed PRISM. This is optional, but recommended to make the following instructions copy/pasteable. For example `export PRISMHOME=/opt/voxeo/prism`.
  2. If PRISM is running, shut it down. This can be done by using the application launcher in OSX or by running /etc/init.d/voxeo-as stop on Linux.
  3. Rename your Rayo WAR file to simply "rayo.war" and copy it to the PRISM apps directory. By default this is $PRISM_HOME/apps
  4. Start PRISM (/etc/init.d/voxeo-as start) to allow it to unpack and launch the Rayo application. After starting PRISM wait around 2 minutes for the application to be detected and unpacked.
  5. Shut PRISM down again to begin configuration.
  6. Edit the file $PRISM_HOME/config/ to map port 5060 to Rayo:

    Important! Ensure that only one line in this file begins with "5060".

  7. Edit the file $PRISM_HOME/apps/rayo/WEB-INF/xmpp.xml Find the section for xmpp:serv-domainsand add the fully qualified hostname of your PRISM server to the file. If you only intend to use PRISM locally (connecting via localhost) then you may skip this step. In this example we have added "": xml <xmpp:serv-domains> <xmpp:servdomain></xmpp:servdomain> <xmpp:servdomain>localhost</xmpp:servdomain> <xmpp:servdomain></xmpp:servdomain> </xmpp:serv-domains>

  8. Edit the file $PRISM_HOME/apps/rayo/WEB-INF/classes/ In this file you will be mapping SIP addresses to XMPP JIDs. The match is made using a regular expression on the left side of the equals sign. To route all SIP calls to the JID "" you would use a line like this:


You may add as many mappings as you need to send calls to various different Adhearsion applications or other Rayo clients. Note that the first matching line in the file will take the call.

Licensing PRISM

During the PRISM installation process you will be prompted to set up a demo license. To see the license that is active in PRISM you can visit the administration console at Refer to the PRISM documentation or Voxeo technical support for more help licensing PRISM.

Configuring Adhearsion for PRISM

As always the full list of configuration options can be viewed, along with a description and their default values, by typing rake config:show in your application directory. There are a few configuration options that are particularly important:

  • config.punchblock.platform must be set to :xmpp
  • config.punchblock.username must be set to your XMPP JID (eg. "")
  • config.punchblock.password must be set to the password for your JID
  • config.punchblock.root_domain must be set to the fully qualified domain name of your PRISM server

Note that as described in our Deployment Best Practices, we recommend NOT storing the XMPP username and password in the config/adhearsion.rb file. Instead these should be stored in environment variables (notably: AHN_PUNCHBLOCK_USERNAME and AHN_PUNCHBLOCK_PASSWORD) that are loaded by the process prior to launching.

Getting Help

docs-nav-getting-started docs-nav-getting-started-installation

blog comments powered by Disqus