[asterisk-gui] new Queue/agent code

Christian Jacobsen cj at tecnoera.com
Fri Feb 18 09:38:06 CST 2011


I already had sent it :P
Sorry for my memory problem

https://issues.asterisk.org/view.php?id=14459



On 02/18/2011 12:33 PM, Christian Jacobsen wrote:
> 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
>
> --
> _____________________________________________________________________
> -- 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