<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Blog — FOP2 Forum</title>
        <link>https://forum.fop2.com/</link>
        <pubDate>Tue, 21 Jul 2026 01:48:43 +0000</pubDate>
        <language>en</language>
            <description>Blog — FOP2 Forum</description>
    <atom:link href="https://forum.fop2.com/categories/blog/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Telegram Channel</title>
        <link>https://forum.fop2.com/discussion/5051/telegram-channel</link>
        <pubDate>Thu, 17 Feb 2022 19:02:58 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">5051@/discussions</guid>
        <description><![CDATA[<p>We have created a Telegram channel to post updates and news about FOP2. <a rel="nofollow" href="/home/leaving?target=https%3A%2F%2Ft.me%2F%2B9dHhJQLnPDQxY2Fh" title="You are invited to join!">You are invited to join!</a></p>
]]>
        </description>
    </item>
    <item>
        <title>Security Vulnerability in Asternic Call Center Stats PRO</title>
        <link>https://forum.fop2.com/discussion/5214/security-vulnerability-in-asternic-call-center-stats-pro</link>
        <pubDate>Thu, 09 Nov 2023 22:39:53 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">5214@/discussions</guid>
        <description><![CDATA[<p>We received information about a compromised system that had Asternic Call Center Stats PRO. Upon investigation we confirmed that it was possible to upload arbitrary files via the admin-language.php file, but only for authenticated users.</p>

<p>We then noticed that old RPM versions of the software in Issabel repositories were installed with insecure/default credentials. This does not happen if installing according to the installation guide using the command line install scripts instead of yum/rpm, as the command line installation prompts for the administrator password at install time. So we decided to pull those old .rpm versions from Issabel repositories.</p>

<p>Even if its only exploitable by authenticated users, it is still a serious security vulnerability. We already patched the software and urge you to upgrade to the latest version (2.3.11) available since today.</p>

<p>One way to find out if your server could have been compromised is to look for .php files in the /var/www/html/stats/uploads directory:</p>

<p><code>find /var/www/html/stats/uploads -name \*.php</code></p>

<p>If this command returns any files, those are most probably malicious and your system is compromised.</p>

<p>If you cannot upgrade, a quick fix is to edit the file /var/www/html/stats/admin-language.php, search for 'allow_import' and change it to false, like this:</p>

<p><code>$grid-&gt;allow_import(false);</code></p>
]]>
        </description>
    </item>
    <item>
        <title>New Forum</title>
        <link>https://forum.fop2.com/discussion/4728/new-forum</link>
        <pubDate>Sat, 28 Sep 2019 20:03:56 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">4728@/discussions</guid>
        <description><![CDATA[<p>Hi all,</p><p>The forum we were using was constantly being spammed by bots for new user registrations, in a rate that made it impossible for us to keep it clean. I was making some modifications on the forum code to try to clean this bots/spam atack, and tried to clean up the thousands of pending member aprovals (that I had to turn on because of the forum spam). </p><p>So, finally I got tired and decided to try a different Forum software, and did so with the only one I found that seemed reasonable modern/updated, with some spam/bot preventions built in and that could import the old forum data: VanillaForum.</p><p>I have no idea was this will turn up, maybe I will have to revert to the previous incarnation. I hope existing/validated accounts got imported correctly, I did some work to not lose old links from google searches. I still need to learn a bit about this and possible tweak permissions and configurations a bit.</p><p>New user registration does not require aproval any longer, and hopefully it will prevent bots from registering.</p><p>Please let me know how it works, if you have issues, etc.  I hope to have a bit more time now for answering things instead of dealing with bots/spams.</p><p><br /></p><p>Nico</p>]]>
        </description>
    </item>
    <item>
        <title>FOP2 Manager vulnerability</title>
        <link>https://forum.fop2.com/discussion/5109/fop2-manager-vulnerability</link>
        <pubDate>Fri, 18 Nov 2022 14:29:24 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">5109@/discussions</guid>
        <description><![CDATA[<p>For a couple of days we have received reports of compromised servers from FOP2 users. A preliminary analysis seems to indicate that indeed the attack vector is part of the FOP2 Manager (<a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fyour.server%2Ffop2%2Fadmin">http://your.server/fop2/admin</a>), more specifically in the files downloadfile.php and chunkdonwloadhelper.php</p>

<p>In case you have the FOP2 interface exposed to the internet and as an urgent measure we suggest you perform the following actions until we can confirm the problem and provide definitive measures to avoid the problem.</p>

<p>Log into your FOP2 Manager dashboard at <a rel="nofollow" href="/home/leaving?target=https%3A%2F%2Fyour.server%2Ffop2%2Fadmin">https://your.server/fop2/admin</a><br />
You should see the new 1.2.4 version available. Upgrade directly from there. Once done, your server won't be vulnerable any longer.</p>

<p>To find out if your server was already compromised you can check for the existence of the following files that are <em>not</em> part of FOP2 but are injected by attackers to download and run a cryptocurrency mining script:</p>

<p>ls -la /var/www/html/fop2/lang/index.php<br />
ls -la /var/www/html/fop2/lang/ko.php</p>

<p>If you have any of these two files, your computer was compromised, you should delete these files immediately.</p>
]]>
        </description>
    </item>
    <item>
        <title>Queued Calls Counter Plugin</title>
        <link>https://forum.fop2.com/discussion/3746/queued-calls-counter-plugin</link>
        <pubDate>Fri, 29 Aug 2014 19:34:31 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3746@/discussions</guid>
        <description><![CDATA[I have just released a new *free* plugin for FOP2.<br />
<br />
<img src="http://i.imgur.com/LiWDKfx.png" alt="LiWDKfx.png" /><br />
<br />
The Queued Calls Counter will add a box to the right column showing the total number or waiting calls in every listed queue.<br />
<br />
It is a simple plugin that lets you qucikly see all of the waiting calls you have in your contact center. You need FOP 2.27 or higher in order to use it.<br />
<br />
As every other plugin, you can install it via the FOP2 Manager.<br />
<br />
Enjoy!<br />
]]>
        </description>
    </item>
    <item>
        <title>Chrome extension 1.0.8 released</title>
        <link>https://forum.fop2.com/discussion/3819/chrome-extension-1-0-8-released</link>
        <pubDate>Fri, 09 Jan 2015 12:48:28 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3819@/discussions</guid>
        <description><![CDATA[I have just released an updated Google Chrome extension for FOP2. Just a small bug fix release to add support for UTF8 button labels (so russian and other extended character languages work well).<br />
<br />
<a href="/home/leaving?target=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Ffop2-extension%2Fnoeilkljmfafbfcdoieialchglebbcea" rel="nofollow">Check the details in the Chrome Web Store</a><br />
<br />
Enjoy!]]>
        </description>
    </item>
    <item>
        <title>Firefox 11 websockets and FOP2</title>
        <link>https://forum.fop2.com/discussion/3721/firefox-11-websockets-and-fop2</link>
        <pubDate>Sat, 03 Apr 2010 10:10:10 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3721@/discussions</guid>
        <description><![CDATA[[h]Firefox 11 websockets and FOP2 [/h]<br />
<br />
Firefox 11 was released a couple of weeks ago. Now it includes html5 websockets support by default (previous versions had this feature disabled).<br />
<br />
Unfortunately, the websocket handshake that Firefox 11 uses has a little piece of information that prevents the FOP2 websocket connection from succeeding.<br />
<br />
<b>This means that if you use Firefox 11, as is, it won't be able to connect with FOP2 versions 2.25 or prior.<br />
</b><br />
I had to quickly update the FOP2 server to accept this handshake and make Firefox 11 websocket feature functional. This was implemented in FOP2 version 2.26.<br />
<br />
So, if you upgrade FOP2 to version 2.26, you won' t have issues with Firefox 11, <b>but with one exception</b>: websocket connections are not going to be established by Firefox 11 if the http connection is done using ssl (https).<br />
<br />
<br />
[h]Firefox 11 and FOP2 over HTTPS[/h]<br />
<br />
There is a setting you can set in Firefox to allow websocket connections over https links, you have to type in the address bar:<br />
<br />
<br />
[fixed]about:config [/fixed]<br />
<br />
After accepting the warning window, search for:<br />
<br />
[fixed]network.websocket.allowInsecureFromHTTPS [/fixed]<br />
<br />
And set it to <b>true</b><br />
<br />
That will make websockets in Firefox 11 work even if the http connection is done via ssl. (You do not need to do this if you access the fop2 application using regular http connectios).<br />
<br />
[h]Other ways around the issue[/h]<br />
<br />
The problem is in the websocket handshake, it is possible to make it work by disabling websockets, either in FOP2 or in Firefox itself.<br />
<br />
In FOP2, since version 2.24, you can disable websockets globally, you can edit the file /var/www/html/fop2/js/presence.js and in there set:<br />
<br />
[fixed]var disableWebSocket = true;[/fixed]<br />
<br />
Then be sure to clear your firefox cache and you will not have issues with websockets again, as FOP2 will use the Flash xmlsockets connection instead.<br />
<br />
Alternatively, you can disable websockets support in Firefox, in the address bar go to:<br />
<br />
[fixed]about:config[/fixed]<br />
<br />
Accept the warning and search for:<br />
<br />
[fixed]network.websocket.enabled[/fixed]<br />
<br />
And set it to false.]]>
        </description>
    </item>
    <item>
        <title>Trixbox, PHP Sessions and FOP2</title>
        <link>https://forum.fop2.com/discussion/3723/trixbox-php-sessions-and-fop2</link>
        <pubDate>Tue, 13 Sep 2011 15:00:00 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3723@/discussions</guid>
        <description><![CDATA[[h]Trixbox, PHP Sessions and FOP2[/h]<br />
<br />
All the popular Asterisk distributions, like Trixbox, Elastix, PBX in a Flash, etc, include a basic LAMP stack (Linux, Apache, Mysql and PHP).<br />
<br />
In order for the phonebook and some extra FOP2 features to work, PHP sessions must be working. By default, the standard PHP configurations will store a cookie on your browser with the session id, so you also must allow cookies to be written.<br />
<br />
Trixbox includes a LAMP stack, but in its latest release also includes a PHP module to store sessions in memory using memcached. That is really nice and dandy, unfortunately, they forgot to enable the memcached daemon in the boot process. So, in a standard trixbox installation, PHP sessions are broken.<br />
<br />
Everything will appear to be working fine, except when you try to open the FOP2 phonebook or any other section that requires php sessions enabled. You will see an error like:<br />

<blockquote>

<div>&quot;No way&quot;</div>
</blockquote>
<br />
(unpolite message from FOP2 versions 2.20 or older) or:<br />

<blockquote>

<div>&quot;You do not have permissions to access this resource&quot;</div>
</blockquote>
<br />
In order to fix this, you have two options:<br />
<br />
1) Start the memcache daemon and enable it at boot<br />
<br />
2) Disable the memcache module and use the standard file based php sessions<br />
<br />
As I have seen the memcached based sessions failing for no apparent reason, my suggestion is to disable the memcache module. For doing that, you can edit the file /etc/php.d/memcache.ini and comment out ALL lines in that file:<br />

<pre><code>; Enable memcache extension module
;extension=memcache.so

; Options for the memcache module

; Whether to transparently failover to other servers on errors
;memcache.allow_failover=1
; Defines how many servers to try when setting and getting data.
;memcache.max_failover_attempts=20
; Data will be transferred in chunks of this size
;memcache.chunk_size=8192
; The default TCP port number to use when connecting to the memcached server 
;memcache.default_port=11211
; Hash function {crc32, fnv}
;memcache.hash_function=crc32
; Hash strategy {standard, consistent}
;memcache.hash_strategy=standard

; Options to use the memcache session handler

; Use memcache as a session handler
;session.save_handler=memcache
; Defines a comma separated of server urls to use for session storage
;session.save_path=&quot;tcp://localhost:11211?persistent=1&amp;weight=1&amp;timeout=1&amp;retry_interval=15&quot;
</code></pre>
<br />
After that, restart your web server:<br />
<br />
[fixed]service httpd restart[/fixed]<br />
<br />
By now you should have file based php sessions working on your Trixbox setup.]]>
        </description>
    </item>
    <item>
        <title>FOP 2.31.03 Released!</title>
        <link>https://forum.fop2.com/discussion/4292/fop-2-31-03-released</link>
        <pubDate>Sun, 31 Jul 2016 01:53:02 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">4292@/discussions</guid>
        <description><![CDATA[I am happy to announce a new FOP2 release.<br />
<br />
This minor revision addresses some feature requests:<br />
<br />
* Licensing is not lost after a reboot in <a href="/home/leaving?target=http%3A%2F%2Fwww.astlinux-project.org" rel="nofollow">AstLinux</a> installations<br />
* Pickup from parking can be done clicking on the whole label, not just the icon<br />
* FOP2 Manager shows a changelog for Plugins that have updates<br />
<br />
Some other new features that were not specifically requested:<br />
<br />
* Support for timer formats (hh:mm:ss, mm:ss and ss), used by the Full Wallboard plugin<br />
* Links to tutorials/helps in plugins page in the FOP2 Manager<br />
* Better integration with <a href="/home/leaving?target=http%3A%2F%2Fwww.ombutel.com" rel="nofollow">Ombutel</a><br />
* Full Wallboard plugin added to repository<br />
<br />
And some bug fixes:<br />
<br />
* Fixes warning error when login out from FOP2 Manager<br />
* Fix typo in Pause Recording plugin that prevented status to be reflected in the pause button<br />
* Respect plugin form encoding when creating new sections (used by the Full Wallboard plugin)<br />
* Updated French translation<br />
* Allow question marks in passwords when parsing config files<br />
* Check for agent permissions in the Presence Pause plugin<br />
* Show ringing status when received from QueueMember and QueueMemberStatus<br />
* Fix in Call History plugin to show dialed number in outbound calls instead of caller id<br />
<br />
Also, some .js libraries were updated to newer versions: tablesorter and gridstack.<br />
<br />
The Full Wallboard plugin is around the corner, not yet released as it is *big* and requires a good amount of testing and documentation. If you are curious, you can take a look at the current documentation right now:<br />
<br />
<a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdocs%2Fwallboard_guide.php">http://www.fop2.com/docs/wallboard_guide.php</a><br />
<br />
I will write a proper post for the wallboard once it gets released.<br />
<br />
Ah! I almost forgot, there is now a super easy way to install FOP2 on a new FreePBX based system (Elastix 2, Elastix 4, FreePBX distro, PBX in a Flash, etc), just log into your server and use this command to fully install and configure FOP2:<br />

<pre><code>wget -O - http://download.fop2.com/install_fop2.sh | bash
</code></pre>
<br />
<br />
I want to thank all of you for giving valuable feedback and contributions to improve FOP2.<br />
<br />
Enjoy!]]>
        </description>
    </item>
    <item>
        <title>Instalando FOP2 en Elastix 4</title>
        <link>https://forum.fop2.com/discussion/4188/instalando-fop2-en-elastix-4</link>
        <pubDate>Fri, 08 Apr 2016 22:37:45 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">4188@/discussions</guid>
        <description><![CDATA[Ingrese al sistema como root, y desde la línea de comandos ingrese los siguientes comandos:<br />
<br />
[fixed]cd /usr/src<br />
wget <a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownload%2Fcentos64">http://www.fop2.com/download/centos64</a> -O fop2.tgz<br />
tar zxvf fop2.tgz<br />
cd fop2<br />
make install<br />
/usr/local/fop2/generate_override_contexts.pl -w[/fixed]<br />
<br />
Con eso el FOP2 ya queda instalado. Pero ahora deberá desactivar el FOP 1 que viene por defecto en Elastix 4, ya que no pueden correr de forma simultánea. Para hacerlo, edite el archivo /etc/rc.d/rc.local y comente la línea que inicia el viejo FOP 1 anteponiendo el signo # a la que dice /usr/sbin/amportal start_fop. Se verá así:<br />

<pre><code>#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/sbin/motd.sh &gt; /etc/motd
/usr/sbin/fxotune -s
#/usr/sbin/amportal start_fop
</code></pre>
<br />
<br />
Luego edite el archivo safe_opserver que se encuentra generalmente en esta ruta: /var/www/html/admin/modules/fw_fop/safe_opserver<br />
<br />
En dicho archivo hay que insertar una nueva línea que diga &quot;exit&quot; justo al principio del mismo en la segunda línea, se debería ver asi:<br />

<pre><code>#!/usr/bin/env sh
exit
. /etc/amportal.conf

while true; do
$FOPWEBROOT/op_server.pl
sleep 4
done
</code></pre>
<br />
Finalmente debe detener el FOP1 que está en ejecución con el comando:<br />
<br />
[fixed]/usr/sbin/amportal stop_fop[/fixed]<br />
<br />
Luego debe configurar el usuario del manager en Asterisk para que el FOP2 pueda funcionar. En /etc/asterisk/manager_custom.conf agregue el usuario del fop2 como este:<br />

<pre><code>[fop2]
secret = fop222
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.0
read = all
write = all
writetimeout = 1000
eventfilter=!Event: RTCP*
eventfilter=!Event: VarSet
eventfilter=!Event: Cdr
eventfilter=!Event: DTMF
eventfilter=!Event: AGIExec
eventfilter=!Event: ExtensionStatus
eventfilter=!Event: ChannelUpdate
eventfilter=!Event: ChallengeSent
eventfilter=!Event: SuccessfulAuth
</code></pre>
<br />
Luego de agregado dicho usuario , debe recargar la configuración del manager:<br />
<br />
[fixed]<br />
asterisk -rx &quot;manager reload&quot;<br />
[/fixed]<br />
<br />
Y luego edite el archivo /usr/local/fop2/fop2.cfg y pon el mismo usuario y clave (modifique las entradas que están al principio de dicho archivo, no agregue líneas nuevas)<br />

<pre><code>manager_user=fop2
manager_secret=fop222
</code></pre>
<br />
Una vez guardados los cambios, puedee comprobar si el usuario de manager y la configuración del FOP2 coinciden:<br />
<br />
[fixed]<br />
/usr/local/fop2/fop2_server --test<br />
[/fixed]<br />
<br />
Deberá responder que la conexión al manager se realizó con éxito.<br />
<br />
Finalmente ingrese al FOP2 Manager del FOP2 con su navegador:<br />
<br />
<a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fsu.servidor%2Ffop2%2Fadmin">http://su.servidor/fop2/admin</a><br />
<br />
Ingresas con las mismas credenciales de Elastix/FreePBX, la primera vez se crearán las tablas necesarias para configuración. Aproveche la oportunidad para seleccionar la solapa Usuarios y configurar un usuario o bien una clave para un un usuario. Luego de lo cual puedes iniciar o reiniciar el servicio:<br />
<br />
[fixed]<br />
service fop2 restart<br />
[/fixed]<br />
<br />
Finalmente puede ingresar al panel con su navegador<br />
<br />
<a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fsu.servidor%2Ffop2">http://su.servidor/fop2</a><br />
]]>
        </description>
    </item>
    <item>
        <title>FOP2 Version 2.31 released!</title>
        <link>https://forum.fop2.com/discussion/4204/fop2-version-2-31-released</link>
        <pubDate>Sun, 01 May 2016 14:29:02 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">4204@/discussions</guid>
        <description><![CDATA[Version 2.31 is out. Has several little improvements and bug fixes, mostly related to Asterisk 13 and real time multi tenant systems. It also has some new features and configuration options, to make it more versatile than before, these are just some of them (you can look at the complete list in the Changelog file on the tarball):<br />
<br />
* Automatic synchronization for FreePBX labels<br />
* listen_ip setting to limit the interface to bound the FOP2 service<br />
* FORCE_UTF8 in the FOP2 Manager configuration if you have trouble with wide characters in MySQL<br />
* Fixes on ODBC Voicemail related to field types<br />
* Little changes on the visual aspect, new icons for context menus in FOP2<br />
* Improved interface in the FOP2 Manager with a responsive layout<br />
* Initial support for FreeSWITCH<br />
* More resilient PHP version setup, system will try to establish session by itself<br />
* PHP sub applications like recordings, call history, etc, will refresh content when opened<br />
* Improved configuration plugin forms in the FOP2 Manager, with support for field types<br />
* Several plugin improvements and bug fixes<br />
* New Timer Alarm plugin<br />
* Fixed pagination and search bugs in the Contacts application<br />
* Fixes for multi tenant related to restricted permissions<br />
* Updates and fixes on translations to french, hebrew and others<br />
* Add greek translation to FOP2 Manager<br />
* New auth plugin architecture that can be used to retrieve user passwords from custom backends<br />
* New file based voicemail reindex to fix filenames with gaps in the numbering<br />
* Fixed bug where chat windows were behind the footer visually<br />
<br />
Hope you enjoy!<br />
<br />
<br />
<br />
<br />
]]>
        </description>
    </item>
    <item>
        <title>FOP2 2.30 Beta</title>
        <link>https://forum.fop2.com/discussion/3960/fop2-2-30-beta</link>
        <pubDate>Thu, 30 Jul 2015 01:42:25 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3960@/discussions</guid>
        <description><![CDATA[I am about to release FOP 2.30 in beta. It has big improvements on the GUI, using Twitter Bootstrap 3.0 as a CSS Framework.<br />
<br />
Here is a short video showcasing some of them:<br />
<br />
<span data-youtube="youtube-UJEDg_SxosY?autoplay=1"><a rel="nofollow" href="https://www.youtube.com/watch?v=UJEDg_SxosY"><img src="https://img.youtube.com/vi/UJEDg_SxosY/0.jpg" width="640" height="385" border="0" alt="image" /></a></span><br />
<br />
This new version will not work with Internet Explorer less than version 10, but I think it is a small price to pay for the improvements on the user interface in general. As always I recommend to use Google Chrome or Mozilla Firefox anyways.<br />
<br />
It has some new plugins that are exclusive for this version (queue stats, change password), and improves existing plugins by adding some real time charts (busy call counter, queued calls counter).<br />
<br />
It also has a nicer UI for the phonebook.<br />
<br />
It can also be customized via CSS using themes. That means that you do not have to edit core .css files to change styles. I will work on adding at least one theme besides the default one.<br />
<br />
If you are interested in trying the beta, let me know. As the changes are big, you might expect some glitches or problems.]]>
        </description>
    </item>
    <item>
        <title>Chrome extension 1.1.0 released </title>
        <link>https://forum.fop2.com/discussion/4031/chrome-extension-1-1-0-released</link>
        <pubDate>Fri, 23 Oct 2015 22:13:41 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">4031@/discussions</guid>
        <description><![CDATA[A new version is up on the <a href="/home/leaving?target=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Ffop2-extension%2Fnoeilkljmfafbfcdoieialchglebbcea" rel="nofollow">Chrome Web Store</a><br />
<br />
It has the following new features:<br />
<br />
* Extension buttons work as speed dials:<br />
<br />
You can click on any of them to quickly originate a call to their extension.<br />
<br />
<br />
* Ability to define a notification content URL<br />
<br />
Apart from the popup link you can define to open a new browser tab pointing to some web application you might have, now you can use a web application to get the actual content of the call notification, to show it directly inside the notification. For example, you can have an answering service and want to display the greeting speech for when a call comes in, then you can create a web service that will retrieve that information directly, and it will be presented right inside the call notification, with no need to open a new browser tab.<br />
<br />
* Configurable protocol handler<br />
<br />
Previous versions added the sip: protocol handler to click to call numbers on web pages, so if you have a soft phone that registers itself with that protocol handler, clicking on the number should make your phone call directly (without using the Asterisk/FOP2 callback method). It seems some users are installing soft phones that sets a protocol handler, but they do not want to use that soft phone to make the call, so now that handler is configurable via Options (by default its empty, with no handler).<br />
<br />
Enjoy!<br />
<br />
]]>
        </description>
    </item>
    <item>
        <title>Installing FOP2 on MiRTA PBX</title>
        <link>https://forum.fop2.com/discussion/4069/installing-fop2-on-mirta-pbx</link>
        <pubDate>Tue, 24 Nov 2015 12:59:07 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">4069@/discussions</guid>
        <description><![CDATA[#Installing FOP2 on MiRTA PBX ( <a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fwww.mirtapbx.com">http://www.mirtapbx.com</a> )<br />
<br />
Since version 2.30, FOP2 includes support for the multi tenant MiRTA PBX. As this system uses the Asterisk realtime backend in all aspects, there are some specific steps to integrate FOP2 with it. Also the multi tenancy aspect of the PBX might require some code tweaks on certain FOP2 components (like call history/cdr).<br />
<br />
Here is a brief guide on installing FOP2 on this platform:<br />
<br />
* Download and Install FOP2 normally. MiRTA uses the Centos 64 bits platform. So you should run these commands:<br />
<br />
[fixed]<br />
cd /usr/src<br />
wget <a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownload%2Fcentos64">http://www.fop2.com/download/centos64</a> -O fop2.tgz<br />
tar zxvf fop2.tgz<br />
cd fop2<br />
make<br />
[/fixed]<br />
<br />
* Change ownership of files to ‘apache’ user:<br />
<br />
<br />
[fixed]<br />
chgrp apache /usr/local/fop2<br />
chown apache.apache /var/www/html/fop2<br />
chown apache.apache /var/www/html/fop2/* -R<br />
chgrp apache /usr/local/fop2/fop2settings.db<br />
[/fixed]<br />
<br />
* Add a new manager user into Asterisk by editing the file /etc/asterisk/manager.conf and adding at the end:<br />

<pre><code>[fop2]
secret = fop333
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.0
read = all
write = all
writetimeout = 1000
eventfilter=!Event: RTCP*
eventfilter=!Event: VarSet
eventfilter=!Event: Cdr
eventfilter=!Event: DTMF
eventfilter=!Event: AGIExec
eventfilter=!Event: ExtensionStatus
eventfilter=!Event: ChannelUpdate
eventfilter=!Event: ChallengeSent
eventfilter=!Event: SuccessfulAuth
</code></pre>
<br />
* Edit the fop2 configuration file located in /usr/local/fop2/fop2.cfg<br />
<br />
** set manager_user and manager_secret with the same user/secret you created on the previous step:<br />

<pre><code>manager_user=fop2
manager_secret=fop333
</code></pre>
<br />
** set odbc voicemail:<br />

<pre><code>voicemail_path=dbi:ODBC:asterisk1!voicemail_messages
</code></pre>
<br />
<br />
* Edit the FOP2 Manager configuration file located in /var/www/html/fop2/admin/config.php<br />

<pre><code>$DBHOST=&quot;localhost&quot;;
$DBUSER=&quot;root&quot;;
$DBPASS=&quot;passw0rd&quot;;
$DBNAME=“asterisk&quot;;
$ENGINE=&quot;mirtapbx&quot;;
</code></pre>
<br />
* In the same FOP2 Manager configuration file, change the admin user and password. We strongly suggest to use a different user/password combo than the one provided by default.<br />

<pre><code>$ADMINUSER = &quot;fop2admin&quot;;
$ADMINPWD  = &quot;fop2admin&quot;;
</code></pre>
<br />
* Initialize de FOP2 Database by running this command:<br />
<br />
[fixed]<br />
php -f /var/www/html/fop2/admin/update_conf.php 1<br />
[/fixed]<br />
<br />
* Restart the Asterisk Manager with this command:<br />
<br />
[fixed]asterisk -rx &quot;manager reload&quot;[/fixed]<br />
<br />
* Log into the FOP2 Manager by pointing your browser to <a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fyour.server%2Ffop2%2Fadmin">http://your.server/fop2/admin</a> using the user/password you configured before. Once logged in, go to the Plugins tab and install the MiRTA plugin.<br />
<br />
* Once the plugin is installed, copy the ODBC compatibility helper  into your MiRTA installation:<br />
<br />
[fixed]<br />
cp /var/www/html/fop2/admin/plugins/mirtapbx/fop2-odbc-mirta.conf /etc/asterisk/func_odbc.d/<br />
[/fixed]<br />
<br />
* From the FOP2 Manager, select a particular tenant, then go to the Users tab and select the &quot;Recreate Users&quot; options from the Action menu for that tenant.<br />
<br />
This is the basics to get you started.<br />
]]>
        </description>
    </item>
    <item>
        <title>FOP2 Version 2.29.00 released!</title>
        <link>https://forum.fop2.com/discussion/3885/fop2-version-2-29-00-released</link>
        <pubDate>Tue, 24 Mar 2015 13:21:10 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3885@/discussions</guid>
        <description><![CDATA[I am happy to announce that version 2.29.00 final is out! As you can see, I have added minor revision support to the version numbering, with the hopes to release bug fixing updates more often.<br />
<br />
You can get it from the <a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownload.php" rel="nofollow">download</a> page.<br />
<br />
Here is a general list of bug fixes and new features:<br />
<br />
* Fixes and updates for compatibility with Asterisk 12 and 13<br />
* PlayDTMF on server (pressing DTMF on FOP2 dialpad sends DTMF on bridged channel)<br />
* Non block on FOP2 config reload<br />
* Option to Pause queue members with a Reason via presence.js<br />
* FOP2Manager change on button label or group will reflect immediatly on FOP2 with no nead for reload<br />
* UserEvents for changing button labels, groups (FOP2CHANGEBUTTONLABEL, FOP2CHANGEBUTTONGROUP)<br />
* UserEvents for changing user secret and permissions (FOP2CHANGEUSERPASSWORD, FOP2CHANGEUSERPERMS)<br />
* Configurable headers for originate, both global in fop2.cfg and per button in buttons.cfg<br />
* Allow setting of auto answer on/off from client preferences using auto answer headers on buttons.cfg<br />
* Support for triggering reloads via UserEvents (because of Asterisk &gt;11.8 bug)<br />
* Improvded plugin interface including persistent storage variables<br />
* Some visual updates to the User Interface (unified buttons, css3 spinner, etc)<br />
* Allow more symbols on password fields (exclamation, ampersand, equal sign, etc)<br />
* Start using minor version revisions 2.xx.xx<br />
* Caller ID Flip Flop effect (alternates between number and name)<br />
* User mysqli in all PHP sub applications (phonebook, recordings, cdr)<br />
* Several little bug fixes here and there (privacy monitor, meetme talking indicator, send data to unauth clients, etc).<br />
* Updated translations<br />
* Improved support for multi tenant on FOP2 Manager<br />
* Improved permission handling, allows Followme plugin to be limited to self unless followmanager permission is set<br />
* Support for PBXWare and Elastix 3 on FOP2 Manager<br />
* Add disableQueueFilter option to presence.js to disable the queue member filter when a queue button is selected<br />
* Allow conference buttons to have a dash in their conference name<br />
* Add mwi indicator for ring groups and queue buttons<br />
* Removes/Destroys non authenticated sockets after one minute<br />
* Updated desktop notification library to make it compatible with newer Chrome versions<br />
]]>
        </description>
    </item>
    <item>
        <title>FOP2 Modifications for FreePBX with BRIA module</title>
        <link>https://forum.fop2.com/discussion/3883/fop2-modifications-for-freepbx-with-bria-module</link>
        <pubDate>Tue, 17 Mar 2015 15:12:39 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3883@/discussions</guid>
        <description><![CDATA[There is a commercial module for FreePBX to be used with BRIA softphones that does strange things to the FreePBX configuration tables/databases, and then breaks the FOP2 manager auto configuration as it generates TWO devices for a user, without being in user^device mode.<br />
<br />
There is a way to make the FOP2 Manager and FOP2 autoconfiguration scripts works, but requires some tweaks:<br />
<br />
1) Create a mysql trigger<br />
2) Use a customized autoconfig-buttons.sh script<br />
<br />
For the MySQL trigger, create a file named trigger.sql with this content:<br />

<pre><code>DROP TRIGGER IF EXISTS AddNines;
DELIMITER $$
CREATE TRIGGER AddNines
BEFORE INSERT ON fop2buttons
FOR EACH ROW
BEGIN
IF(new.Device like '%/%' AND new.Device not like '%/999%' AND new.type='extension')
    then 
            set new.`Channel` = REPLACE( new.Device, '/', '/999');
END IF;
END;
$$
DELIMITER ;
</code></pre>
<br />
You have to create it in MySQL with this command (you must know the MySQL root password):<br />
<br />
[fixed]<br />
mysql -u root -p asterisk &lt; trigger.sql<br />
[/fixed]<br />
<br />
The trigger will populate the channel field in the fop2buttons table with the extra device that Bria uses.<br />
<br />
Then you must alter autoconfig-buttons.sh, look for this query:<br />

<pre><code>mysql -EB -u $DBUSER $DBPASS -h $DBHOST $DBNAME -e \
    &quot;SET NAMES utf8; SELECT device AS channel,type,if(type&lt;&gt;'trunk',exten,'') AS extension,\
    label, mailbox, context, privacy,\`group\`,IF(type='trunk',IF(email&lt;&gt;'',concat('splitme-',email),''),email) as email, \
    channel as extrachannel, $FINAL_FIELDS FROM fop2buttons \
    WHERE exclude=0 \
    ORDER BY $ORDER&quot; | sed '/\*\*/d' | sed 's/: /=/g' | sed '/.*=$/d' | while read LINEA
</code></pre>
<br />
and replace it with this one instead:<br />

<pre><code>mysql -EB -u $DBUSER $DBPASS -h $DBHOST $DBNAME -e \
    &quot;SET NAMES utf8; SELECT IF(type='extension' AND channel&lt;&gt;'',channel,device) AS channel,type,if(type&lt;&gt;'trunk',exten,'') AS extension,\
    label, mailbox, context, privacy,\`group\`,IF(type='trunk',IF(email&lt;&gt;'',concat('splitme-',email),''),email) as email, \
    IF(type='extension' AND channel&lt;&gt;'',device,channel) as extrachannel, $FINAL_FIELDS FROM fop2buttons \
    WHERE exclude=0 \
    ORDER BY $ORDER&quot; | sed '/\*\*/d' | sed 's/: /=/g' | sed '/.*=$/d' | while read LINEA
</code></pre>
<br />
Finally log into the FOP2 Manager and select the Buttons tab, and then restart the FOP2 service.<br />
<br />
]]>
        </description>
    </item>
    <item>
        <title>Chrome extension 1.0.6 released</title>
        <link>https://forum.fop2.com/discussion/3718/chrome-extension-1-0-6-released</link>
        <pubDate>Thu, 21 Aug 2014 19:50:58 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3718@/discussions</guid>
        <description><![CDATA[I have just released an update to the popular Google Chrome extension for FOP2. This new version adds a context menu option to dial selected text. If the content parser fails to convert a number to click to dial, you can use text selection + right click to dial those numbers.<br />
<br />
<a href="/home/leaving?target=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Ffop2-extension%2Fnoeilkljmfafbfcdoieialchglebbcea" rel="nofollow">Check the details in the Chrome Web Store</a><br />
<br />
Enjoy!]]>
        </description>
    </item>
    <item>
        <title>FOP 2.28 Released</title>
        <link>https://forum.fop2.com/discussion/3707/fop-2-28-released</link>
        <pubDate>Thu, 07 Aug 2014 21:43:57 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3707@/discussions</guid>
        <description><![CDATA[[h]FOP2 Version 2.28 released![/h]<br />
<br />
Version 2.28 is out, now bundled with the new FOP2 Manager to administer FOP2 Users, Permissions, Buttons, etc. This Manager works with popular backend engines like FreePBX or Thirdlane, or even with vanilla Asterisk installations with some minor tweaking.<br />
<br />
You can get it from the download page.<br />
<br />
Here is the list of bug fixes / new features<br />
<br />
<b>Web UI / Client</b><br />
<br />
<br />
* fop2_manager: FOP2Manager released. Accessible via <a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fyour.server%2Ffop2%2Fadmin">http://your.server/fop2/admin</a><br />
* fop2_client: Improved Plugin interface<br />
* fop2_client: Compatibility with IE8 and older browsers<br />
* fop2_client: Do not destroy all php sessions on logout, only the FOP2 one<br />
* fop2_client: Fixes play/pause correct icons on voicemail explorer after open/closing window<br />
* fop2_client: Improved FOP2 buttons layout<br />
* fop2_client: Fixed some translations in German, Polish<br />
* fop2_client: Option to remove the &quot;Other&quot; option in FOP2 Presence (disablePresenceOther in presence.js)<br />
* fop2_client: Put asteriskcdrdb.cdr as config value CDRDBTABLE in config.php<br />
* fop2_client: Add set penalty feature to queue members, configured via presence.js<br />
* fop2_client: Add double click on line1/line2 to select text quickly for copy&amp;paste<br />
* fop2_client: Add close websocket command in client so server really closes socket on log out<br />
<br />
<br />
<b>Server / Scripts</b><br />
<br />
* fop2_server: Improved Plugins Interface<br />
* fop2_server: Use SHA1 instead of SHA for Protocol/Websocket<br />
* fop2_server: Do not send queries to undefined astman connections<br />
* fop2_server: Added pre command handler for logoff to plugins<br />
* fop2_server: Send plugin commands via AMI EV so we can parse the response<br />
* fop2_server: Allow queue members with device interface &quot;hint:something&quot;<br />
* fop2_server: Add get_btn_channel (based on extension) and get_btn_position (based on channel) to be used by plugins<br />
* fop2_server: URI Escape http sms send<br />
* fop2_server: Generate configs on hup when receiving a Reload from manager, not only a ChannelReload<br />
* fop2_server : Improve getvar interface for plugins<br />
<br />
<br />
scripts: Added autoconfig-users.sh and autoconfig-buttons.sh replacing the previous FreePBX based counterparts]]>
        </description>
    </item>
    <item>
        <title>FOP 2.26 Released</title>
        <link>https://forum.fop2.com/discussion/1248/fop-2-26-released</link>
        <pubDate>Wed, 21 Mar 2012 19:51:05 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">1248@/discussions</guid>
        <description><![CDATA[[h]FOP 2.26 Released[/h]<br />
<br />
Version 2.26 is (rushed) out!<br />
<br />
Because of the new Firefox 11 that now has websocket support enabled by default, with a handshake implementation that the old fop2 server did not recognize. So I have to rush out a little bit this new release.<br />
<br />
You can get it from the <a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownload.php" rel="nofollow">download</a> page.<br />
<br />
Here is the list of bug fixes / new features<br />
<br />
<b>Web UI / Client</b><br />
<br />
* fop2_client: Bugfix. Destroy php session on logout<br />
* fop2_client: New CDR module<br />
* fop2_client: Show conference count/participants in the button<br />
* fop2_client: Upgrade Styles for grid applications (voicemail, phonebook)<br />
* fop2_client: Update jcallback to include conference button sample<br />
* fop2_client: Faster effects when switching tabs in voicemail and apps<br />
* fop2_client: Bugfix. Transfer external button disabled when granular permissions are set.<br />
* fop2_client: Bugfix. Show whisper button when spy permission set.<br />
* fop2_client: Update language files to include new features (google translate, ugh!)<br />
* fop2_client: Add fop2 callbacks for external transfers<br />
* fop2_client: Support for eventwhencalled=vars in popups (get all channel variables on agent connect)<br />
<br />
<b>Server / Scripts</b><br />
<br />
* fop2_server: Fix websockets detection for Firefox 11<br />
* fop2_server: Do not send online alerts to unauthenticated clients<br />
* fop2_server: Accept mychan client parameter to set the logged in user channel (for hotdesk)<br />
* fop2_server: Do not blacklist localhost for auth request. Might fix lost sessions in php.<br />
* fop2_server: Show error an exit if there are no fop2.cfg files available.<br />
* fop2_server: Supports arrays in manager events (for eventwhencalled=vars)<br />
<br />
<br />
]]>
        </description>
    </item>
    <item>
        <title>FOP 2.25 Released</title>
        <link>https://forum.fop2.com/discussion/1223/fop-2-25-released</link>
        <pubDate>Tue, 06 Mar 2012 13:30:24 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">1223@/discussions</guid>
        <description><![CDATA[[h]FOP 2.25 Released[/h]<br />
<br />
You can get it from the <a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownload.php" rel="nofollow">download</a> page.<br />
<br />
Here is the list of bug fixes / new features<br />
<br />
<b>Web UI / Client</b><br />
<br />
*  fop2_client: Add conference toolbar button<br />
*  fop2admin: Fix sort name/number in fop2admin and version number in module.xml/*:m<br />
*  fop2_client: Do not crash javascript if disableWebSockets is not defined<br />
*  fop2_client: Reenable javascript debug for every command<br />
*  fop2_client: Change effect queue for autocomplete so it works when notification is showing<br />
*  fop2_client: Fix notification image when using panel context<br />
*  fop2_client: Set focus to dial text on link, so we can type a number and hit enter for transfer<br />
*  fop2_client: Clear click delegator for custom toolbar and set tooltips<br />
*  fop2_client: Fix warning on close for chosen select presence in IE9<br />
*  fop2_client: Adds support for passing queuechannel via get-window.name for hot desking call center setups<br />
*  fop2_client: Ensure that white label failed licenses do not show the fop2 brand but an agnostic message in the footer<br />
<br />
<b>Server / Scripts</b><br />
<br />
*  scripts: Add post recording script for Elastix 2.2 and probably FreePBX<br />
*  scripts: Updated fop2plugin to accect dashes on table and database names<br />
*  fop2_server: Improve fop2 reload/restart disconnection handling.  Do not ask for exten/pass if already logged when disconnected. Do a location refresh if the server is restarted and the config has changed<br />
*  scripts: Remove check for soxmix in recording_fop2.pl as it is already checked before and replaced with sox -m<br />
*  fop2_server: Add experimental drag transfers to fop2 server<br />
*  fop2_server: Add fop2context as variable to recording filename<br />
*  fop2_server: Change order in getting the active channel server on spy/whisper to avoid crash if undefined<br />
*  fop2_server: Simplify and fix destination channel to spy/whisper to, fixes user and device mode in freepbx<br />
*  php_scripts: More ereg to preg replaces<br />
*  php_scripts: Replace ereg to preg in php. Fix custombar javascript mods to operator.js<br />
*  php_scripts: Add full php tag to language files<br />
*  php_scripts: Accept master password in php client checkauth<br />
*  php_scripts: Add /var/spool/asterisk/monitor/fop2 as a valid download directory<br />
*  fop2admin: Remove closing div in fop2admin. Update to fop2admin 1.2.10<br />
*  fop2_server: Update the qchannel handling so a reload does not overwrite the setting received from the client<br />
*  fop2_server: Add manager_version and unpause extension button on queue remove<br />
*  fop2_server: Fix multi server spy/whisper and add extra debug lines<br />
*  fop2_server: Fix fop2astdb so it does not remove -session to allow peers with dashes<br />
*  scripts: Fix autoconfig buttons for freepbx without fop2admin adding context to the queue<br />
*  php_scripts: Fix setvar to allow setting context with no auth<br />
*  php_scripts: Fix context (set to uppercase) when checking auth from php<br />
*  fop2_server: Fix pickup active for user and device mode<br />
*  fop2_server: Initial support for confbridge Asterisk 10<br />
]]>
        </description>
    </item>
    <item>
        <title>FOP2 Awarded as best Elastix Addon</title>
        <link>https://forum.fop2.com/discussion/1222/fop2-awarded-as-best-elastix-addon</link>
        <pubDate>Thu, 01 Dec 2011 08:46:43 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">1222@/discussions</guid>
        <description><![CDATA[I am happy to announce that FOP2 was awarded as the best Elastix Addon in the last Elastixworld Mexico 2011.<br />
<br />
<a rel="nofollow" href="/home/leaving?target=http%3A%2F%2Fwww.elastixworld.com%2F2011%2Fen%2Fhighlights%2Fawards.html">http://www.elastixworld.com/2011/en/highlights/awards.html</a><br />
<br />
With the latest Elastix 2.2 you can install FOP2 right from the Elastix Web Interface, without touching the server command line.<br />
<br />
<img src="http://www.elastixworld.com/2011/images/stories/speakers-ew-fp%20b.png" alt="speakers-ew-fp%20b.png" /><br />
<br />
It's been a great year for Elastix and FOP2. Thanks Palosanto!]]>
        </description>
    </item>
    <item>
        <title>Make FOP2 snappier using AMI eventfilter</title>
        <link>https://forum.fop2.com/discussion/3722/make-fop2-snappier-using-ami-eventfilter</link>
        <pubDate>Fri, 19 Aug 2011 12:12:00 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3722@/discussions</guid>
        <description><![CDATA[The Asterisk Manager Interface (AMI) is great. Without it, FOP would not exists. But as everything in life, it also has its ups and downs.<br />
<br />
If you run a moderate loaded PBX with Asterisk, the Manager output could be quite high. Every priority for every extension in the dialplan generates an event, and in recent versions a lot of system information is being broadcasted too, like RTCP status, SIP registrations, etc.<br />
<br />
This massive amount of events will put load into fop2_server, with some events that are not needed nor important for it to work.<br />
<br />
Since Asterisk 1.8, a new feature was added to the manager interface, the ability to use event filters to baclklist or whitelist manager events. If you use Asterisk 1.8 together with FOP2 you might want to set that up, so, fire up your editor and add the eventfilter lines to your manager.conf file:<br />

<pre><code>[fop2]
secret = supersecret
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = all
write = all
writetimeout = 1000
eventfilter=!Event: RTCPSent
eventfilter=!Event: RTCPReceived
eventfilter=!Event: VarSet
eventfilter=!Event: Cdr
eventfilter=!Event: ExtensionStatus
eventfilter=!Event: ChannelUpdate
</code></pre>
<br />
The eventfilter will blacklist every event that is prefixed with ! and allow/whitelist everything else.<br />
<br />
By the way, we can also add the writetimeout directive to avoid fop2 server from being disconnected when Asterisk gets mad.]]>
        </description>
    </item>
    <item>
        <title>FOP2 Phonebook as CLID Lookup Source in FreePBX</title>
        <link>https://forum.fop2.com/discussion/3724/fop2-phonebook-as-clid-lookup-source-in-freepbx</link>
        <pubDate>Tue, 02 Aug 2011 12:20:10 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">3724@/discussions</guid>
        <description><![CDATA[[h]FOP2 Phonebook as CLID Lookup Source in FreePBX[/h]<br />
<br />
FOP2 has a nifty feature: when you receive a call, it searches the callerid with records in your phonebook, and if found, it shows you the contact name in the call notification window. This article describes how to set the same information but on the callerid name itself, so the contact name will be shown also in your phone display.<br />
<br />
[h]Background[/h]<br />
<br />
FOP2 includes a phonebook. It is not an essential feature, but a handy addon that lets you store name, company, picture and phone numbers of your contacts, mark records as public/private, etc.<br />
<br />
It is used for click to dial (or realtime search to dial when using the fop2 dial box), and also for populating information into the incoming call notification popup that you get when your are logged into FOP2 and your phone is ringing: if the callerid number is found in the phonebook, it will retrieve the contact name, company and picture to make the popup more meaningful.<br />
<br />
The drawback is that the notification popup is displayed only if you are logged into FOP2.<br />
<br />
Fortunately, FreePBX has a nice feature that can be used to set the callerid name for inbound trunk calls inside the Asterisk dialplan, so if we have a match, the name will be displayed in the phone display, and it will also be stored on the CDR records. And best of all, you do not need to be logged into FOP2 to have that information appended in the call.<br />
<br />
[h]Requisites[/h]<br />
<br />
First of all, you must have a FreePBX based Asterisk installation, FOP2 installed and the visual phonebook configured and working.<br />
<br />
Since FOP 2.21, the visual phonebook table will be created automatically in a FreePBX based system, using the same database where FreePBX stores its configuration tables (normally named 'asterisk').<br />
<br />
In previous FOP2 versions you must create a database, the table, and have the proper MySQL credentials in order to use the phonebook. Instructions on how to setup the phonebook database for FOP 2.20 are found here. You must know the MySQL credentials in order to set this up. Without this information, you will have issues.<br />
<br />
The information needed in order to set this is the mysql host, database name, user and password.<br />
How to find out the correct mysql data<br />
<br />
[h]FOP 2.20 or prior:[/h]<br />
<br />
If your phonebook is working, you have all that information already setup in the file /usr/local/fop2/fop2.cfg, so open the file up and take note on those values, as you will need them for setting up the FreePBX lookup source. The host is usually &quot;localhost&quot;, and the suggested database name is &quot;fop2&quot;. The user and password can be read in your fop2.cfg file, stored in the $DBUSER and $DBPASS variables.<br />
<br />
[fixed]MySQL Host: localhost<br />
MySQL database name: fop2<br />
MySQL User: -value from $DBUSER-<br />
MySQL Password: -value from $DBPASS-<br />
[/fixed]<br />
<br />
[h]FOP 2.21 or up:[/h]<br />
<br />
Since FOP 2.21 , the database is the same one that FreePBX uses, as setup in /etc/amportal.conf. It is generally named &quot;asterisk&quot;. The mysql user and password are also set in /etc/amportal.conf, saved as AMPDBUSER and AMPDBPASS, you can find all those values with the command:<br />
<br />
[fixed]#&gt;grep ^AMPDB /etc/amportal.conf[/fixed]<br />
<br />
<b>Setting up the Callerid Lookup Source</b><br />
<br />
Log into your FreePBX web admin, and select CallerID Lookup Source from the Setup menu.<br />
<br />
Add a source with name &quot;Fop2&quot;, Source Type &quot;MySQL&quot; and optionally check the &quot;Cache results&quot; checkbox.<br />
<br />
Then, in the MySQL section complete the Host, Database, Username and Password with the data you collected before, and in the Query section put:<br />

<pre><code>SELECT CONCAT(firstname,' ',lastname) AS name FROM visual_phonebook WHERE phone1 LIKE CONCAT('%',SUBSTRING('[NUMBER]',-8)) OR phone2 LIKE CONCAT('%',SUBSTRING('[NUMBER]',-8)) ORDER BY LENGTH(CONCAT(phone1,phone2)) LIMIT 1
</code></pre>
<br />
This query will try to match the last 8 digits of a phone number in the phonebook with the incoming callerid. If you want to match on fewer digits, or more, change the 8 to the number you want. Finally save it by clicking on the &quot;<i>Submit Changes</i>&quot; button.<br />
<br />
[h]Enabling the Callerid Lookup Source[/h]<br />
<br />
The last step is to enable the Callerid Lookup Source in your inbound routes. Go to &quot;Inbound Routes&quot; in FreePBX, edit one of your inbound routes, and select the newly created source in the &quot;CID Loockup Source&quot; section.<br />
<br />
That's it! Next time you get a call in that route, a lookup will be performed and if a match is found, the callerid name will be set to the name as set in FOP2 visual phonebook.<br />
<br />
Enjoy!]]>
        </description>
    </item>
    <item>
        <title>FOP 2.21 Beta</title>
        <link>https://forum.fop2.com/discussion/922/fop-2-21-beta</link>
        <pubDate>Sat, 11 Jun 2011 02:54:58 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">922@/discussions</guid>
        <description><![CDATA[I am about to the release the next version. If you want to test it out, you can download it from here:<br />
<br />
<a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownloads%2Ffop2-2.21-beta-centos5-i386.tgz" rel="nofollow">Centos 5 - 32 bits</a><br />
<a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownloads%2Ffop2-2.21-beta-centos5-x86_64.tgz" rel="nofollow">Centos 5 - 64 bits</a><br />
<a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownloads%2Ffop2-2.21-beta-debian-i386.tgz" rel="nofollow">Debian - 32 bits</a><br />
<a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownloads%2Ffop2-2.21-beta-debian-x86_64.tgz" rel="nofollow">Debian - 64 bits</a><br />
<a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com%2Fdownloads%2Ffop2admin-1.2.6.tgz" rel="nofollow">Fop2admin FreePBX Module 1.2.6</a><br />
<br />
It includes several bug fixes and new features, among others:<br />

<ul>
<li>Added new languages: swedish, russian, polish[/*:m]</li>
<li>Fix Logout when passing context, user and password via URL[/*:m]</li>
<li>Fixes for IE9 to avoid warnings on close when clicking on links[/*:m]</li>
<li>Display full caller id on mouse over as tooltip[/*:m]</li>
<li>New fop2recording.pl script and browse recording interface.[/*:m]</li>
<li>Improved permission system, ability to create custom permissions and limit actions to certain groups[/*:m]</li>
<li>New queue restriction setup, to limit which extensions can be added to which queues[/*:m]</li>
<li>Extended queuechannel directive, to allow passing different penalties for different queues[/*:m]</li>
<li>Fixed bug on client not refreshing if socket order was altered and AMI connection was made after the client[/*:m]</li>
<li>Added jcallback.js to allow custom javascript mods[/*:m]</li>
<li>Add notifybroadcast command to fire popups/notifications to all connected clients[/*:m]</li>
<li>Set fixed height to phonebook-application modalbox[/*:m]</li>
<li>Add CLIDNUM and CLIDNAME variables to monitor_filename[/*:m]</li>
<li>Use full php tags on donwload.php and php4 libraries[/*:m]</li>
<li>Let queuechannel have spaces so you can use full names as queuemember[/*:m]</li>
<li>Fix index_only_extensions.html so it actually works[/*:m]</li>
<li>Changes on phonebook container to allow displaying the recording interface if enabled[/*:m]</li>
<li>Added iax as a valid protocol for the dial box[/*:m]</li>
<li>Added IP address to login-logout audit log[/*:m]</li>
<li>Fix ghost park calls on failed attendant transfers to park slots[/*:m]</li>
<li>Fix voicemailcount when leaving voicemail is aborted[/*:m]</li>
<li>Pause members only on queue when called from queue button, or globally when called from extension[/*:m]</li>
<li>Respect case on url get parameters for mixed case passwords[/*:m]</li>
<li>Take VMPREFIX from freepbx globals table for autoconfig-buttons instead of using the default[/*:m]</li>
<li>Fix crash when non using upper case on channel name when adding queue members[/*:m]</li>
<li>Fix dial action for user &amp; device mode[/*:m]</li>
<li>Fix on sorting queue members by penalty[/*:m]</li>
<li>Added QueueMemberStatus support to set valid/invalid upon sip registration/unregistration, requires to set eventmemberstatus=yes in the asterisk queue config[/*:m]</li>
<li>Fix spy/listen actions for multi server setups, requires to set originatechannel to be Local/NNNN@YYYYY[/*:m]</li>
<li>Added online-offline notifications in chat windows (so you know if a user is only or not)[/*:m]</li>
<li>Added download option for voicemail and recording interfaces.[/*:m]</li>
<li>Added parking lot timers[/*:m]</li>
<li>Prevent fop2 server exit when attempting to register with a used code from web gui[/*:m]</li>
<li>Fix originatechannel on pickup  ringing[/*:m]</li>
<li>Added LSB info to debian init script[/*:m]</li>
<li>Sort results in popup by clid lenght to prevent popups on partial matched on internal calls[/*:m]</li>
<li>Added generate_override_context.pl to easily create the proper freepbx context modifications[/*:m]</li>
<li>Updated fop2admin to setup custom permissions and templates[/*:m][/list:u]<br />
<br />
Enjoy!</li>
</ul>
]]>
        </description>
    </item>
    <item>
        <title>FOP 2.20 released</title>
        <link>https://forum.fop2.com/discussion/680/fop-2-20-released</link>
        <pubDate>Thu, 25 Nov 2010 14:19:54 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">680@/discussions</guid>
        <description><![CDATA[[h]FOP 2.20 released[/h]<br />
<br />
I am happy to announce the release of FOP 2.20. It has several small features and some big ones.<br />
<br />
<b>Web UI</b>
<ul>
<li>IM chat (instant messaging), can also work as a mini note system</li>
<li>Voicemail Explorer, you can browse your voicemail, move it between folders, remove them or listen to them (requires fop2_server and a php proxy (included) to have access to the voicemail folder)</li>
<li>White Label License does not enforce footer or page title.</li>
<li>Sound notifications, new queued call, extension ring and chat sounds</li>
<li>Preferences Window</li>
<li>Logout Button</li>
<li>IAX peer status &amp; IP</li>
<li>Warning on close (configurable)</li>
<li>New Queue Display Type (summary for condensed view, or detailed for the agent/waiting calls view)</li>
<li>Desktop notifications for Fluid (on OSX), Prism (for Firefox) or Google Chrome</li>
<li>Meetme Talk Detection Visual Indicator</li>
<li>New toolbar action: Transfer to External Numbers / Mobile</li>
<li>Dynamic Line display (it hides inactive lines in buttons)</li>
</ul>
<br />
<b>General</b>
<ul>
<li>Detects button addition or removals on server reloads, and refresh the web client to update the display, avoiding showing incorrect status because of button number drift.</li>
<li>More resilient on status and transfers when using Local type channels and queuemembers</li>
<li>Fixes initial queue status when using alpha characters on the queuename</li>
<li>Attempt to use HTML5 web sockets when supported</li>
<li>License file (fop2.lic) is now searched  in the same directory as fop2_server, it does not follow the -c confdir anymore so you can have hot standby clusters working with the same configuration directory, but each node with its own license</li>
<li>Astdbcust option in buttons, to track custom ASTDB entries, show call forward status in FreePBX by default</li>
<li>New License commands: revoke &amp; reactivate</li>
<li>Support for #include in fop2.cfg</li>
<li>Add &quot;external&quot; in buttoons.cfg to setup external numbers to transfer to</li>
<li>Added support for enumeration in the &quot;channel&quot; directive on the button configuration Example: channel=DAHDI/1&amp;DAHDI/2</li>
<li>Some global options from preferences.js can be set individually on the preference pane for each user, like notifyduration or language.</li>
</ul>
<br />
<b>Call Pickup</b>
<ul>
<li>Fixes that prevent picking up same extension channels on multi tenant setups</li>
<li>Option to avoid using PICKUPMARK (no_pickupmark), also useful on some multi tenant scenarios</li>
</ul>
<br />
<b>Popups</b>
<ul>
<li>checkdir.php improvements, you can still run your own popup function and also display notifications</li>
<li>notify type can be checked so you can discern between notifications on ringing or agentconnect</li>
<li>notifications on ringing include callerid number, callerid name, queue and extension</li>
<li>notifications on connect also include call uniqueid</li>
</ul>
<br />
<b>Parking</b>
<ul>
<li>Fixes disappearing parked calls when doing native sip transfers to the park extension.</li>
</ul>
<br />
<b>Meetme</b>
<ul>
<li>Visual indication when someone is talking in a meetme conference (meetme option T, or talk detection in FreePBX)</li>
</ul>
<br />
<br />
<b>Call Recording</b>
<ul>
<li>Added monitor_exec to fop2.cfg so you can execute a script after a recording is finished</li>
<li>When starting and stopping recording several times on the same call, it appends all sections instead<br />
of keeping only the last recording.</li>
<li>Included sample tovoicemail.pl script to move recordings to voicemail when finished for easy retrieval<br />
via handset or fop2 voicemail explorer.</li>
</ul>
<br />
<b>Internationalization</b>
<ul>
<li>Language is now configured only on the client side (js/preferences.js)</li>
<li>op_lang_xx.cfg on the server is deprecated and not used anymore</li>
</ul>
<br />
<b>User Permissions</b>
<ul>
<li>Added <i>recordself</i> permission, to allow start/stop recording only on your extension</li>
<li>Added <i>hangupself</i> permission, to allow hangup only your own extension</li>
<li>Added <i>preferences</i> permission, to allow a user open personal preferences from the Web</li>
<li>Added <i>phonebook</i> permission, to allow a user to access the phonebook</li>
<li>Added <i>voicemailadmin</i> permission, to allow a user access all voicemail boxes</li>
<li>Added <i>chat</i> permission, to grant chat permissions to a user</li>
</ul>
<br />
<b>Agents / Queue Members</b>
<ul>
<li>Improved Agent/Agentlogin monitoring</li>
<li>notify_connect for popups when Agentconnect, it passes the call uniqueid</li>
<li>queuechannel now takes parameters for AddQueueMember (penalty, membername, etc)</li>
<li>Fixes some bugs when use_agentlogin is set (performs callbacklogin and agentlogout instead of addqueuemember)</li>
</ul>
<br />
<b>Listen and Whisper:</b>
<ul>
<li>spy_options in fop2.cfg, to add global options to pass to chanspy when performing the <i>Listen</i> action</li>
<li>whisper_options in fop2.cfg, too set the whisper option for chanspy, normally &quot;w&quot;, but on newer Asterisk versions you can set it to B to perform a call barge.</li>
<li>individual spy_options in buttons.cfg, they will override the general spy options for <i>Listen</i>, and will be appended on action <i>Whisper</i></li>
<li>Cannot start spy when there are no active calls</li>
<li>Spy ends when spied channel hangs up</li>
</ul>
<br />
<b>FreePBX Module</b>
<ul>
<li>Added CustomASTDB field in the button configuration</li>
<li>Added Spy Options field in the button configuration</li>
<li>Added New Permissions in the user configuration (chat, voicemail, preferences, hangupself, recordself)</li>
</ul>
<br />
<b>IM Chat and Voicemail explorer are not included in the standard license nor the free version. An additional license fee of $20 will be charged for each of these features.</b><br />
<br />
Here is a screenshot from the voicemail explorer interface:<br />
<br />
<img src="http://www.fop2.com/img/voicemailExplorer.png" alt="voicemailExplorer.png" /><br />
<br />
You can listen to voicemail directly from your browser (no need to download the file, it is streamed transparently). You can also drag voicemail to folders or to the trash can.<br />
<br />
And here the IM Chat:<br />
<br />
<img src="http://www.fop2.com/img/imchat2.png" alt="imchat2.png" /><br />
<br />
Similar to other web based chat interfaces, it floats on the lower right, lets you chat with other users. It detects numbers and adds a link for click to call, or urls for browsing on new tabs. You can have several chat windows opened, minimeze or restore them, etc. If the user you intend to chat is not logged, you will save what you type as a note that will be popped up to the user when he logs back in to fop2.]]>
        </description>
    </item>
    <item>
        <title>FOP 2.10 Released!</title>
        <link>https://forum.fop2.com/discussion/384/fop-2-10-released</link>
        <pubDate>Mon, 29 Mar 2010 22:13:17 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">384@/discussions</guid>
        <description><![CDATA[After some heavy work I have just released FOP 2.10. It has several bug fixes and new features like:<br />
<br />
[list:3q09ugxi]<br />
[*:3q09ugxi]Freepbx user&amp;device mode support[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Call Parking[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Detailed trunk display[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Call Pickup from Queues, Trunks and Park[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Improved phonebook (import, private records, isolated contexts)[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Improved Agentlogin support[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Queue Handling (add, remove, pause members)[/*:m:3q09ugxi]<br />
[*:3q09ugxi]FreePBX DND and FOP2 Presence integration[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Perl Callbacks support for hacking your own functions[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Dial box handles more than 10 matches[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Extension Groups in Display[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Button Groups for users[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Transfer to external numbers[/*:m:3q09ugxi]<br />
[*:3q09ugxi]Invite external numbers to conference[/*:m:3q09ugxi]<br />
[*:3q09ugxi]FreePBX module to manage users, permissions, groups and more[/*:m:3q09ugxi][/list:u:3q09ugxi]<br />
<br />
There are more features that I am forgetting, I will try to update the post and document everything in the next few days.<br />
<br />
Enjoy!]]>
        </description>
    </item>
    <item>
        <title>Digium Innovation Awards Winners!</title>
        <link>https://forum.fop2.com/discussion/152/digium-innovation-awards-winners</link>
        <pubDate>Fri, 16 Oct 2009 05:57:01 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">152@/discussions</guid>
        <description><![CDATA[[h]Digium Innovation Awards Winners![/h]<br />
<br />
I am glad to announce that we have been awarded with a Digium Innovation Award, more precisely the &quot;Community Achievement Award&quot; for the Flash Operator Panel.<br />
<br />
Here is an excerpt from Digium's announcement:<br />

<blockquote>

<div>Community Achievement Award<br />
<br />
House Internet developed FOP, the first real-time switchboard for Asterisk, in 2004, and it remains the most widely used operator console. FOP is currently one of the tools that companies and integrators installing Asterisk use to highlight and visually demonstrate the potential of Asterisk as a VoIP platform. Many individuals involved in Asterisk are able to benefit from the solution, from developers and integrators to phone users. <a href="/home/leaving?target=http%3A%2F%2Fwww.fop2.com" rel="nofollow">http://www.fop2.com</a></div>
</blockquote>
<br />
And here a picture of this year award winners at Astricon with Mark Spencer:<br />
<br />
<img src="http://www.fop2.com/img/digium-award.jpg" alt="digium-award.jpg" /><br />
<br />
We want to share this honor with the community and each one of our customers for your help and support.]]>
        </description>
    </item>
    <item>
        <title>FOP 2 Released</title>
        <link>https://forum.fop2.com/discussion/2/fop-2-released</link>
        <pubDate>Thu, 25 Jun 2009 18:08:17 +0000</pubDate>
        <category>Blog</category>
        <dc:creator>nicolas</dc:creator>
        <guid isPermaLink="false">2@/discussions</guid>
        <description><![CDATA[After several months of work and testing I finished with the next generation FOP.<br />
<br />
It is an almost a complete rewrite of the original, using the same underlying technologies ( AMI proxy, Flash xmlsockets ), but with a dhtml/javascript frontend.<br />
<br />
Although the underlying technologies are the same, the focus has changed. FOP2 is now <b>user oriented</b>. In order to use it you have to login with your extension number and a password. For this reason, you can perform transfers or originate calls only from your phone (and not others). For the very same reason you can perform those actions  using clicks of the mouse instead of using drag and drop, as the origin of the actions will be always the extension you are logged in as. That will make it easier to use with touch screens.<br />
<br />
I am in the process of making packages for different distributions and platforms. There might be minor changes on the packages in the very first weeks,  mostly on the installation procedures and documentation files, and probably minor bug fixes.<br />
<br />
The main reason and motivation behind FOP 2 was that the original FOP started small and grew in features not in an <i>ordered</i> way, driven by community requests and demands. So it ended up being a mammoth that was in need of a heavy rewrite.<br />
<br />
I have taken what I consider the most important factors and features for a switchboard based on feedback and the experience I gained over the years, and started to code with a clear idea of the features for the final product. The result is a proxy daemon that is much more optimized and solid that uses a lot less cpu than FOP1. The drawback is that FOP 2 has currently less features than FOP 1 (mainly less button types, for example there is no support for regexp buttons anymore).<br />
<br />
After much though, I also decided to not release this version as open source. You can use it for free up to 15 buttons per context, or you can buy a license to unlock the number of buttons. In this way I will be able to devote more time on improving it so it becomes simply the best switchboard. You might have notice that FOP1 was not updated in a long time, and it was because I had to work on paid support and custom works, relegating FOP development. My hope is that with this scheme (free for small setups, small price for full potential) I will be able to focus again on development.<br />
<br />
Lastly, FOP 1 is not dead and it is still open source. I will make compatibility and bug fixes releases for it.<br />
<br />
Hope you enjoy the software as much as I did developing it.<br />
<br />
--<br />
Nicolás]]>
        </description>
    </item>
   </channel>
</rss>
