Difference between revisions of "PBX"

From Sky Networks Wiki
Jump to navigation Jump to search
 
(56 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
Click Here to return to the main Screen: '''[[Main Page |Back]]'''
 +
 +
Sky PBX is a Sky DANCE application which is designed to allow you to setup residential VOIP and multi-tenant PBX services, IVRs and Call centers for use within Sky DANCE.  The following documentation will provide you with information on how to set this up.  If you have questions, feel free to call Sky Dance technical support. Here is a link to the current feature set [[Sky PBX Features]]
 +
 
==Quick Overview of the Setup==
 
==Quick Overview of the Setup==
  
 +
* Create a domain to match the domain used for registering phones
 
* Create an extension under Accounts -> Extensions
 
* Create an extension under Accounts -> Extensions
* Apply Settings
 
 
* Register the phone to the extension. The extension number is the username for the end point.
 
* Register the phone to the extension. The extension number is the username for the end point.
 
* Test the phone by dialing the music on hold number *9664
 
* Test the phone by dialing the music on hold number *9664
* Setup a gateway
+
* Setup an inbound route from Sky DANCE to the PBX.
* Apply Settings
+
* Validate the settings on the outbound route from Sky DANCE.
* Rescan the external profile from the Status -> SIP Status page.
+
* Test
* View the status of the Gateway at the top of the Status -> SIP Status page.
+
 
* Setup an outbound route
+
==Menu: Advanced->[[Domains]] (for Multi Tenant setup)==
* Setup an inbound route.
+
Every Sky PBX instance will have its own domain.  This will be the IP address or the name which is used when an extension will register to the PBX. [[Multi-Tenant]]
* Apply Settings and test.
+
Note: The first PBX should already be mostly configured after installation by Sky Networks technicians.  This can be used as an example when setting up new ones.
  
 
==Menu: Accounts->[[Extensions]]==
 
==Menu: Accounts->[[Extensions]]==
For a phone system to be useful, local extensions need to be configured.  The first time the Extensions page is viewed, there will be no extensions listed.  Click on the + next to the list in order to add an extension.
+
The first time the Extensions page is viewed, there will be no extensions listed.  Click on the + next to the list in order to add an extension.
  
 
"Effective Caller ID" information is shown within your organization, "Outbound Caller ID" information will be seen by those receiving outside calls.
 
"Effective Caller ID" information is shown within your organization, "Outbound Caller ID" information will be seen by those receiving outside calls.
Line 20: Line 24:
 
Fill in Extension in order to get a basic phone up and running.  It is suggested that a system administrator complete the following:
 
Fill in Extension in order to get a basic phone up and running.  It is suggested that a system administrator complete the following:
 
Extension (according to the numbering scheme used in the implementation)
 
Extension (according to the numbering scheme used in the implementation)
User list (assign a user to each extension – this allows the end-user to log into the FusionPBX web GUI and check voicemails, faxes and so on via the web. This does not have to be done immediately.)
+
User list (assign a user to each extension – this allows the end-user to log into the SkyPBX web GUI and check voicemails, faxes and so on via the web. This does not have to be done immediately.)
 
Voicemail options (e.g. have voicemail sent to a designated email address.)
 
Voicemail options (e.g. have voicemail sent to a designated email address.)
 
(editors: Toll allow is a new option – where is this used?  I don’t have this set on my system yet my calls all still work)
 
(editors: Toll allow is a new option – where is this used?  I don’t have this set on my system yet my calls all still work)
Line 28: Line 32:
 
Save each configured extension (the save button is at the bottom of the GUI). When the save is complete, the screen is returned to the list of extensions.
 
Save each configured extension (the save button is at the bottom of the GUI). When the save is complete, the screen is returned to the list of extensions.
 
Click on the extension just created.
 
Click on the extension just created.
Click on the password field to reveal the current password directly below the field.  Note the password is displayed because it will be needed to configure a telephone to negotiate with FusionPBX.  At this point, it might be prudent to test a telephone negotiating with successfully FusionPBX so that further testing can be performed, ensuring that the following are also properly configured:
+
Click on the password field to reveal the current password directly below the field.  Note the password is displayed because it will be needed to configure a telephone to negotiate with SkyPBX.  At this point, it might be prudent to test a telephone negotiating with successfully SkyPBX so that further testing can be performed, ensuring that the following are also properly configured:
IP address of FusionPBX (the phone might know this as the SIP server)
+
IP address of SkyPBX (the phone might know this as the SIP server)
 
Extension (the extension number is the username for the phone)
 
Extension (the extension number is the username for the phone)
 
Password for the extension
 
Password for the extension
  
Go to System->[[Apply Settings]] and then Freeswitch is ready for the phone to be setup. Read the manual for your IP phone or soft phone for more information.  
+
  Read the manual for your IP phone or soft phone for more information.  
 
Once the phone is connected you can test it by dialing *9664 which is a code for music on hold.
 
Once the phone is connected you can test it by dialing *9664 which is a code for music on hold.
 +
To use a phone to call somewhere other than music on hold or another extension, configuration of the Sky_Dance entry in the Dialplan Manager  is required.  (See more information about call provisioning and routing under DialPlan)
  
==Menu: Accounts->[[Gateways]]==
+
==Setup an Inbound Route from Sky DANCE==
To use a phone to call somewhere other than music on hold or another extension, configuration of a gateway is required.  A gateway is a SIP provider that sells telecommunication services.  A SIP provider performs two major functions which are:
+
There are 2 steps to create an inbound route from Sky DANCE for Sky PBX. (This assumes you already have an inbound route setup in Sky DANCE that can accept traffic)
* completing outbound calling to telephones outside of an end-user’s internal network (e.g. calling other offices, mobile phones, etc.)
+
   
* providing end-users with inbound services associated to a phone number, also known as Direct inward dialing (DID) or Direct Dial-In (DDI). (See more information about call provisioning and routing under DialPlan, Inbound Routes and Outbound Routes)
 
  
When a Gateway has been created, apply the settings (System->Apply settings). 
+
1.  Add a DID entry to route a call to Sky PBX from the Sky DANCE Called Pretranslation table like this:
  
Go to the Status->[[SIP Status]] page and in the Sofia status profile external section click on the rescan button so that Freeswitch rescans the external profileOnce this is done the status of the new gateway should appear at the top of the Status->[[SIP Status]] page. If everything is successful the status should say “REGED” which means that it has been registered. This signifies that the account and password details were correct and that the associated Freeswitch server has logged onto the SIP provider’s network successfully using the designated account profile. The next step is to setup an outbound route.
+
Example: Route a all DIDs beginning with 30550022 to extension 1000 in for company domain sky-networks.com
 +
  Pretranslation entry
 +
CLD              TRANSLATION
 +
  30550022* 1000@sky-networks.com
  
==Menu: Dialplan->[[Outbound Routes]]==
+
<Legacy Instructions>
When setting up a Gateway, Outbound Dialplan routes are added thereIf Outbound routes are to be administered later in the process then this is still where those modifications are made.
+
1For inbound DIDs, create a "Called Pre Translation" entry in Sky DANCE which routes a call to the PBX using a <9999> prefix
  
Once outbound routes have been defined and settings applied appropriately, outbound calls can be attempted. Testing the function can be done at this time. If it doesn’t work, refer to [[CLI DialPlan Management]] to diagnose what is failing and to fix the problem.
+
Example: 30550022*  9999665001 - would route to PBX1 with the default setup.  
  
==Menu: Dialplan->[[Inbound Routes]]==
+
If you have more than 1 PBX planned, you will need to plan on adding 2 prefixes in the Called Pre Translation table with the following format:   <Sky PBX application prefix - 9999><4 digit PBX ID><Number within the Dialplan Manager for that PBX>
Before receiving calls from an external source, an Inbound route must be configured.  Click on the + next to the empty list of inbound routes.
 
  
Assign the Inbound route a name. (For example, the full international phone number people would dial from a standard phone to reach this route could be used as the name of the route. The chosen SIP provider will have given the telephone number designated to the system if the SIP service is supporting inbound calls).
+
2.  Edit the Send_to_SkyPBX entry in the Dialplan Manager to change the condition to be more specific - ie.  
 +
  if the prefix from Sky DANCE was 99990001 - you could just match on the 0001. 
 +
To add other PBX entries you can just duplicate the
 +
  Send_toSkyPBX entry to make a Send_toSkyPBX2,3 4 etc.
 +
  and edit the domain name to match the new domain for the new PBX and also to
 +
  change the transfer action to route to the new context.
  
In Condition 1 choose destination_number in the field and in the expression put:
 
^(full international number)$  replacing the full international number by the full international form of your inbound number.  For instance, in Sydney, Australia the local number of 9999 9999 would have a prefix of 02, being the area code for Sydney, as well 61 as a country code for Australia.  Therefore the full international number is 61299999999.  Note that an entry starting with ^ and ending with $ is called a regular expression.  For more information on this look at section Advanced DialPlan (editors – need to add a hyperlink here to that section of the document)
 
  
In the Action 1 field choose the extension previously defined.
+
==Setup an Outbound Route to Sky DANCE==
Leave the order as 0 and Enabled as true. 
 
Provide a description which could include the name of the SIP provider so that it is not forgotten who provides which service; especially if you have multiple providers for least-cost routing or redundancy purposes.
 
  
Press Save when completed.  A Dialplan has now been defined that will take all calls from the trunk defined and deliver those calls to the extension(s) assigned.
 
  
With Inbound routes defined and settings applied, attempt some test calls to the phone system from another phone (for example, a mobile phone or a traditional fixed line phone)Try it nowIf the Inbound route does not work properly, refer to [[CLI DialPlan Management]] to diagnose what is failing and to fix the problem.
+
1. Most times you will want to setup one domain for outbound dialing and all the special features common to your customer baseIn this shared domain, you will setup an outbound dialplan like thisFrom your company or residential domain you can just setup a transfer to this shared domain for anything that is not an extension or a domain specific feature.
  
==Menu: System->[[Settings]]==
+
 
Find and configure system settings at System->Settings. 
+
[[File:  Outbound_Dialplan.png|1000px ]]
Area Code is important
 
Default Gateway is referring to the SIP Gateway.
 
  
 
==Voicemail to email==
 
==Voicemail to email==
For voicemail to email configure SMTP server settings in Advanced ->Default Settings.  Configure the destination email account in the settings for each extension.  FusionPBX does not use an MTA (Message Transfer Agent eg. sendmail or postfix).  Instead FusionPBX uses a PHP script that acts as an SMTP client and connects to the SMTP server using the account and password specified by the system and/or extension administrator.  As a result, there are no queues or logs where message sent or failed can be viewed.  However, if the php script was executed (whether the voicemail was successfully sent or not) there will be a file in /tmp called voicemailtoemail.txt.  If voicemailtoemail.txt was created and the voicemail was not received as an email, there could have been two possible results from the action. One possible result was that the script may have executed but it did not successfully negotiate with the SMTP server. Alternately, the script successfully sent the voicemail; however, the destination email account was incorrectly assigned in the settings.  If the file is not present in /tmp then it is likely that the voicemail file and directory permissions to /var/www/fusionpbx/secure are incorrect.  The voicemail script is v_mailto.php.  If it is inaccessible to Freeswitch then the function will not run and the file in /tmp will not be created.
+
For voicemail to email configure SMTP server settings in Advanced ->Default Settings. Configure the destination email account in the settings for each extension. SkyPBX does not use an MTA (Message Transfer Agent eg. sendmail or postfix).  Instead SkyPBX uses a PHP script that acts as an SMTP client and connects to the SMTP server using the account and password specified by the system and/or extension administrator. As a result, there are no queues or logs where message sent or failed can be viewed. However, if the php script was executed (whether the voicemail was successfully sent or not) there will be a file in /tmp called voicemailtoemail.txt.  If voicemailtoemail.txt was created and the voicemail was not received as an email, there could have been two possible results from the action. One possible result was that the script may have executed but it did not successfully negotiate with the SMTP server. Alternately, the script successfully sent the voicemail; however, the destination email account was incorrectly assigned in the settings. If the file is not present in /tmp then it is likely that the voicemail file and directory permissions to /var/www/Skypbx/secure are incorrect. The voicemail script is v_mailto.php. If it is inaccessible to Sky DANCE then the function will not run and the file in /tmp will not be created.
 +
 
 +
==Getting started (a topical approach to the wiki)==
 +
This wiki is ordered around topics & menu screens.  If you are here for the first time the best place to start is the topical section below.  If you already have sky pbx and want to know more about a particular function you can look up the menu screen section for more information.
 +
 
 +
 
 +
* [[Multi-Tenant]] - Domain based multi-tenant.<br>
 +
* [[Extensions]] - ie. your phones<br>
 +
* [[IVR Menu]] - ie. if you want to setup an auto attendant or have automated prompts for a caller this is where you set this up<br>
 +
* [[Conferences]] - allows you to define reservationless conference rooms<br>
 +
* [[Call Groups]] - settings that allow you to group phones together<br>
 +
* [[Music On Hold]] - ie. if you place someone on hold what will they hear?<br>
 +
* [[Ring Groups]] - call one or more extensions
 +
 
 +
==Documentation for SkyPBX GUI screens==
 +
Please note that the documentation in this section is in progress. Many of the menu items shown here are available only to the "super admin" or are reserved for advanced use.  Further information can be found by clicking on the associated menu item.
 +
 
 +
The GUI is accessible using a web browser by going to the PBX entry in the Sky DANCE GUI.
 +
 
 +
'''[[System]]''' - the default page that is displayed when you log in to SkyPBX is the System page.  You can access it later by clicking on System directly without selecting a sub-menu
 +
* [[Account Settings]] - the account settings for the currently logged on user
 +
* [[SkyPBX Logout |Logout]] - use this to log out of the SkyPBX administration web site
 +
* [[Menu Manager]] - This is used to control which menu items are available to the various user levels.
 +
* [[Modules]] - for enabling and disabling Sky DANCE modules
 +
* [[SkyPBX Settings|Settings]] - (advanced)  SkyPBX settings
 +
* [[Variables]] - (advanced) Manage Sky DANCE internal variables
 +
'''Accounts''' - clicking directly on Accounts without selecting a sub-menu will take you to the [[Extensions]] page
 +
* [[Devices]] - for seeing and modifying all provisioned phones.  See [[Extensions]] for more information
 +
* [[Extensions]] - where you configure the extensions for the phones attached to your system
 +
* [[Gateways]] - (advanced - should only be used by super admin) These are the gateways that can be used to terminate traffic.
 +
* [[User Manager]] - Allows a superadmin/admin to manage USERs and GROUPs. Can create/delete users, edit their [[Account Settings]].
 +
* [[XMPP Manager]] - Configure XMPP to work with Google talk or other jabber servers. (Advanced)
 +
 
 +
'''Dialplan''' - clicking directly on dialplan without selecting a sub-menu will take you to the [[Dialplan Manager]] page
 +
* [[Dialplan Manager]] - used to update the dialplan controlling what happens when a number is dialed (note that this also includes the dialplan entries used for [[Outbound Routes]]). [[Feature Codes]] are used to implement special functions not available on the phones keypad directly through a button push.
 +
 
 +
* [[Inbound Routes]] -  (advanced) used to define what to do with calls coming from outside of your SkyPBX/Sky DANCE server
 +
* [[Outbound Routes]] - (advanced) used to define dialplan entries that affect calls that leave your SkyPBX/Sky DANCE server to go to the outside world
 +
 
 +
'''Apps''' - clicking directly on apps without selecting a sub-menu will take you to the [[Call Detail Records]] page
 +
 
 +
* [[Call block]] - Block inbound callers, optional module must be installed from Dev/Apps
 +
* [[Call Broadcast]] - (option)
 +
* [[Call Center]] –  Setup a SkyPBX call center
 +
* [[Call Detail Records]] - Call history reports and detailed information on the calls.
 +
* [[Conferences]] - to define permanently reserved conference numbers for individuals/groups to use
 +
* [[Contact Manager]] - Manage your contact list and create [http://en.wikipedia.org/wiki/VCard vcards] if needed
 +
* [[Fax Server]] - (option) to setup inbound and outbound faxing from SkyPBX (without needing a physical fax machine)
 +
* [[Follow Me]] - Configure call forwarding, follow me, or do not disturb.
 +
* [[Hot Desking]] (option)
 +
* [[IVR Menu]] - To define Auto attendants, Interactive Voice Response menus (ie. press 1 for billing, press 2 for technical support, etc.)
 +
* [[Music On Hold]] - to set up music for callers who are placed on hold or who are in a queue.
 +
* [[Recordings]] - for making, modifying and reviewing recorded messages used within your phone system
 +
* [[Ring Groups]] - allow you to ring one or more registered endpoints.
 +
* [[Time Conditions]] - to define time conditions to affect how calls are handled at different times and on different days
 +
* [[Queues]] - to define call queues to enable people to wait on hold until it is their turn to be answered
 +
* [[PBX Voicemail|Voicemail]] - shows all voicemails that belongs to the current logged in user
 +
 
 +
'''Status''' - clicking directly on status without selecting a sub-menu will take you to the [[Active Extensions]] page
 +
* [[Active Call Center]] - display queue status, agent status, tier status for call centers
 +
* [[Active Calls]] - lists and allows you to interact with '''active calls''' being handled by your server
 +
* [[Active Conferences]] - lists conferences that are active on your server (showing the number of participants)
 +
* [[Active Extensions]] - lists and allows you to interact with calls being handled by phone extensions on your server
 +
* [[Active Queues]] - displays queues that have one or more callers waiting
 +
* [[Registrations]] - By default in this page you can see all the registered endpoints in profile '''internal'''.
 +
* [[Agent Status]] - Show/Edit the status of the agents at a call center.
 +
* [[Services]] - allows interaction with the processes running on your server
 +
* [[SIP Status]] - shows the status of your internal and external sip connections, various server statistics and a static view of the Sky DANCE log file
 +
* [[System Status]] - shows the status of the physical server you are running SkyPBX on
 +
* [[Log Viewer]] - displays Sky DANCE log file.
 +
* [[Traffic Graph]] - Shows the live traffic on the network interface
 +
 
 +
'''Advanced''' - clicking directly on Advanced without selecting a sub-menu will take you to the [[Command]] page
 +
 
 +
* NOTE: This menu should only be available to the super administrator
 +
 
 +
* [[Adminer]] - A database manager utility
 +
* [[App Manager]] - advanced
 +
* [[Command]] - allows you to interactively submit shell, PHP and Sky DANCE commands to your server
 +
* [[Domains]] - used to setup new domains or edit existing ones.
 +
* [[Group Manager]] - Used to manage SkyPBX groups
 +
* [[PHP Editor]] - allows you to edit php files used in SkyPBX
 +
* [[Provision Editor]] - allows you to edit phone/device provisioning files used in SkyPBX
 +
* [[PHP Service]] - Manages multiple dynamic and customizable PHP services.
 +
* [[Script Editor]] - allows you to edit javascript, lua and perl script used on your server
 +
* [[SIP Profiles]] - allows you to customize the SIP profiles
 +
* [[XML Editor]] - allows you to edit Sky DANCE XML files in the '''conf'''/ directory
  
==Menu: System->[[System Settings]]==
 
Go to System-System Settings and configure the settings there.
 
  
==Menu: System->[[Modules]]==
+
Note: SkyPBX is loosely based on the FusionPBX project.
When in System->Modules do not make the mistake of assuming that what is seen in the Modules configuration page represents settings configured in Freeswitch.  By default, this is not the case.  If there is a preference to work directly with Freeswitch rather than use a module GUI in FusionPBX, to protect any customizations made directly in Freeswitch those settings have to be applied to FusionPBX.  With a fresh FusionPBX installation on the designated server there are no configurations to lose, so applying the Freeswitch settings is simple.  To apply those settings edit ANY module setting in FusionPBX, an actual change does not need to be made but the settings need to be saved as they are.  Then apply those settings.  By doing this action settings are committed into freeswitch/conf/autoload_configs/modules.conf.xml.  You can actually see the settings in the FusionPBX XML editor under autoload_configs/modules.conf.xml.
 

Latest revision as of 10:07, 10 January 2023

Click Here to return to the main Screen: Back

Sky PBX is a Sky DANCE application which is designed to allow you to setup residential VOIP and multi-tenant PBX services, IVRs and Call centers for use within Sky DANCE. The following documentation will provide you with information on how to set this up. If you have questions, feel free to call Sky Dance technical support. Here is a link to the current feature set Sky PBX Features

Quick Overview of the Setup

  • Create a domain to match the domain used for registering phones
  • Create an extension under Accounts -> Extensions
  • Register the phone to the extension. The extension number is the username for the end point.
  • Test the phone by dialing the music on hold number *9664
  • Setup an inbound route from Sky DANCE to the PBX.
  • Validate the settings on the outbound route from Sky DANCE.
  • Test

Menu: Advanced->Domains (for Multi Tenant setup)

Every Sky PBX instance will have its own domain. This will be the IP address or the name which is used when an extension will register to the PBX. Multi-Tenant Note: The first PBX should already be mostly configured after installation by Sky Networks technicians. This can be used as an example when setting up new ones.

Menu: Accounts->Extensions

The first time the Extensions page is viewed, there will be no extensions listed. Click on the + next to the list in order to add an extension.

"Effective Caller ID" information is shown within your organization, "Outbound Caller ID" information will be seen by those receiving outside calls.

Fill in Extension in order to get a basic phone up and running. It is suggested that a system administrator complete the following: Extension (according to the numbering scheme used in the implementation) User list (assign a user to each extension – this allows the end-user to log into the SkyPBX web GUI and check voicemails, faxes and so on via the web. This does not have to be done immediately.) Voicemail options (e.g. have voicemail sent to a designated email address.) (editors: Toll allow is a new option – where is this used? I don’t have this set on my system yet my calls all still work)

  • The range entry allows more than one extension to be created at a time. This would probably be most useful when doing automated telephone provisioning (note to editors – you’ll need to flesh this out as we now have a provisioning section on this page and I have no idea how to use it).

Save each configured extension (the save button is at the bottom of the GUI). When the save is complete, the screen is returned to the list of extensions. Click on the extension just created. Click on the password field to reveal the current password directly below the field. Note the password is displayed because it will be needed to configure a telephone to negotiate with SkyPBX. At this point, it might be prudent to test a telephone negotiating with successfully SkyPBX so that further testing can be performed, ensuring that the following are also properly configured: IP address of SkyPBX (the phone might know this as the SIP server) Extension (the extension number is the username for the phone) Password for the extension

Read the manual for your IP phone or soft phone for more information. 

Once the phone is connected you can test it by dialing *9664 which is a code for music on hold. To use a phone to call somewhere other than music on hold or another extension, configuration of the Sky_Dance entry in the Dialplan Manager is required. (See more information about call provisioning and routing under DialPlan)

Setup an Inbound Route from Sky DANCE

There are 2 steps to create an inbound route from Sky DANCE for Sky PBX. (This assumes you already have an inbound route setup in Sky DANCE that can accept traffic)


1. Add a DID entry to route a call to Sky PBX from the Sky DANCE Called Pretranslation table like this:

Example: Route a all DIDs beginning with 30550022 to extension 1000 in for company domain sky-networks.com

Pretranslation entry
CLD              TRANSLATION
30550022*  1000@sky-networks.com

<Legacy Instructions> 1. For inbound DIDs, create a "Called Pre Translation" entry in Sky DANCE which routes a call to the PBX using a <9999> prefix

Example: 30550022* 9999665001 - would route to PBX1 with the default setup.

If you have more than 1 PBX planned, you will need to plan on adding 2 prefixes in the Called Pre Translation table with the following format: <Sky PBX application prefix - 9999><4 digit PBX ID><Number within the Dialplan Manager for that PBX>

2.  Edit the Send_to_SkyPBX entry in the Dialplan Manager to change the condition to be more specific - ie. 
 if the prefix from Sky DANCE was 99990001 - you could just match on the 0001.  
To add other PBX entries you can just duplicate the
 Send_toSkyPBX entry to make a Send_toSkyPBX2,3 4 etc.
 and edit the domain name to match the new domain for the new PBX and also to  
 change the transfer action to route to the new context.


Setup an Outbound Route to Sky DANCE

1. Most times you will want to setup one domain for outbound dialing and all the special features common to your customer base. In this shared domain, you will setup an outbound dialplan like this. From your company or residential domain you can just setup a transfer to this shared domain for anything that is not an extension or a domain specific feature.


Outbound Dialplan.png

Voicemail to email

For voicemail to email configure SMTP server settings in Advanced ->Default Settings. Configure the destination email account in the settings for each extension. SkyPBX does not use an MTA (Message Transfer Agent eg. sendmail or postfix). Instead SkyPBX uses a PHP script that acts as an SMTP client and connects to the SMTP server using the account and password specified by the system and/or extension administrator. As a result, there are no queues or logs where message sent or failed can be viewed. However, if the php script was executed (whether the voicemail was successfully sent or not) there will be a file in /tmp called voicemailtoemail.txt. If voicemailtoemail.txt was created and the voicemail was not received as an email, there could have been two possible results from the action. One possible result was that the script may have executed but it did not successfully negotiate with the SMTP server. Alternately, the script successfully sent the voicemail; however, the destination email account was incorrectly assigned in the settings. If the file is not present in /tmp then it is likely that the voicemail file and directory permissions to /var/www/Skypbx/secure are incorrect. The voicemail script is v_mailto.php. If it is inaccessible to Sky DANCE then the function will not run and the file in /tmp will not be created.

Getting started (a topical approach to the wiki)

This wiki is ordered around topics & menu screens. If you are here for the first time the best place to start is the topical section below. If you already have sky pbx and want to know more about a particular function you can look up the menu screen section for more information.


  • Multi-Tenant - Domain based multi-tenant.
  • Extensions - ie. your phones
  • IVR Menu - ie. if you want to setup an auto attendant or have automated prompts for a caller this is where you set this up
  • Conferences - allows you to define reservationless conference rooms
  • Call Groups - settings that allow you to group phones together
  • Music On Hold - ie. if you place someone on hold what will they hear?
  • Ring Groups - call one or more extensions

Documentation for SkyPBX GUI screens

Please note that the documentation in this section is in progress. Many of the menu items shown here are available only to the "super admin" or are reserved for advanced use. Further information can be found by clicking on the associated menu item.

The GUI is accessible using a web browser by going to the PBX entry in the Sky DANCE GUI.

System - the default page that is displayed when you log in to SkyPBX is the System page. You can access it later by clicking on System directly without selecting a sub-menu

  • Account Settings - the account settings for the currently logged on user
  • Logout - use this to log out of the SkyPBX administration web site
  • Menu Manager - This is used to control which menu items are available to the various user levels.
  • Modules - for enabling and disabling Sky DANCE modules
  • Settings - (advanced) SkyPBX settings
  • Variables - (advanced) Manage Sky DANCE internal variables

Accounts - clicking directly on Accounts without selecting a sub-menu will take you to the Extensions page

  • Devices - for seeing and modifying all provisioned phones. See Extensions for more information
  • Extensions - where you configure the extensions for the phones attached to your system
  • Gateways - (advanced - should only be used by super admin) These are the gateways that can be used to terminate traffic.
  • User Manager - Allows a superadmin/admin to manage USERs and GROUPs. Can create/delete users, edit their Account Settings.
  • XMPP Manager - Configure XMPP to work with Google talk or other jabber servers. (Advanced)

Dialplan - clicking directly on dialplan without selecting a sub-menu will take you to the Dialplan Manager page

  • Dialplan Manager - used to update the dialplan controlling what happens when a number is dialed (note that this also includes the dialplan entries used for Outbound Routes). Feature Codes are used to implement special functions not available on the phones keypad directly through a button push.
  • Inbound Routes - (advanced) used to define what to do with calls coming from outside of your SkyPBX/Sky DANCE server
  • Outbound Routes - (advanced) used to define dialplan entries that affect calls that leave your SkyPBX/Sky DANCE server to go to the outside world

Apps - clicking directly on apps without selecting a sub-menu will take you to the Call Detail Records page

  • Call block - Block inbound callers, optional module must be installed from Dev/Apps
  • Call Broadcast - (option)
  • Call Center – Setup a SkyPBX call center
  • Call Detail Records - Call history reports and detailed information on the calls.
  • Conferences - to define permanently reserved conference numbers for individuals/groups to use
  • Contact Manager - Manage your contact list and create vcards if needed
  • Fax Server - (option) to setup inbound and outbound faxing from SkyPBX (without needing a physical fax machine)
  • Follow Me - Configure call forwarding, follow me, or do not disturb.
  • Hot Desking (option)
  • IVR Menu - To define Auto attendants, Interactive Voice Response menus (ie. press 1 for billing, press 2 for technical support, etc.)
  • Music On Hold - to set up music for callers who are placed on hold or who are in a queue.
  • Recordings - for making, modifying and reviewing recorded messages used within your phone system
  • Ring Groups - allow you to ring one or more registered endpoints.
  • Time Conditions - to define time conditions to affect how calls are handled at different times and on different days
  • Queues - to define call queues to enable people to wait on hold until it is their turn to be answered
  • Voicemail - shows all voicemails that belongs to the current logged in user

Status - clicking directly on status without selecting a sub-menu will take you to the Active Extensions page

  • Active Call Center - display queue status, agent status, tier status for call centers
  • Active Calls - lists and allows you to interact with active calls being handled by your server
  • Active Conferences - lists conferences that are active on your server (showing the number of participants)
  • Active Extensions - lists and allows you to interact with calls being handled by phone extensions on your server
  • Active Queues - displays queues that have one or more callers waiting
  • Registrations - By default in this page you can see all the registered endpoints in profile internal.
  • Agent Status - Show/Edit the status of the agents at a call center.
  • Services - allows interaction with the processes running on your server
  • SIP Status - shows the status of your internal and external sip connections, various server statistics and a static view of the Sky DANCE log file
  • System Status - shows the status of the physical server you are running SkyPBX on
  • Log Viewer - displays Sky DANCE log file.
  • Traffic Graph - Shows the live traffic on the network interface

Advanced - clicking directly on Advanced without selecting a sub-menu will take you to the Command page

  • NOTE: This menu should only be available to the super administrator
  • Adminer - A database manager utility
  • App Manager - advanced
  • Command - allows you to interactively submit shell, PHP and Sky DANCE commands to your server
  • Domains - used to setup new domains or edit existing ones.
  • Group Manager - Used to manage SkyPBX groups
  • PHP Editor - allows you to edit php files used in SkyPBX
  • Provision Editor - allows you to edit phone/device provisioning files used in SkyPBX
  • PHP Service - Manages multiple dynamic and customizable PHP services.
  • Script Editor - allows you to edit javascript, lua and perl script used on your server
  • SIP Profiles - allows you to customize the SIP profiles
  • XML Editor - allows you to edit Sky DANCE XML files in the conf/ directory


Note: SkyPBX is loosely based on the FusionPBX project.