FusionPBX and Freeswitch

2k Views Asked by At

I have a question, which seems strange ! I know that Freeswitch is a SIP Server that acts as a SIP Registrar via Sofia module and XML base Dialplan. In Freeswitch we can create extensions via XML handly. In other side we have a good solution for managing and administrating Freeswitch called FusionPBX, It read and write data such as extensions and other configures and conference data in Postgres or Mysql database. And when you create an extension via FusionPBX and in GUI interface, it creates a field in database, and no XML is created,right? After creating extension in FusionPBX and then we go to the Freeswitch cli and enter user_exist command, it display the user does not exists. My question is that how FusionPBX contacts with Freeswitch? How it registers extensions in FS? How can it start, stop Freeswitch services? And how it access Freeswitch services and other functionality? Via WebService? Direct access? If direct access how can it be possible? which way?

2

There are 2 best solutions below

2
On

the issue is no XML created , /var/www/fusionpbx/app/ this directoy has many php files, they can create XML files

and you can enter cmd : service freeswitch stop/start

0
On

FreeSWITCH has an embedded language called Lua. Lua is configured to serve XML from information in the database and then cache it. This approach has many advantages over XML sitting inside FreeSWITCH's configuration directory. In order for Lua to build the XML it has to be able to connect to FusionPBX's database which is easy if FusionPBX data is in SQLite because its a native language for FreeSWITCH. If using PostgreSQL it requires a PostgreSQL driver which is installed by default with an official FusionPBX install script. If using MySQL you have to setup ODBC and tell FusionPBX's Lua scripts how to use that ODBC connection. For a scalable system the easiest approach is to use PostgreSQL and an official install script from https://github.com/fusionpbx/fusionpbx-install.sh.