Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

FOP2 Community Forum

  1. Home
  2. Support
  3. FOP2 Full WallBoard Queue Block Active Calls Wrong

FOP2 Full WallBoard Queue Block Active Calls Wrong

Scheduled Pinned Locked Moved Support
2 Posts 1 Posters 279 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J
    J
    jerryriggin
    wrote on last edited by
    #1

    [h]FOP2 Full WallBoard Queue Block Active Calls Wrong[/h]

    So I have to say I love FOP2 and support is great when you can get it. I think they are overloaded. Nicholas helped on a lot of things but then got distracted before my Active Calls was accurate. However, I have found FOP2 so versatile it was pretty easy to make a work-around. I'm using FreePBX 13 with Asterisk 13. Here's what I did to get accurate Active Calls per queue. Note that I delete the Queue Block lines for Active Calls, and put the data in a Mini Web Browser control available in plugins.

    First, go to https://[myAsteriskBox]/fop2/admin and login, then click Plugins and scroll to Full Wallboard. (You have to buy this) then click Settings.

    Scroll down to Queue Boc Template and delete the following lines:

        <tr>
        <td class='qboxtd'>
          <div class="img-rounded">
              <span class='number'>{@filter type="mmss"}{@formula value="{TALKTIME}/({COMPLETED}+{ABANDONED})"/}{/filter}</span><br/>
              <span class='lxabel translate'>Avg Talk Time</span>
          </div>
        </td>
           <td class='qboxtd'>
               <span class='number'>{@filter type="mmss"}{@formula value="{WAITTIME}/({COMPLETED}+{ABANDONED})"/}{/filter}</span><br/>
             <span class='lxabel translate'>Avg Wait Time</span>
        </td>
      </tr>  
    

    Note that leaves a blank box it the widget. You can adjust other rows to compensate.

    Now you need to write a php agi and save it. Here,s the code:'

    require_once(Inludedb.pho);
    $Today = date("Y-m-d");
    //$Today = '2017-10-06';
    $qtime = $Today . ' 08:30:00';
    $qend = $Today . ' 19:00:00';
    
    $mysqli = new mysqli($dbip, $dbuser, $dbpass, $dbdb);
    $sql="select count(*) from cdr where dst='2032639754' and calldate > '$qtime' and calldate < '$qend';";
    $result = $mysqli->query($sql);
    $row = $result->fetch_array();
    $result->close();
    $tfr=$row[0];
    $mysqli->close();
    $queue_list=shell_exec("asterisk -rx 'queue show' | fgrep strategy | cut -c1-3");
    //$queue_list=shell_exec("asterisk -rx 'queue show' | sed -n '/strategy/{s/^\(.\{3\}\).*/\1/g;p}' 2>&1");
    $qarray=explode("\n",$queue_list);
    asort($qarray);
    $active_calls=array();
    $qname=array();
    $total_calls=0;
    $mysqli = new mysqli($dbip, $dbuser, $dbpass, 'asterisk');
    foreach($qarray as $queue) {
    	if ($queue <> 'def' && $queue <> "" && $queue <> 105) {
    		$query = "select descr from queues_config where extension=$queue;";
    		$result = $mysqli->query($query);
    		$row = $result->fetch_array(MYSQLI_ASSOC);
    		$qname[$queue]=$row["descr"];
    		$result->close();
    		$active_calls[$queue]=trim(shell_exec("asterisk -rx 'queue show $queue' | fgrep 'In use' | wc -l"));
    		$total_calls+=$active_calls[$queue];
    	}
    }
    ?>
    <body><center><table><tr><td style="font-family: Arial; font-size: 10pt;">Transfers Today</td></tr><tr><td style="font-family: Arial; text-align: center;font-size: 40pt;"><b><?php echo $tfr; ?></b></td></tr></table>
    <table><tr><td colspan=2 style="font-family: Arial; font-size: 15pt;"><b>ACTIVE CALLS</b></td></tr>
    <td style="font-family: Arial; font-size: 15pt;"><b>Queue</b></td><td style="font-family: Arial; font-size: 15pt;"><b>Calls</b></td></tr>
    <?php
    foreach ($active_calls as $q => $ct) {
    	$qnm=$qname[$q];
    	echo "<tr><td style='font-family: Arial; font-size: 12pt;'>$qnm</td><td style='font-family: Arial; font-size: 12pt;'>$ct</td></tr>";
    }
    ?>
    <td style="font-family: Arial; font-size: 15pt;"><b>Total</b></td><td style="font-family: Arial; font-size: 15pt;"><b><?php echo $total_calls; ?></b></td></tr>
    
    </table></body><html>
    

    Now that also puts in a block called transferred calls that my client wants. You can eliminate that if you just want queue active4 calls.
    YOU CSS jockies will see many improvements possible... Fell free to comment.

    Then, in the mini web browser settings, add the URL for the PHP page above (don't forget the MySQL database) and it should appear on any page you give mini web browser permission in groups or users.

    1 Reply Last reply
    0
    • J
      J
      jerryriggin
      wrote on last edited by
      #2

      I am so sorry - cut an pate error. (2 glasses of wine). Delete these lines from Queue Boc Template :

        <tr>
          <td class='qboxtd'>
            <div class="img-rounded">
                <span class='number'>{AGENTSSTAFFED}</span><br/>
                <span class='lxabel translate'>Agents Staffed</span>
            </div>
          </td>
             <td class='qboxtd'>
               <span class='number'>{ACTIVECALLS}</span><br>
               <span class='lxabel translate'>Active Calls</span>
          </td>
        </tr>
      

      I deleted another <TD> I didn't need and added Agents Staffed back in.

      1 Reply Last reply
      0

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      Powered by NodeBB Contributors
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups