Make FOP2 snappier using AMI eventfilter
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.
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.
This massive amount of events will put load into fop2_server, with some events that are not needed nor important for it to work.
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:
The eventfilter will blacklist every event that is prefixed with ! and allow/whitelist everything else.
By the way, we can also add the writetimeout directive to avoid fop2 server from being disconnected when Asterisk gets mad.
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.
This massive amount of events will put load into fop2_server, with some events that are not needed nor important for it to work.
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:
[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
The eventfilter will blacklist every event that is prefixed with ! and allow/whitelist everything else.
By the way, we can also add the writetimeout directive to avoid fop2 server from being disconnected when Asterisk gets mad.