Skip to main content



About text.

Click here to expand Table of Contents

Pylons is a Python based webserver. Together with mod_xml_curl it makes setting up FS reasonably straight forward. The examples on this page are not for a producting server, but should serve as a starting point for "playing" with FS.

  • Installation of Pylons:
Debian: apt-get install pylons

Pylons comes with paster, it is a rather useful program that allows you to setup a pylons project and also acts as a small webserver --- which is ideal for testing.

  • Creation of pylons project:
paster create -t pylons freeswitch

That creates a new project in your current folder. The parts of pylons which will hold the code to interact with FS are called controllers and they are created as follows.

  • Controller creation:
paster controller freeswitchdialplan
paster controller freeswitchdirectory
paster controller freeswitchcdr

These three controllers can be found in:


Now get the FS code from svn for the controllers and add replace the ones we have just created:

svn checkout

Pylons is now ready and all you need to do is to start it, go to the main pylons directory that contains development.ini and test.ini, and do:

paster serve --reload development.ini

Now your pylons webserver should be running on port 5000. The --reload flag performs an auto reload anytime you update your controllers.

On to FS. In order to get FS to talk to pylons we need to set a couple of parameters.

When compiling FS make sure you have enabled the following two options in modules.conf:



<load module="mod_xml_curl"/>
<load module="mod_xml_cdr"/>


<configuration name="xml_curl.conf" description="cURL XML Gateway">
<binding name="dialplan fetcher">
<param name="gateway-url" value="" bindings="dialplan"/>
<binding name="directory">
<param name="gateway-url" value="" bindings="directory"/>


<param name="url" value=""/>

Now FS should get dialplan, directory and cdr info from pylons. If you got any further questions please find me on irc: phm_it