Freepbx Operator Panel
AsterSwitchboard CTI Operator Panel for Asterisk. AsterSwitchboard is an operator panel for Asterisk PBX running on MS Windows clients. Call, answer, transfer, view the status of all connected extensions, intercept a call for another extension, display name and number of incoming calls, make a call directly from the integrated list of contacts or from the log and much more.
This article details the installation and configuration of Flash Operator Panel 2 for Elastix version 2.3.0 release 8 (running on CentOS5 v2.6.18 release 308.24.1.el5). Flash Operator Panel 2 is an add-on to the Elastix system that can be used to easily see a bird's eye view of all extensions configured within the phone system, see call activity, and transfer / manipulate calls coming to the user's extension who is logged into FOP2.
The installer for FOP2 v2.26 built for CentOS (64-bit version) was downloaded from www.fop2.com.
13 Steps total
- Asternic, the Asterisk Flash Operator Panel ( GUI ) Its a switchboard type application that monitors your Asterisk PBX y real time and let you perform different actions, like tran.
- Hi, Wondering what is the best Operator Panel to use with Asterisk 13. Also are there any free panels apart from FOP? I understand everyone's opinion will be different but its nice to see what everyone thinks.
Step 1: Transfer the Installer to the Elastix Server - Part 1
Open WinSCP (just an executable that can be downloaded for free).
Without changing any settings, enter the server ip and the username and password to connect to the server. I recommend using the user root and corresponding password to ensure you have the proper permissions to connect.
Once you click Login, you may get a message about a private key file, but click Ok to continue if this happens.
Step 2: Transfer the Installer to the Elastix Server - Part 2
In the left-hand window, you will see files on your computer. Navigate to the directory where the downloaded installer is stored.
In the right-hand window, navigate to the root directory of the Elastix server (/). Create a folder with the name of your choice. In this example, I created one called fop inside the root directory (full path to it is /fop).
Drag the installer from your computer to the target folder on the Elastix server. When the popup window opens, click Copy. That should move the installer to the target directory on the Elastix server.
You can now close WinSCP. It will no longer be needed.
Step 3: Connect to the Elastix Server Using SSH
Use a utility such as Putty to connect to the Elastix server via SSH. You just have to point Putty at the server's ip address and will be prompted to login once you click Open. When the terminal window opens, enter the proper credentials (user root is the only one that will have access), and that should get you in with no issues.
Step 4: Extract FOP2 Using Tarball and Install
After successfully logging into the SSH session, change to the directory where the installer was saved (cd /fop in this case).
Then run the extraction with the command tar zxvf fop2-2.26-centos5-x86_64.tgz (where the .tgz file is the installer downloaded previously).
After all files are extracted successfully, run cd /fop/fop2 to dive into the directory containing the extracted files. Then, run the command make install to install everything into the proper directories as are referenced below.
Step 5: Change the Manager Secret for FOP2 to Match the Asterisk Manager Secret
Run the command cat /etc/asterisk/manager.conf. This will show the contents of manager.conf on the screen. In the area under [admin], make note of the value of a field named secret. This is the Asterisk manager password (the one used to access the Elastix web interface with username admin).
Run vi /usr/local/fop2/fop2.cfg. This opens a Unix text editor. Press the i key on your keyboard to put the editor in insert mode. Find the area at the top of the file under [general]. Change the manager_secret to the same value as you found in the manager.conf file above. Once you have done this, press Esc on the keyboard to exit insert mode. Then type :wq! to exit the vi editor and save the changes.
For good measure, run the command amportal restart once you finish making the changes here.
Step 6: Change Asterisk SIP Settings for FOP
Log in to Elastix and go to PBX -> Unembedded FreePBX.
If you get a message about not having access to FreePBX, go to the Security menu in Elastix and allow access to the Unembedded FreePBX module. You will also have to set the password for user admin if it has not already been set.
Login to FreePBX with the appropriate credentials. From the Tools menu, select Asterisk SIP Settings. In the area labeled Advanced General Settings, find the field for Other SIP Settings. Add callevents = yes, and click submit changes. You will then see a red bar at the top of your browser window that will say Apply Changes. Click this option so the changes will apply to the system.
Step 7: Modify Call Queues
If any call queues have been setup within Elastix, they need to be modified so that FOP2 can detect call events sent to queues.
In the Elastix interface, go to the PBX tab and then click Queues. Any call queues you have setup will be listed on the right-hand side of the screen. For each queue, change the Event When Called field to Yes if it is set to No and save your changes. That is the only field which is important for FOP2.
Step 8: Test the Manager Connection to FOP2
From your SSH session, run /usr/local/fop2/fop2_server --test. You should get a message that says Connection to manager OK!
You may get a message about no license being detected. That can be ignored for the time being even though the screenshot here shows a license being installed already.
Step 9: Avoid Conflicts with FOP1
There is a Flash Operator Panel built into Elastix, and we have to change the port on which it listens (default is 4445) before FOP2 will work properly.
Within your SSH session, run vi /var/www/html/panel/op_server.cfg. Remember to press i to be able to edit the file. Find the line that says ;listen_port=4445 and change it to listen_port=4444. Make sure you uncomment this line by deleting the semicolon (as seen in the screenshot). Press Esc to exit insert mode, and then type :wq! to save changes and exit the file. You can also run /usr/sbin/amportal stop_fop to disable FOP1 completely at this point.
Step 10: Copy the Proper Files
Within the SSH session, navigate back to the FOP2 install directory (which is /fop/fop2 in this example) by running cd /fop/fop2.
Then run the following commands:
mv server /usr/local/fop2
mv html /var/www/html/fop2
This will move all of the proper files for FOP2 to the proper area to be accessed via a web browser.
Step 11: Start the Service
From your SSH session, run service fop2 start, and the service should start with no issues.
Step 12: Register the License
The steps we have completed thus far will only install the demo version of FOP2 (view limited to 15 extensions), so you can run /usr/local/fop2/fop2_server --register from a SSH session, enter the registration code sent when you purchased FOP2, and then enter the name you want to use for registration. If you then run the command service fop2 restart, that should restart FOP2 so that you are now using the registered version. You can also run /usr/local/fop2/fop2_server --test to see if FOP2 detects that you have registered a license.
Step 13: Verify that You Can Login to the Web Interface
Once everything has been installed, you can visit http://ipofyourelastixserver/fop2. In our example, it is http://192.168.0.30/fop2. Since we are using Elastix, any extension setup should be able to login using their extension number, and the password will be the same as the extension number's voicemail password.
Just for reference, once this is complete, the FOP2 server is installed in /usr/local/fop2, and the web application is installed in /var/www/html/fop2.
Also, the list of extensions and passwords to access FOP2 can be shown via a SSH session by running /usr/local/fop2/autoconfig-users-freepbx.sh.
References
- Configuring the Server for FOP2
- Installing FOP2
- Logging into FOP2
- Starting the FOP2 Service
0 Comments
Maintainer
original contributor: [1]Daniel B. from Firewall Services
last maintainer: [2]JP Pialasse
Version
Freepbx Fop2
Description
FreePBX is a full-featured PBX web application. If you’ve looked into Asterisk, you know that it doesn’t come with any 'built in' programming. You can’t plug a phone into it and make it work without editing configuration files, writing dialplans, and various messing about.
FreePBX simplifies this by giving you pre-programmed functionality accessible by a user-friendly web interfaces that allows you to have a fully functional PBX pretty much straight away with no programming required. Some of the features that FreePBX supports out of the box are:
- Unlimited number of Voicemail boxes
- 'Follow Me' functionality
- Ring Groups with calls confirmation (so if, eg, a cellphone is out of range and diverts to voicemail, all the other phones keep ringing)
- Unlimited number of Conferences (limited by available CPU power - about 300 simultaneous users in conferences on a P4 3ghz - 600 with a dual core!)
- Paging and Intercom functionality for man SIP phones that support it.
- Music on Hold (via MP3s, or streamed off the internet)
- Call Queues
- And many other features
Optional
- You may want some hardware cards if you don't want your installation to be IP only. I've tested successfully the TDM400P, TDM410P and b410P (misdn) from Digium, but any card supported by DAHDI (should be anything working with zaptel) should work.
Installation
[edit]1. First, increase the php memory limit to at least 128M BEFORE the installation, or it will fail in the middle leaving it in an unstable state ( half mysql db installed, no modules activated).
2. Install the 4 yum repos necessary (asterisk-13,asterisk-current,digium-current,digium-13):3. Then the actual installation :
4. By default en language with ulaw are added. If you want voicemail to work you wil need to add what is needed for your language there. You may want to add some extra format and languages. (you might choose codec {alaw,ulaw,g722,gsm} you want and language {en,en_AU,fr,es}, see http://packages.asterisk.org/centos/6/current/i386/RPMS/).
Formerly, You could also manually download them latter through the Freepbx interface (first install Freepbx Sound Languages module,then go to Admin/Sound Languages). But this seems broken as per 2019/01/11, the xml list for the module to work are empty. See known issues if you need to install multiple langauge pack easily manually
5. This is the important step of the installation, the actual configuration and installation of files:
6. Then you can start to configure and upgrade trough the interface in the server-managerit might also be necessary to reboot or relaunch asterisk to allow all modules to be launch:
You may need to first install the ATrpms repository.
source : http://forums.contribs.org/index.php?topic=48143.0
FreePBX is composed of 4 main parts: the main FreePBX interface, Recordings, Asterisk-Stats and Flash Operator Panel
FreePBX
This is the main web interface for asterisk configuration. This interface is available at https://server.domain.tld/freepbx/admin, or in the server-manager, under FreePBX menu.You'll need to login as admin (password of your admin's SME account) to access this part.You can grant the access to any user of the system using the userpanel contrib (just grant the user or the group the permission to access freepbx panel)
Recordings
Recordings, is a web based portal for users. You may configure some features of your phone here (followme, call forward, call waiting etc..), check you call history, or download/listen to your voicemail. This interface is available at https://server.domain.tld/recordings.The login here is your phone (extension) number and your voicemail password.There's also a special admin account. The admin account can access all call logs and recordings. The login is admin, the password is randomly generated, you can find it in /opt/freepbx/recordings/includes/main.conf.php
Backup
Starting SME9 we started to integrate the FreePPX backup in the SME Server backup system. The first backup of FreePBX module is now reserved to SME usage. SME will trigger at least once a month a bakcup of your whole PBX and store it in /home/e-smith/files/freepbx/Default_backup/. Up to 2 version will be kept there. Also, every time you trigger the event pre-backup (i.e., before console backup, or workstation backup from server-manager) a backup will be done without you worrying about it (unless FreePBX is disabled). To restore your PBX after migrating to a new SME or after a disaster, just restore your SME as usual, install the smeserver-freepbx contrib and open you server-manager to access to the FreePBX interface. GO to the backup module, choose restore and navigate to /home/e-smith/files/freepbx/Default_backup/ and choose the backup to use. Et voilà !
Asterisk Stats
Asterisk-Stats is an interface to query CDR (Call Detail Reports) database. Free printable zentangle pattern sheets. It's available on the main FreePBX interface at https://server/domain.tls/freepbx, on the 'Reports' tab
Flash Operator Panel (SME8)
Flash Operator Panel is a switchboard type application for the Asterisk PBX. It runs on a web browser with the flash plugin. It is able to display information about your PBX activity in real time. The layout is configurable (button sizes and colours, icons, etc). The FOP is available at https://server.domain.tld/panel or in the main interface in the 'Panel' tab.
You can grant the access to any user of the system using the userpanel contrib (just grant the user or the group the permission to access fop panel)
DB parameters
Here's the list of DB parameters:
This contrib add 3 entries in the configuration db: freepbx, dahdi and fop. Here's a description of available parameters for each entry
- freepbx
- CdrDbName: the name of the database for CDR. The default is asteriskcdrdb. You should let this unless you know what you're doing
- DbName: the name of the database for FreePBX. The default is freepbxdb. You should let this unless you know what you're doing
- DbPassword: the password to access FreePBX database. A random value is generated at install time.
- DbUser: the username to access both databases. Default is freepbxuser
- DeviceAndUser: (enabled disabled) You can enable the 'deviceanduser' display view of FreePBX. DeviceAndUser is enabled, Devices and Users will be administered separately, and Users will be able to 'login' to (adhoc) devices. If disabled Devices and Users will me administered in a single screen. Removed since SME9. Use FPBX GUI to handle this.
- ManagerPassword: This is the asterisk manager password used by FreePBX (the login is 'admin'). The default one is randomly generated at install time.
- UDPPorts: Lists of ports used by asterisk. This settings is only useful if you want to open asterisk on the public interface (you can also restrict it with AllowHost parameter)
- access: (private public). if you want to open asterisk on the public interface, you can set this to public.
- status: (enabled disabled). Should asterisk (with FreePBX provided helper script) should be started automatically.
- fop
- status: (enabled disabled) Should we start the FOP server with FreePBX ?
- Password: This is the additional password for FOP. There's a first password needed to access FOP (by default, only admin is allowed). This first password is your SME account password. The second password (the one on this db parameter) allow users to use drag/drop on the different items (transfer call, initiate a call, hangup etc..). The default password is a random generated one at install time.
- TCPPort: This is the TCP port used for the communication between the flash applet and FOP daemon. The default is 4445
- access: The default is to allow only connections from the local network. You can allow external IP if you configure public here (and if you do so, you should limit this access to a list of IP using the AllowHost key)
- dahdi
- status: (enabled disabled) You should let this to enabled, even if you don't have any hardware card because some functions (like meetme) requires the dahdi_dummy driver to be loaded.
Note: |
dahdi_dummy is no longer required as a 'timing' device (since Asterisk 1.6) . This has been solved by using other timing mechanisms automatically. So setting dahdi to disabled does no harm to meetme. |
Related pages
You may be interested in the following how-to:
- How-to configure your card using DAHDI
- How-to configure your card using mISDN
Update Freepbx
To update your freepbx installation simply follow the procedure inside freepbx web interface. After every version update (from 2.5 to 2.6, etc.) you should run a
in order to update file ownership according to SME specifications.
The way the contrib is designed, updating freepbx-src (i.e. from 2.5 to 2.7) won't update your working freepbx installation.
Uninstall
If you want to cleanup everything (MySQL databases, DB, etc..), you can use this script:
Reinstall
If you need to re-install everything, you should completely remove the previous installation (remove the rpms and run the cleanup script.)
SME8: Sounds
you might have some trouble with sounds not playing, after updates of freepbx.The problem is that freepbx in new release configures asterisk to search for sounds in /usr/share/asterisk/sounds but all rpm for centos will install them in /var/lib/asterisk/sounds
create a symlink for each folder in it and everything will works.
SME8: Dahdi-linux-kmdl
be carrefull to keep the kernel module up to date every time you have a new kernel release ( wait if they are not available)
SME8: FOP could not reload
if after installation you get this message just do a
and everything will get fine !
SME9: CDR logging not enabled by default
CDR logging is not enabled by default. To enable one must manually load the cdr_mysql.so module:
SME9: /tmp owned by asterisk:asterisk
update to a version of smeserver-freepbx >=13.3 and this will be fixed
SME9: freepbx modules
if you need to install the digium addons from freepbx, you will first need to install the following RPM:
Firewall addons does not work on SME, it requires Sysadmin RPM.
You may need to manually install the manager module. It should be a default module but I could not find it installed, and nothing appeared in the Module Admin.
How To Convert HTML To PDF Using JavaScript. Add the style of this HTML page. Add the 'Print' button in this page, above the form tag. Add other two scripts for converting the document. Now, let's see the output. Click on the 'Generate PDF ' button and get the PDF file like this. Instantly convert HTML files to PDF format with this free online converter. Nothing to install, no registration, no watermark. Click the UPLOAD FILES button and select up to 20 HTML files or ZIP archives containing HTML, images and stylesheets. PdfGenerator can be used for converting Word documents (docx, Word 2007+) to PDF in the following way: convert docx (OpenXML) to HTML using OpenXmlPowerTools library (open source). It correctly handles embedded images, styles, tables etc. Convert intermediate HTML file to PDF with PdfGenerator. Below we show how to convert web pages to PDF documents Step 1: Paste your web page URLs. Multiple web pages can be converted at a time. Paste each URL on a separate line. Step 2: Save PDF results. Click Convert HTML to PDF and wait until processing completes. Then press Download and save your PDF documents. Html to pdf generator.
SME9: warnings during yum install
you can safely ignore any of the following warnings during the installation :
and
they are only the result of the order choosen by yum for doing the install, and they do not impact the final result.
in /var/log/asterisk/freepbx.logyou might see the following
you can safely ignore it, or refer to https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard in order to create your own.
SME9: install more language pack manually
In 2019, language sound module stop displayin available language packs. It seems that freepbx team has isue or stop populating their $xml = $this->getRemoteFile('/sounds-' . $base_version . '.xml'); file for fpbx13 : http://mirror1.freepbx.org/sounds-13.0.xml As a result sound lang module will display an empty list.
Just change MYLANG='fR' to your desired language. After that login to freepbx and add a custom language for your lang to be able to use it.SME9: difficulty to upgrade
if you installed this contrib before 8/4/2017, you should issue the following command to exclude the php packages from asterisk-current repo. They could conflict with upstream packages and block your updates (php-pear(DB) = 1.7.13 Updated By: php-pear-DB-1.7.14-1_centos6.noarch (asterisk-current) Not found).
Migration from earlier versions
There is currently no upgrade path between versions. Backup/Restore will most likely not work.Apparently this is planned for v14+
In the meantime some notes on manually upgrading. This was based on moving from asterisk 1.8.x and an old version of FreepBX.
First, make sure you backup ABSOLUTELY everything. In different ways and in different places.
A straight copy of /etc/asterisk and /opt/freepbx plus a complete database dump at least.
It will be better if you have a completely clean install, preferably on a VM where you can snapshot the basic install and go back if you need to.
Freepbx 14 Operator Panel
I took a copy of the freepbx DB and imported it completely into a different server. I could then do a side by side comparison of tables and data.
Here are some basic tables that you will need, though they may not all be required depending on your configuration
General
Trunks and Routes
Other
Device and User mode
Extension mode
I exported each table and a table from the new install to compare, particularly items like field lengths, and KEYS. Some old tables did not have Primary keys set.
I then copied the 'INSERT INTO' section into phpmyadmin/sql section on the new server.
If you swap from Extension to Device and User mode I found that once I had inserted the data I had to go into FreePBX, open each record, and Submit, finally followed by Apply Config. This seemed to update the DB.
Please see http://www.voipbl.org/ to adapt fail2ban to use blacklisted IP's worldwide.
Please raise bugs under the SME-Contribs section in bugzillaand select the smeserver-freepbx component or use this link
ID | Product | Version | Status | Summary (12 tasks) |
---|---|---|---|---|
10705 | SME Contribs | 9.2 | CONFIRMED | upgrade to fbx 14 |
10703 | SME Contribs | 9.2 | CONFIRMED | Unknown column 'description' in 'field list' |
10698 | SME Contribs | 9.2 | CONFIRMED | error migrating sme8 to sme9 |
10620 | SME Contribs | 9.2 | CONFIRMED | Asterisk not logging to CDR or CEL databases |
10524 | SME Contribs | 9.2 | CONFIRMED | Cannot access User Panel (UCP) |
10504 | SME Contribs | 9.2 | CONFIRMED | FreePBX proxy error on playing music files |
10400 | SME Contribs | 9.2 | CONFIRMED | smeserver-freepbx uninstall does not cleanup correctly |
10221 | SME Contribs | Futur | CONFIRMED | NFR: set php memory to 128M if inferior |
10131 | SME Contribs | 9.0 | CONFIRMED | after uninstallation crontab generate a huge amount of error |
9945 | SME Contribs | 9.1 | CONFIRMED | server manager :not found if freepbx disabled |
9859 | SME Contribs | 9.1 | CONFIRMED | Missing HTML5 format converters |
9756 | SME Contribs | 9.1 | CONFIRMED | If freepbx is set to disabled cron generates huge amount of emails |
Only released version in smecontrib are listed here.
2018/01/29 Jean-Philipe Pialasse 13-15.sme
- fix warning tampered files in GUI [SME: 10496]
- update TKT auth parameter for SME 9.2 [SME: 10268]
- fix noise rebooting and restarting freepbx [SME: 10120]
2017/01/25 Jean-Philipe Pialasse 13-11.sme
- NFR: auto backup of whole FBX config during pre-backup event [SME: 9637]
- both asdb and fpbx, asterisk config files, freepbx folders, voicemails are part of backup
- 2 versions are kepts
2017/01/23 Jean-Philipe Pialasse 13-10.sme
- fix Missing HTML5 format converters [SME: 9859]