Member
Last active 10 years ago
Having an issue with transfering to queues from FOP2.
Asterisk 11 on FreePBX Distro 5.211.65-15 with FOP2 2.28
Getting this in Asterisk log.
[2014-08-21 14:01:15] WARNING[22364][C-00000116]: pbx.c:6646 __ast_pbx_run: Channel 'Local/6001@from-queue-00000011;2' sent to invalid extension but no invalid handler: context,exten,priority=from-queue-exten-only,6001,1
This is FOP2 AMI command being executed.
127.0.0.1 -> Action: Redirect 127.0.0.1 -> Channel: SIP/5004-000000c2 127.0.0.1 -> Exten: 6001 127.0.0.1 -> Context: from-queue 127.0.0.1 -> Priority: 1 127.0.0.1 -> Async: True 127.0.0.1 <- Response: Success 127.0.0.1 <- Message: Redirect successful
I followed the trail and the "from-queue" context is for the queue to originate a call to an extension, not for putting a call into the queue. I updated the database table fop2buttons and set context for the queue buttons to "ext-queues" and the transfer works as expected.
Just wanted to put this out there so it could possibly be fixed or so that others could fix this if they have the same problem.
Just in case others are looking. I'm using an Xorcom Astribank w/ 2 PRI channels and 8 FXO / 8 FXS. My two configured trunks are the PRI channels.
In the new FOP2 manager, under button config, trunks, I had to input info in the "Extra Channel" field to get the DAHDI channels to show.
It was detected by FOP2 as DAHDI/g1 and DAHDI/g2. In Extra Channel I added "DAHDI/i1" and "DAHDI/i2" respectively and it now works.
I use mysql workbench. I updated those that already had something in extenvoicemail with this command it it works now.
update asterisk.fop2buttons set extenvoicemail = concat('*96',exten,'\@from-internal') where extenvoicemail <> '';
ah, thank you. I will use database access to update that field for all current buttons that have voicemail then let it create new ones going forward properly. I have assigned groups to buttons and don't want to have to recreate that.
Patched functions-freepbx.php but this does not seem to have an affect. I have reloaded FOP2 service, and done synchronize labels and reload asterisk in FOP2 Manager. I again launched fop2_server with debug and still receive the no context error.
Is there something I need to do to get this to reload?
Through fop2manager. Since it was bundled with 2.28 and this is a fresh install of 2.28, I never added the FreePBX module.
They were brought in from FreePBX automatically. Only thing I have done to buttons was to add Groups to separate departments in the panel.
I am running FreePBX Distro with all updates version 5.211.65-15.
I did change Direct Dial Voice-mail to *96 since it conflicted with other feature codes. (Dialing *52XX would change call waiting for XX and not send to voice-mail for 52XX).
When I attempt Transfer to Voicemail I don't get any response from the phone. Watching FOP2 server debug I get this error.
Use of uninitialized value in concatenation (.) or string at script/fop2_server.pl line 3919. Use of uninitialized value in concatenation (.) or string at script/fop2_server.pl line 3926. 127.0.0.1 -> Action: Redirect 127.0.0.1 -> Channel: SIP/flowroute-00000033 127.0.0.1 -> Exten: *965004 127.0.0.1 -> Context: 127.0.0.1 -> Priority: 1 127.0.0.1 -> Async: True 127.0.0.1 <- Response: Error 127.0.0.1 <- Message: Context not specified
Well after finding that I could launch fop2_server in debug mode, I was able to watch some commands and look over existing plugins to come up with this... I could not get it to upload through web interface though so I just placed it in plugins folder.
This works with FreePBX generated hints for Ext/Queue toggle keys. (*45<exten>*<queue>). I make no guarantees outside of my setup :geek: I will share for others through, maybe can use as is, modify for your setup or use it for inspiration to take over the world.
All of these I placed a folder called queuehintfpbx inside of /var/www/html/fop2/admin/plugins then in the FOP2 Manager went to Plugins and enabled it. Not sure if necessary, but seemed so, I reloaded FOP2 service.
queuehintfpbx.pl
# file: queuehintfpbx.pl # For Queue Add $AMI_Event_Handler{'queuehintfpbx'}{'QUEUEMEMBERADDED'} = sub { my $event = shift; my @allreturn = (); my $return = ''; my $exten = ${$event}{'Location'}; my $queue = ${$event}{'Queue'}; $exten =~ s/[^0-9]//g; $return = "Action: Command\r\n"; $return .= "Command: devstate change Custom:QUEUE$exten*$queue INUSE\r\n"; $return .= "\r\n"; push @allreturn, $return; return @allreturn; }; #For Queue Remove $AMI_Event_Handler{'queuehintfpbx'}{'QUEUEMEMBERREMOVED'} = sub { my $event = shift; my @allreturn = (); my $return = ''; my $exten = ${$event}{'Location'}; my $queue = ${$event}{'Queue'}; $exten =~ s/[^0-9]//g; $return = "Action: Command\r\n"; $return .= "Command: devstate change Custom:QUEUE$exten*$queue NOT_INUSE\r\n"; $return .= "\r\n"; push @allreturn, $return; return @allreturn; };
queuehintfpbx.js
plugins['queuehintfpbx'] = (function() { return { loadLang: function(values) { }, setLang: function() { }, init: function() { } } }());
plugin.xml
<plugin> <rawname>queuehintfpbx</rawname> <name>Queue Hint Update Integration</name> <version>0.9.8</version> <description>Queue Add/Remove Hint Updates for Queues</description> <description-es_ES></description-es_ES> <engine>freepbx</engine> <changelog> *0.9.8* Initial Release </changelog> </plugin>
I have an empty queuehintfpbx.css file and an empty lang folder.
mkeuter could you share what you have?
I am interested in this to be used with FreePBX generated hints for the *45<ext>*<queue> toggle. Will confuse my users if we don't have the light change when they change queue state from FOP2.
Thanks
Joe