$agi = new AGI(); $logger = new AGI_Logger($agi); $cdr = new AGI_CDR($agi); // Get Called Extension informations $called_ext = $agi->request['agi_extension']; $Extension_D = DB_Extension($called_ext); // Get Called Queue information $Queue = Database_Entry('Ext_Queues', $Extension_D['PK_Extension']); //CDR: Set called info $cdr->set_called("{$Queue['PK_Extension']}", "Queue", "{$Queue['Name']}", "{$Extension_D['Extension']}"); // Set values to pass to [Extension_Queue_RingQueue] $QUEUE_ARGS = "queue-{$Queue['PK_Extension']}"; if ($Queue['PlayMohInQueue'] == 0) { $QUEUE_ARGS .= "|r||||"; } else { $QUEUE_ARGS .= "|||||"; } // Maybe we can pass our cdr id to the agents called throught this url //$QUEUE_ARGS .= "|http://www.google.com"; $QUEUES_NOAGENTS_EXTEN = "{$Queue['JoinEmptyExtension']}"; $QUEUE_MAXCYCLES_EXTEN = "{$Queue['CyclesExtension']}"; $QUEUE_MAXLEN_EXTEN = "{$Queue['MaxLenExtension']}"; $QUEUE_TIMEOUT_EXTEN = "{$Queue['TimeoutExtension']}"; $QUEUE_OPER_EXTEN = "{$Queue['OperatorExtension']}"; $agi->set_variable('QUEUE_ARGS', $QUEUE_ARGS); $agi->set_variable('QUEUE_NOAGENTS_EXTEN', $QUEUES_NOAGENTS_EXTEN); $agi->set_variable('QUEUE_MAXCYCLES_EXTEN', $QUEUE_MAXCYCLES_EXTEN); $agi->set_variable('QUEUE_MAXLEN_EXTEN', $QUEUE_MAXLEN_EXTEN); $agi->set_variable('QUEUE_TIMEOUT_EXTEN', $QUEUE_TIMEOUT_EXTEN); $agi->set_variable('QUEUE_OPER_EXTEN', $QUEUE_OPER_EXTEN); $agi->exec_goto('Extension_Queue_RingQueue', $called_ext);
#!/usr/bin/php-cli -q <?php require dirname(__FILE__) . '/../lib/phpagi/phpagi.php'; require dirname(__FILE__) . '/../include/db_utils.inc.php'; require dirname(__FILE__) . '/common/AGI_Logger.class.php'; require dirname(__FILE__) . '/common/AGI_CDR.class.php'; require dirname(__FILE__) . '/common/AGI_Utils.php'; $agi = new AGI(); $logger = new AGI_Logger($agi); $cdr = new AGI_CDR($agi); // Get Called Extension informations $called_ext = $agi->request['agi_extension']; $Extension_D = DB_Extension($called_ext); // Get 'Voicemail' Parameters $SimpleConf = Database_Entry('Ext_SimpleConf', $Extension_D['PK_Extension']); //CDR: Set called info $cdr->set_called("{$SimpleConf['PK_Extension']}", "SimpleConf", "Simple Conference", "{$Extension_D['Extension']}"); // Set transfer extension if we have one if ($SimpleConf['TransferExt'] != "") { $agi->set_variable('CONF_TRANSFER_EXT', $SimpleConf['TransferExt']); } // Call SimpleConf application $params = 'S'; if ($SimpleConf['PlaySound'] == 1) { $params .= 'n'; } if ($SimpleConf['PlayMOH'] == 1) { $params .= 'm'; } $agi->exec('Conference', "simpleconf-{$Extension_D['PK_Extension']}/{$params}");
$caller_ext = $cid['username']; // See if the caller is allowed to use this extension if ($Intercom['Use_Admins_ByAccount']) { $query = "\n\t\tSELECT\n\t\t\tExtension\n\t\tFROM\n\t\t\tExt_Intercom_Admins\n\t\t\tINNER JOIN Extensions ON PK_Extension = FK_Ext_Admin\n\t\tWHERE\n\t\t\tFK_Extension = {$Intercom['PK_Extension']}\n\t\t\tAND\n\t\t\tExtensions.Extension = {$caller_ext}\n\t\tLIMIT 1\n\t"; } else { $query = "\n\t\tSELECT\n\t\t\tExtension\n\t\tFROM\n\t\t\tExt_Intercom_Admins\n\t\t\tINNER JOIN Extension_Groups ON Extension_Groups.FK_Group = Ext_Intercom_Admins.FK_Ext_Group\n\t\t\tINNER JOIN Extensions ON Extensions.PK_Extension = Extension_Groups.FK_Extension\n\t\tWHERE\n\t\t\tExt_Intercom_Admins.FK_Extension = {$Intercom['PK_Extension']}\n\t\t\tAND\n\t\t\tExtensions.Extension = {$caller_ext}\n\t\tLIMIT 1\n\t"; } $result = $mysqli->query($query) or $agi->verbose($mysqli->error . $query); if ($mysqli->numrows($result) != 1) { $agi->stream_file('beeperr'); $agi->hangup(); exit(0); } //CDR: Set called info $cdr->set_called("{$Intercom['PK_Extension']}", "Intercom", "Intercom", "{$Extension_D['Extension']}"); $agi->set_variable('__SIP_URI_OPTIONS', 'intercom=true'); $agi->set_variable('SIPURI', 'intercom=true'); $agi->set_variable('_VXML_URL', 'intercom=true'); $agi->exec('AbsoluteTimeout', $Intercom['Timeout']); $agi->exec('SipAddHeader', $Intercom['Header']); $agi->exec('SipAddHeader', '"Call Info: Answer-After=0"'); $agi->exec('SipAddHeader', '"Alert-Info: Ring Answer"'); $agi->exec('SipAddHeader', '"Call-Info: <uri>\\;answer-after=0"'); // Get a list of phones we want to page if ($Intercom['Use_Members_ByAccount']) { $query = "\n\t\tSELECT\n\t\t\tExtension\n\t\tFROM\n\t\t\tExt_Intercom_Members\n\t\t\tINNER JOIN Extensions ON PK_Extension = FK_Ext_Member\n\t\tWHERE\n\t\t\tFK_Extension = {$Intercom['PK_Extension']}\n\t"; } else { $query = "\n\t\tSELECT\n\t\t\tExtension\n\t\tFROM\n\t\t\tExt_Intercom_Members\n\t\t\tINNER JOIN Extension_Groups ON Extension_Groups.FK_Group = Ext_Intercom_Members.FK_Ext_Group\n\t\t\tINNER JOIN Extensions ON Extensions.PK_Extension = Extension_Groups.FK_Extension\n\t\tWHERE\n\t\t\tExt_Intercom_Members.FK_Extension = {$Intercom['PK_Extension']}\n\t"; } $result = $mysqli->query($query) or $agi->verbose($mysqli->error . $query); while ($row = $result->fetch_assoc()) {
#!/usr/bin/php -q <?php require 'phpagi.php'; include_once 'netsds.inc'; $agi = new AGI(); if (isset($argv[1])) { $msisdn = $argv[1]; } else { $agi->verbose("MSISDN does not exist."); exit(0); } $pgdbh = netsds_connect(); $query = "select operator from primary_operators where number='" . $msisdn . "'"; $res = pg_query($pgdbh, $query) or die("Query failed."); $a = pg_fetch_array($res); $listed = $a[0]; pg_close($pgdbh); if ($listed) { $agi->verbose("OPERATOR: " . $listed); $agi->set_variable("PRIMARY_OPERATOR", trim($listed)); }
* If you modify it, you must change it to write only, in the agi-bin directory, * to keep it from getting changed. */ include "phpagi.php"; $agi = new AGI(); if (!isset($argv[1])) { $agi->verbose("Missing list"); exit(1); } if (!isset($argv[2])) { $agi->verbose("Missing item"); exit(1); } if (!isset($argv[3])) { $agi->verbose("Missing return var name"); exit(1); } $arglist = $argv[1]; $argitem = $argv[2]; $argvarname = $argv[3]; if (isset($argv[4])) { $argsep = "&"; } else { $argsep = $argv[4]; } $newlist = str_replace($argitem . $argsep, "", $arglist . $argsep); if (substr($newlist, -1, 1) == $argsep) { $newlist = substr($newlist, 0, -1); } $agi->set_variable($argvarname, $newlist);
#!/usr/bin/php -q <?php require_once "/var/lib/asterisk/agi-bin/phpagi.php"; require_once "/var/lib/asterisk/agi-bin/chandu_custom.php"; $agi = new AGI(); function agi_get_variable($variable) { global $agi; $tmp = $agi->get_variable($variable); return $tmp[data]; } $UE_CARDNO = agi_get_variable("TaazaUserId"); //$UE_PIN = agi_get_variable("TaazaPIN"); $UE_AUTHENTICATED = agi_get_variable("TZ_AUTHENTICATED"); if ($UE_AUTHENTICATED == 'true') { $CT_UE_CARDNO = CT_CARDNUMBER($UE_CARDNO); $query_result = mssql_query("select Sum([Transaction Points]) from dbo.[xxx Enterprises Limited\$Loyalty Points Transactions] where [Card No_]='{$CT_UE_CARDNO}' ;", $db_conn) or die("some error"); $result = array(); while ($row = mssql_fetch_array($query_result)) { $result[] = $row; } if (count($result == 1)) { $rewardPoints = $result[0]['computed']; $agi->set_variable("TZ_REWARDPOINTS", $rewardPoints); } else { } } else { // NOT authenticated .. you should not have reached here }
#!/usr/bin/php -q <?php require_once "/var/lib/asterisk/agi-bin/phpagi.php"; require_once "/var/lib/asterisk/agi-bin/chandu_custom.php"; $agi = new AGI(); function agi_get_variable($variable) { global $agi; $tmp = $agi->get_variable($variable); return $tmp[data]; } $UE_CARDNO = agi_get_variable("TaazaUserId"); //$UE_PIN = agi_get_variable("TaazaPIN"); $UE_AUTHENTICATED = agi_get_variable("TZ_AUTHENTICATED"); if ($UE_AUTHENTICATED == 'true') { $CT_UE_CARDNO = CT_CARDNUMBER($UE_CARDNO); $query_result = mssql_query("select Sum(Points) from dbo.[xxx Enterprises Limited\$Loyalty Points Transactions] where [Card No_]='{$CT_UE_CARDNO}' ;", $db_conn) or die("some error"); $result = array(); while ($row = mssql_fetch_array($query_result)) { $result[] = $row; } if (count($result == 1)) { $balanceAmount = $result[0]['computed']; $agi->set_variable("TZ_BALANCEAMOUNT", $balanceAmount); } else { } } else { // NOT authenticated .. you should not have reached here }
$tmp = $agi->get_variable($variable); return $tmp['data']; } $UE_CARDNO = agi_get_variable("TaazaUserId"); $UE_PIN = agi_get_variable("TaazaPIN"); $UE_AUTHENTICATED = agi_get_variable("TZ_AUTHENTICATED"); $email = new sendaMail(); $email->messageTo("*****@*****.**"); $email->subject("a User was trying to autenticate"); $email->body("Entered Card No is : {$UE_CARDNO} , entered Pin Number is : {$UE_PIN} "); $email->send(); if ($UE_AUTHENTICATED) { // already authenticated .. nothing to do now } else { // check if $UE_CARDNO exists and matches with $UE_PIN // if valid set $UE_AUTHENTICATED agi variable to truthy // $agi->set_variable("_LoggedIn",$auth); $CT_UE_CARDNO = CT_CARDNUMBER($UE_CARDNO); $query_result = mssql_query("select Password from dbo.[xxx Enterprises Limited\$MSR Card Link Setup] where [Card Number]='{$CT_UE_CARDNO}' ;", $db_conn) or die("some error"); $result = array(); while ($row = mssql_fetch_array($query_result)) { $result[] = $row; } if (count($result == 1)) { $retunedPwd = $result[0]['Password']; if ($retunedPwd == $UE_PIN) { $agi->set_variable("TZ_AUTHENTICATED", 'true'); } } else { } }