[asterisk-gui] new Queue/agent code
Christian Jacobsen
cj at tecnoera.com
Fri Feb 18 09:33:48 CST 2011
I was working with queues in 1.8 and this is mi patch to make callback
login and logout works
I have to post it to be fixed, but there are no enough hour in the day ;)
Index: config/js/queues.js
===================================================================
--- config/js/queues.js (revision 5148)
+++ config/js/queues.js (working copy)
@@ -79,7 +79,7 @@
_$('login_exten').value =
ASTGUI.parseContextLine.getExten(m[l]['configLine']) ;
continue;
}
- if(
m[l]['configLine'].contains(',1,Goto(queue-member-manager,
handle_member, 1)') ){
+ if(
m[l]['configLine'].contains(',1,Goto(queue-member-manager,handle_member,1)')
){
loginsettings.agentCallbackLogin_line = m[l]['configLine'];
_$('login_callback_exten').value =
ASTGUI.parseContextLine.getExten(m[l]['configLine']);
continue;
@@ -405,9 +405,9 @@
delete parent.sessionData.pbxinfo.queues[OLD_EXT] ;
}
if(lce){
- u.new_action('append', ASTGUI.contexts.QUEUES , 'exten', lce +
',1,Goto(queue-member-manager, handle_member, 1)');
+ u.new_action('append', ASTGUI.contexts.QUEUES , 'exten', lce +
',1,Goto(queue-member-manager,handle_member,1)');
parent.sessionData.pbxinfo.queues[lce] = new ASTGUI.customObject;
- parent.sessionData.pbxinfo.queues[lce]['configLine'] = lce +
',1,Goto(queue-member-manager, handle_member, 1)' ;
+ parent.sessionData.pbxinfo.queues[lce]['configLine'] = lce +
',1,Goto(queue-member-manager,handle_member,1)' ;
}
u.callActions();
Index: config/js/pbx2.js
===================================================================
--- config/js/pbx2.js (revision 5148)
+++ config/js/pbx2.js (working copy)
@@ -704,7 +704,7 @@
'queue-member-manager' : [
'handle_member,1,Verbose(2, Looping through queues to log
in or out queue members)',
'handle_member,n,Set(thisActiveMember=${CHANNEL(channeltype)}/${CHANNEL(peername)})',
- 'handle_member,n,Set(queue_field=1)',
+ 'handle_member,n,Set(queue_field=2)',
'handle_member,n,Set(thisQueueXtn=${CUT(QUEUES,\\,,${queue_field})})',
'handle_member,n,While($[${EXISTS(${thisQueueXtn})}])',
'handle_member,n,Macro(member-loginlogout)',
@@ -716,7 +716,6 @@
's,1,Verbose(2, Logging queue member in or out of the
request queue)',
's,n,Set(thisQueue=${thisQueueXtn})',
's,n,Set(queueMembers=${QUEUE_MEMBER_LIST(${thisQueue})})',
- 's,n,MacroIf("${queueMembers}" = ""]?q_login)',
's,n,Set(field=1)',
's,n,Set(logged_in=0)',
's,n,Set(thisQueueMember=${CUT(queueMembers,\\,,${field})})',
@@ -739,7 +738,7 @@
's,1,Verbose(2, Logged ${thisActiveMember} out of
${thisQueue} queue)',
's,n,RemoveQueueMember(${thisQueue},${thisActiveMember})',
's,n,Playback(silence/1)',
- 's,n,ExecIf($["${AQMSTATUS}" =
"REMOVED"]?Playback(agent-loggedoff):Playback(an-error-has-occurred))'
+ 's,n,ExecIf($["${RQMSTATUS}" =
"REMOVED"]?Playback(agent-loggedoff):Playback(an-error-has-occurred))'
]
};
var sip_changes = {
On 02/17/2011 12:26 PM, Ron Byer wrote:
> Greetings,
>
> I recently downloaded the latest version of the gui, revision # of
> about 5154 or so. Previously I had been working with something dating
> around 5104 or so (ancient, I know).
>
> I was looking at the new queue login/out logic using AddQueueMember
> etc to get around the disappearance of AgentCallBackLogin post *1.4
>
> My question is whether this is intended to work with * 1.4. I've had a
> lot of trouble even getting off the ground with this with *1.4
>
> For instance, I had to change
> "Goto(queue-member-manager,handle_member,1)" to
> "Goto(queue-member-manager,s,1)", with the corresponding changes in
> queue-member-manager. *1.4 choked on the use of handle_member as the
> extension.
> also. ${CHANNEL(peername)} is not returning anything useful, as in:
>
> -- Goto (queue-member-manager,s,1)
> -- Executing [s at queue-member-manager:1]
> Verbose("SIP/9166-00000096", "2| Looping through queues to log in or
> out queue members") in new stack
> == Looping through queues to log in or out queue members
> -- Executing [s at queue-member-manager:2] NoOp("SIP/9166-00000096",
> "Channel peername is ") in new stack
> -- Executing [s at queue-member-manager:3] Set("SIP/9166-00000096",
> "thisActiveMember=SIP/") in new stack
> -- Executing [s at queue-member-manager:4] Set("SIP/9166-00000096",
> "queue_field=1") in new stack
> -- Executing [s at queue-member-manager:5] Set("SIP/9166-00000096",
> "thisQueueXtn=") in new stack
> -- Executing [s at queue-member-manager:6] While("SIP/9166-00000096",
> "0") in new stack
> -- Jumping to priority 10
> == Auto fallthrough, channel 'SIP/9166-00000096' status is 'UNKNOWN'
>
> changing ${CHANNEL(peername)} to SIPCHANINFO(peername)} works better,
> but that obviously defeats the purpose of being channel agnostic.
> And, I don't get any further in any event:
>
> -- Goto (queue-member-manager,s,1)
> -- Executing [s at queue-member-manager:1]
> Verbose("SIP/9166-00000097", "2| Looping through queues to log in or
> out queue members") in new stack
> == Looping through queues to log in or out queue members
> -- Executing [s at queue-member-manager:2] NoOp("SIP/9166-00000097",
> "Channel peername is 9166") in new stack
> -- Executing [s at queue-member-manager:3] Set("SIP/9166-00000097",
> "thisActiveMember=SIP/9166") in new stack
> -- Executing [s at queue-member-manager:4] Set("SIP/9166-00000097",
> "queue_field=1") in new stack
> -- Executing [s at queue-member-manager:5] Set("SIP/9166-00000097",
> "thisQueueXtn=") in new stack
> -- Executing [s at queue-member-manager:6] While("SIP/9166-00000097",
> "0") in new stack
> -- Jumping to priority 10
> == Auto fallthrough, channel 'SIP/9166-00000097' status is 'UNKNOWN'
>
>
> I haven't check the rev level of *1.4 recently, we are running 264334
> currently. I wouldn't have expected functional differences in
> revision levels in any event.
>
> (FYI, 9166 is configured as agents on 2 different queues)
>
> Any thoughts on this would be most appreciated. If the answer is "go
> to 1.8" I'm good with that... eventually.
>
> Ron
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-gui mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-gui
More information about the asterisk-gui
mailing list