Member
Last active 9 years ago
Special Popup Application
I tried to put this in under a new conversation but I couldn't figure out how to put in a title.
Greetings All,
This my second purchase of your product. I purchased this for my demo the other night. I have a potential client that runs an Executive Office Suite. They have two receptionist that field calls for the different businesses that rent office space from them. I am proposing a FreePBX solution to them and I am exploring using FOP2. The client, however, has a request that could kill the deal for me. All in all it is a very reasonable request but I can’t find operator panel software that can do it.
They want a popup on ringing from their clients DID’s that contains a script for the receptionists to read so they answer calls correctly. Notice I said this is triggered by which DID is ringing and not incoming caller ID. Moreover they want their clients to be able to edit the scripts themselves from a user panel.
I have installed your program on my demo PBX and purchased the full license. I have experimented with the checkdir.php file but I couldn't make it send a popup from the ringing DID. What I did was make a Custom Application Extension 501 in FreePBX that is pointed to the Receptionist extension 150. I set the DID to 501 as a destination. I also set a UserEvent to occur when 501 is dialed. The popup worked but it was using information from the caller ID and not the DID. I did the log file thing and it showed me that the UserEvent made it to the manager interface. What I learned is that I really don't have a clue how to do this. I would like to know if you guys could build this for me and what it would cost? It certainly looks doable.
Thank you, Randy Buller Broward Telecom Solutions
Hello
I have FOP2.21 in Elastix 2.2 and FreePBX 2.7
It seems to work perfectly as long as I don't have Chrome up. This is not a problem but an ignorance issue. I recorded some conversations with my test setup but I can't figure out how to access the recordings from Elastix or FreePBX. I have searched and browsed the FOP Forum and the Elastix Forum as well as the FreePBX forum. I see where they are stored in Asterisk, but shouldn't they be accessible in the web GUI somewhere?
Randy Buller
Nicolas,
It does work. I found that it works only if Chrome is not being used for anything. I was told at the install that Chrome is the browser of choice for FOP2 and that is why I am using it. Apparently Chrome updated it self and now FOP2 will no longer work with it. I like your product but it seems that this is a weak point in the design in that browser upgrades that happen continuously will render it inoperable. I don't really care about Chrome one way or another, but the thought arises that the same thing could happen with Firefox and Internet Explorer. This will have to make for unhappy customers.
I have been scouring the forum for answers to my many questions This is a good resource and I have learned much. One of the things was about upgrading to the latest FOP2 in Elastix. I bring this up here because it seems that goes along with making Chrome work. As there is no rpm it appears to be a manual upgrade. I read your instructions. They seem simple enough but you have a warning about breaking some configs. I certainly don't want to mess my installation up as this is a demo that I use to test and demonstrate to potential clients, and I have invested paid support to make sure the install was done correctly.
I tried to download the upgrade file and it wouldn't download. Does the upgrade need to be purchased? Will my current license be applied? Your instructions require me to select the correct distro but the exact file name is not given on the download page. That is why I was trying to do the download to my computer.
I am not trying to give you a hard time because I realize that you are a one or two man operation and that it is hard to keep up with all the changes that are constantly happening with the dependent applications. I am one of the little guys too so I can relate. You are very responsive and I appreciate all your help.
All the best
Randy
Thanks for your reply, Nicolas, It says 2.21 beta. It was working with the version of Chrome that I have now. I am unaware chrome has upgraded it self. My version of Chrome is 14.0.835.202 m. It was also working fine with Firefox.
I am not quite sure how to upgrade FOP2 and, if I do, will it overwrite my data? I will try and figure out how to do the update.
You don't think that I have a problem with port 4445?
Thank You
Randy Buller
The service is running.
[root@elastixhost ~]# service fop2 status
fop2_server (pid 16851) is running..
The Java Web Console in Chrome gives me this error.
Invalid UTF-8 sequence in header value
ws close event 0
close event 0
on close reseteo a cero
intendo conectar web socket en ws://192.168.1.21.:4445
I ran this command that you suggested for another forum member and got the following result.
[root@elastixhost ~]# /usr/local/fop2/fop2_server -X 511
** COLLECT INCLUDES fop2.cfg , tipo server
** exec: archivo temporal de server: NEWFOPVJ0tSs
** COLLECT INCLUDES autobuttons.cfg , tipo GENERAL!buttons
** exec: archivo temporal de botones: NEWFOP6TRyZy
** COLLECT INCLUDES autobuttons.cfg , tipo GENERAL!buttons
** autobuttons.cfg already included
** READ SERVER calling collect_includes NEWFOP6TRyZy
** COLLECT INCLUDES NEWFOP6TRyZy , tipo GENERAL!buttons
** NEWFOP6TRyZy already included
Borro boton temporal /usr/local/fop2/NEWFOP6TRyZy
Can't listen to port 4445
If I stop FOP2 and run the command, it streams information.
Randy Buller
I am having the same problem. About 2 months ago I bought the full version and paid for the professional install. It was working fine until two days ago when I changed some extension names and added a few more. I used both the Elastix GUI and the FreePBX GUI. Now when I try to log in it times out. The version says 2.21 beta. The version doesn't appear in the Elastix about list. Show manager connections doesn't show it running. Below are the configs
Kernel
Linux(i386)-2.6.18-194.3.1.el5
Elastix
elastix-2.0.0-62
elastix-firstboot-2.0.0-14
elastix-email_admin-2.0.0-23
elastix-system-2.0.0-38
elastix-conferenceroom-0.0.0-10
elastix-asterisk-sounds-1.2.3-1
elastix-vtigercrm-5.1.0-8
elastix-agenda-2.0.0-24
elastix-fax-2.0.0-18
elastix-reports-2.0.0-20
elastix-developer-2.0.0-4
elastix-sugarcrm-addon-5.2.0l-5
elastix-a2billing-1.3.0-4
elastix-addons-2.0.0-19
elastix-pbx-2.0.0-40
elastix-callcenter-2.0.0-14
RounCubeMail
RoundCubeMail-0.3.1-5
Mail
postfix-2.3.3-2.1.el5_2
cyrus-imapd-2.3.7-7.el5_4.3
IM
openfire-3.5.1-2
FreePBX
freePBX-2.7.0-9
Asterisk
asterisk-1.6.2.13-0
asterisk-perl-0.10-2
asterisk-addons-1.6.2.1-0
FAX
hylafax-4.3.9-0rhel5
iaxmodem-1.2.0-1.1
DRIVERS
dahdi-2.3.0.1-3
rhino-0.99.3-2.beta2
wanpipe-util-3.5.14-0
Username IP Address Start Elapsed FileDes HttpCnt Read Write
admin 127.0.0.1 1318966167 0 27 0 08191 08191
admin 127.0.0.1 1318966014 153 26 0 08191 08191
admin 127.0.0.1 1318966004 163 12 0 08191 08191
3 users connected.
[root@elastixhost ~]# tcp 0 0 0.0.0.0:4445 0.0.0.0:* LISTEN 2903/fop2_server
[root@elastixhost ~]# /usr/local/fop2/fop2_server --test/usr/local/fop2/fop2_server --test
Unknown option: test/usr/local/fop2/fop2_server
Flash Operator Panel 2 - Valid License (7)
Connection to manager OK!
Asterisk manager.conf
; AMI - Asterisk Manager interface
;
; FreePBX needs this to be enabled. Note that if you enable it on a different IP, you need
; to assure that this can't be reached from un-authorized hosts with the ACL settings (permit/deny).
; Also, remember to configure non-default port or IP-addresses in amportal.conf.
;
; The AMI connection is used both by the portal and the operator's panel in FreePBX.
;
; FreePBX assumes an AMI connection to localhost:5038 by default.
;
[general]
enabled = yes
port = 5038
bindaddr = 127.0.0.1
[admin]
secret = elastix456
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
#include manager_additional.conf
#include manager_custom.conf
[general]
; AMI definitions
manager_host=localhost
manager_port=5038
manager_user=admin
manager_secret=elastix456
;event_mask=agent,call,command,system,user,dialplan
; Daemon definitios
;listen_port = 4445
;restrict_host = www.asternic.org
;web_dir = /var/www/html/operator/fop2
; Global Config
poll_interval = 86400
poll_voicemail = 1
monitor_ipaddress = 0
; Force blind transfer on asterisk 1.6
;blind_transfer = 1
; Force supervised transfer on asterisk 1.4
; requires the atxfer manager backport patch
supervised_transfer = 1
; Force delimiter for asterisk applications
; force_parameter_delimiter = ","
; When adding or removing members to a queue, fop2 will default to
; AddQueueMember/RemoveQueueMember commands. If you set use_agentlogin
; to 1, together with the QueueChannel in a button definition set to
; an Agent number it will use AgentCallbackLogin and Agentlogoff instead.
;
; use_agentlogin = 0
; Master Password that overrides any individual one
;master_key = 5678
; Options to send to chan_spy when doing a Listen action
; This global setting is overriden by the individual button
; spyoptions directive if set (in the button config).
; Asterisk 1.6.1 or higher has the option "d" that lets you
; switch spying modes using the keypad:
;4 = spy mode
;5 = whisper mode
;6 = barge mode
spy_options="bq"
; Options to send to chan_spy when doing a Whisper action
; In Asterisk 1.6.1 or higher you can use B to enable barge (speak
; to both channels on a call).
whisper_options = "w"
; When you spy to an ongoing call, your spy session will end as
; soon as the conversation you are listening to finishes. If you
; rather keep the chan spy session open after the call end, uncomment
; the following line.
;persistent_spy=1
; Filename to use when start monitoring, you can use ${UNIQUEID},
; ${ORIG_EXTENSION}, ${DEST_EXTENSION}
; and date formats %Y %m %d to construct the filename.
;
; Settings for modifying the recording filename
; Available variables are:
; ${UNIQUEID} = Unique Id of the call
; ${TIMESTAMP} = Unix Timestamp when the recording was initiated
; ${CLIDNUM} = Callerid or Dialed number for the active call
; ${CLIDNAME} = Callerid name for the active call
; ${DEST_EXTENSION} = Target extenstion being monitored
; ${ORIG_EXTENSION} = Extension/User that started the recording (not
; the other leg)
; ${MBOX} = Mailbox of the extension/user that startend the
; recording
;
; Date variables:
; %Y 4 digits year
; %y 2 digits year
; %m 2 digits month
; %d 2 digits day
; %h 2 digits hour
; %i 2 digits minute
; %s 2 digits seconds
; For elastix Monitoring Tab:
; monitor_filename=g${DEST_EXTENSION}-${UNIQUEID}
; For fop2 recording interface
monitor_filename=/var/spool/asterisk/monitor/${ORIG_EXTENSION}_${DEST_EXTENSION}_%h%i%s_${UNIQUEID}
monitor_format=wav
monitor_mix=true
;monitor_exec=/usr/local/fop2/recording_fop2.pl
; You can specify a script to be executed when the recording
; is finished. It will receive 3 parameters, the complete
; path and filename of the IN leg, the OUT leg and the final
; recording NAME. You should run soxmix in your script to join
; the recordings into one file.
;
; monitor_exec=/var/lib/asterisk/bin/postrecording-script.sh
; FOP2 can fire notifications/popups when an extension or queue
; member receives a call. The default behaviour is to show a
; notification on state RINGING (notify_on_ringing=1).
;
; To customize notifications, you must uncomment the custom_popup
; function in checkdir.php you can replace that notification with
; a custom popup function to integrate with other web applications.
;
; For call centers you might need to perform a popup not on the
; RINGING state but when the call is CONNECTED to an agent. If you
; set in the queue configuration in queues.conf the option
; eventwhencalled=yes and then set here notify_on_connect=1,
; fop2 will send notifications on queue connected calls
; during AGENTCONNECT events. This will only work for inbound calls
; from a queue.
;
; notify_on_ringing = 1
; notify_on_connect = 1
; Call pickup uses the pickupmark variable by default. In multi tenant
; systems this might lead to problems as you might end un picking up
; some other tenant call. In that case you might want to try to
; pickup the call by its context uncomenting the following line:
;
; no_pickupmark=1
; Path to your voicemail directory
; For voicemail to work the fop2 server must run on the same server
; as asterisk, or your voicemail directory must be network mounted
voicemail_path=/var/spool/asterisk/voicemail
; By default IM chats are not logged/saved. If you uncomment
; the following parameter, all chats will be stored on the chatlog
; table inside the fop2settings.db sqlite database.
;
; save_chat_log=1
; --- SAMPLE GROUPS ---
; group=queues:QUEUE/100,QUEUE/101
; group=deptA:SIP/100,SIP/101,SIP/102
; --- END SAMPLE ---
; --- SAMPLE USER LIST ---
; format: user= EXTENSION : SECRET : PERMISSIONS : GROUPS
; You can enumerate several permissions and groups separated by comma
; available permissions: 'all', 'dial', 'hangup', 'meetme', 'pickup',
; 'record', 'spy', 'transfer', 'whisper',
; 'queuemanager', 'queueagent', 'phonebook',
; 'chat', 'preferences', 'hangupself',
; 'recordself', 'voicemailadmin'
;
; user=620:1234:all:queues
; user=621:1234:dial,transfer,pickup:deptA
; user=622:1234:all
; user=623:1234:meetme,pickup
; buttonfile=buttons.cfg
; ------ END SAMPLE ------
; This line is NOT commented, it executes
; the autoconfig configuration for FreePBX
#exec autoconfig-users-freepbx.sh
I apologize for not knowing how to post things properly. I am new to posting things on a forum. Any ideas?
Randy Buller
Nicolas, you have a great product. You installed it for me this afternoon on my demo system. I have been playing around with the features. When it came to listening and whisper and recording I am having trouble understanding exactly how the permission scheme works. I am trying to set up a manager and agent where the manager can listen, whisper, and record the agents bun not the other way around. i tried different combinations of permissions but they all end up acting the same. For example, when I am logged in as a manager extension, whenever I click on an agent button that is on a call the listen, whisper, and record buttons are greyed out. They are not greyed out when I click on my own button. However when I log in as an agent extension, I only get the record button (which is what I want because I allowed them to record themselves) but when I click on the manager extension it is not greyed out. It is letting me record the manager as well as myself. It has to be the way I am setting permissions don't you think?
Randy