#!/usr/local/bin/php connect($HOST, $USER, $PASS)) { exit(10); } $rp = 0; $sp = 0; $gsm = 0; $sip = 0; $calls = 0; $span1 = 0; $span2 = 0; $channels = 0; /* Read the number of inuse channels */ $rtrn = $asm->command("core show channels"); $data = array(); foreach(explode("\n", $rtrn['data']) as $line) { if (strstr($line, "active channel")) { $channels = intval($line); continue; } if (strstr($line, "active call")) { $calls = intval($line); continue; } $chan = strtok($line, "\t\n "); if ($chan == NULL) continue; if (strstr($chan, "IAX2")) { if (strstr($chan, "ad-sp")) $sp++; if (strstr($chan, "ad-rp")) $rp++; continue; } if (strstr($chan, "SIP")) { $sip++; continue; } if (strstr($chan, "DGV")) { list($channum) = sscanf($chan, "DGV/%d"); if ($channum >= 1 && $channum <= 30) $span1++; elseif ($channum >= 31 && $channum <= 60) $span2++; elseif ($channum >= 61 && $channum <= 64) $gsm++; continue; } } $asm->disconnect(); printf("calls:$calls"); printf(" channels:$channels"); printf(" sip:$sip"); printf(" adsp:$sp"); printf(" adrp:$rp"); printf(" span1:$span1"); printf(" span2:$span2"); printf(" gsm:$gsm"); ?>