Auto Agent Login

  1. 13 years ago

    Hi Nicolas,

    Well, I have a feature in mind and I think it will be an advantage if you add to FOP2:

    If we can assign agents to queues from the admin module, where the administrator can assign the agent to one or multiple Queues, and also giving the feature of putting a penalty for each queue the agent will be assigned for. and this can be placed on fop2 buttons tab, or under FOP2 users tab or even it would be create if we add another tab under the name Manage agent & queues or Queue Mapping.

    Then after that, when the Agent/User login to FOP2 he will be added to the assigned queues with the selected penalty.

    I think if we have such feature in FOP2 it will give an added value for FOP2 and all users who used or will use FOP2.

    Good Luck.

  2. admin

    13 Oct 2011 Administrator

    You can do already do it by using some custom tweaks in FOP2Callsbacks.pm.

    We already do this kind of integration for users of Asternic Call Center Stats Pro, where you have a way to assign queues to agents, and fop2 will read that configuration to auto add users to queues upon login.

    This might help you out getting started on your own implementation:

    FOP2Callbacks.pm

    ...
        } elsif($command eq "auth") {
    
            my $exten = "";
            if($parameters[2] == 1) {
                $exten = $parameters[0];
            }
            $return = "Action: Originate\r\n";
            $return .= "Channel: Local/".$exten;
            $return .= "\@custom-fop2-autologin\r\n";
            $return .= "Application: Noop\r\n";
            $return .= "\r\n";
    
            push @allreturn, $return;
    
            return @allreturn;
    
    } elsif .....

    extensions_custom.conf

    [custom-fop2-autologin]
    exten => _X.,1,Verbose(Auto Login ${EXTEN})
    exten => _X.,n,Set(NAME=${DB(AMPUSER/${EXTEN}/cidname)})
    exten => _X.,n,Set(DEVI=${DB(DEVICE/${EXTEN}/dial)})
    exten => _X.,n,Gosub(custom-query-queues,${EXTEN},1)
    exten => _X.,n,Verbose(${AGENTQUEUES})
    exten => _X.,n,Set(i=1)
    exten => _X.,n,While($[${i}<=${FIELDQTY(AGENTQUEUES,\,)}])
    exten => _X.,n,Set(CURRENT_QUEUE=${CUT(AGENTQUEUES,\,,${i})})
    exten => _X.,n,Verbose(${CURRENT_QUEUE})
    exten => _X.,n,AddQueueMember(${CURRENT_QUEUE},Local/${EXTEN}@from-internal/n,,,${NAME},${DEVI})
    exten => _X.,n,Set(i=$[${i}+1])
    exten => _X.,n,EndWhile
    exten => _X.,n,Hangup

    The example is not complete but you might get the idea.

or Sign Up to reply!