Dynamic Agents

Hi all,

I just signed up to this forum, so I hope my topic is in the right place.

Now to get to the point; We want to have Asterisk running as our phoneserver, now we downloaded the Asterisk ISO, which comes along with asterBilling, FreePBX Administration, Voicemail & Recordings (ARI), Flash Operator Panel (FOP) and Asternic Call Center Stats.

Now our situation;
We have a small call center, that answers calls of customers to help them with their problems, etc. Besides that, we also have people that have their phones for internal calls, or maybe now and than have to talk to customers.

What we want is to have Dynamic Agents, so than where ever you are, you can log in to the phone and the AsterCRM. Now we have followed a tutorial, http://astercc.org/tips/2008/11/dynamic-agent-mode-with-asterisk-freepbx-and-astercrm.html, but we cant get it to work. Whenever we press *11 it says the telephone is not available, so we are not able to login. Another thing, which includes Dynamic Agents is; We have set up a queue, if someone calls us, the queue should pick a dynamic agent. (So, not adding the agents manual as static agents.)

Also, i’m not sure if this is the right way to create dynamic agents, since we have seen many different ways to create them. All of them with no success, so we are probably doing something wrong :blush: .

What we have now:
Couple of Extensions, just inserted names and numbers to it.
1 Queue
None IVR yet, but will be implemented shortly. (Just saying, if it makes any differents for Dynamic Agents.)

Versions:
Asterisk : 1.4.22-4
FreeBPX: 2.6.0.RC2.1

Thanks in advance!

Small bump

I came across something, Click

Is this a way to get the dynamic agents to work or am I on the wrong path now?

Best regards,
Grepla

I have had similar problems. What i was told is that there is 2 scenarios. device & users, or extensions.
One of the login is actually refering to “Hotdesking” which is a phone resides on a desk, a user sit’s down and log’s into that phone with his user agent #. He is now logged on to the queue he is part of.

The problem I had and still have, is that most of my agents are members of multiple queues, but AsteriskNow does not log them in to all the queues they are a member of. I don’t understand why and never did.

I have reverted to look at a commercial version like SwitchVox and Trixbox Pro Call center edition.

If your looking for the same, I would suggest looking at one of the 2 products I mentioned, which is approx 200$/seat.
Trixbox Pro is the Better looking of the 2 but the fact that the administration is dont from ther Datacenter (you need to login to ther portal in order to manage your in-house PBX’s via a VPN tunnel it creates between your server and ther data center) is a huge security issue with us and our business. So we are going back to SwitchVox and see if they can make it intergrate with our Microsoft UM which we use as a voice mail plateform.

FYI, we have 2 sites, which one is our Call Center with 120 ACD users and 60 normal users. the other site has about 100 users NON-ACD. Our total cost for the 2 commercially available products is approx 50,000$ not including the hardware for approx 300 users.

You basically need to manage a table by hand and loop through the rows. Use AddQueueMember to log them in
one by one. Initially you just need to put each agent/queue pair on separate rows; to log them out you use
RemoveQueueMember.


                &log("  ...Asking agent ID\n");
                $user = $AGI->get_data('mot-agent-enter-code', 6000, 6);
                &CleanEnd(0) if $user < 0;
                $pass = $AGI->get_data('mot-agent-enter-password', 6000, 6);
                &CleanEnd(0) if $pass < 0;

                &connect_db();
                &CleanEnd(1) if (!$dbh);

                $sth = $dbh->prepare("select * from users where username=$user and password=$pass");
                $sth->execute;

                if ($row = $sth->fetchrow_hashref) {

                        &connect_adb();
                        &CleanEnd(1) if (!$dbh);

                        $sth = $dbh->prepare("SELECT * FROM agents WHERE number=" . $dbh->quote($user));
                        $sth->execute;

                        while ($row = $sth->fetchrow_hashref) {

                                my $queue = $row->{'queuename'};
                                &log("Logging $user into queue: $queue\n");
                                $AGI->exec("AddQueueMember", "$queue||||$user");
                                my $status = $AGI->get_variable("AQMSTATUS");
                                &log("STATUS=$status\n");
                                $dbh->do("UPDATE agents SET paused=0,loggedin=1,interface=" . $dbh->quote($val1) . "  WHERE number=" . $dbh->quote($user));
                        }
                        $sth->finish;
                        $res = &sayprompt("mot-agent-registered");
                        &log("  ...Finished!\n");
                } else {
                        &log("  ...Invalid agent code!\n");
                }

mysql> describe agents; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | number | varchar(6) | YES | MUL | NULL | | | queuename | varchar(12) | YES | | NULL | | | interface | varchar(12) | YES | | NULL | | | paused | int(1) | YES | | NULL | | | loggedin | int(1) | NO | | 0 | | +-----------+-------------+------+-----+---------+-------+