[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