Difference between revisions of "Multi-Tenant"

From FusionPBX
Jump to: navigation, search
(Advanced -> System Settings)
Line 7: Line 7:
  
 
'''Extensions Directory:''':
 
'''Extensions Directory:''':
  /usr/local/freeswitch/conf/directory/example1.domain.com
+
  /usr/local/freeswitch/conf/directory/tenant1.example.com
 +
 
 +
'''Dialplan Default Directory:'''
 +
/usr/local/freeswitch/conf/dialplan/tenant1.example.com
  
 
'''Dialplan Public Directory:'''
 
'''Dialplan Public Directory:'''
  /usr/local/freeswitch/conf/dialplan/example1.domain.com
+
  /usr/local/freeswitch/conf/dialplan/public/tenant1.example.com
  
 
'''Recordings Directory:'''
 
'''Recordings Directory:'''
  /usr/local/freeswitch/recordings/example1.domain.com
+
  /usr/local/freeswitch/recordings/tenant1.example.com
  
 
==Advanced -> SIP Profiles -> Internal==
 
==Advanced -> SIP Profiles -> Internal==

Revision as of 23:27, 2 July 2011

Mutli-tenant is done using Fully Qualified domain names (FQDN). They can be full domains or sub-domains are used. The domains separate the information between tenants. The domains need to be pointed to the FusionPBX server.

Advanced -> System Settings

To setup multi-tenant all domains under advanced -> system settings need to add the domain to the following paths.

The paths below assumes that the FreeSWITCH conf directory is installed to /usr/local/freeswitch/conf/

Extensions Directory::

/usr/local/freeswitch/conf/directory/tenant1.example.com

Dialplan Default Directory:

/usr/local/freeswitch/conf/dialplan/tenant1.example.com

Dialplan Public Directory:

/usr/local/freeswitch/conf/dialplan/public/tenant1.example.com

Recordings Directory:

/usr/local/freeswitch/recordings/tenant1.example.com

Advanced -> SIP Profiles -> Internal

Edit the internal.xml file and comment out <!-- and --> for the following 3 entries.

Original looks like this.

<!--all inbound reg will look in this domain for the users -->
<param name="force-register-domain" value="$${domain}"/>
<!--force the domain in subscriptions to this value -->
<param name="force-subscription-domain" value="$${domain}"/>
<!--all inbound reg will stored in the db using this domain -->
<param name="force-register-db-domain" value="$${domain}"/>

Modified to look like this:

<!--all inbound reg will look in this domain for the users -->
<!--<param name="force-register-domain" value="$${domain}"/>-->
<!--force the domain in subscriptions to this value -->
<!--<param name="force-subscription-domain" value="$${domain}"/>-->
<!--all inbound reg will stored in the db using this domain -->
<!--<param name="force-register-db-domain" value="$${domain}"/>-->

System -> Variables

Disable the domain variable so that it is not applied system wide.

User Manager

Accounts -> User Manager when adding a user you have the domain select option that assigns the user to the domain. Tenant admin's highest level of access should not exceed the 'admin' group. Users in the 'superadmin' group are able to view and manage all tenants.

Convert Old Systems

The easiest way to get started with multi-tenant is to begin using it before configuring the system. However if you find that you need to switch an existing system to multi-tenant you will need to do the following.

  • The context for each extension needs to be changed to the domain name
  • On old system you have to either add some additional variables or recreate your inbound and outbound routes
  • Need to re-save gateways so that they use the new domain. You may need to manually remove the gateway xml files.