Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #58

Open
wants to merge 92 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
aeb6d06
Cause of the tortoise svn error "object of the same name as the admin…
openvoipco Apr 29, 2013
1fb469f
Added "disabled" into cc_ratecard table and UI (to quick activate/dea…
openvoipco Apr 30, 2013
32a9a6d
Added new feature - trunks list in a ratecard object (you can create …
openvoipco May 6, 2013
4c9d5b2
Some bugs fixed. Found missed used trunnk_id code line.
openvoipco May 7, 2013
d12aa39
Added new call handling method for trunks. Default dialstatus set for…
openvoipco May 13, 2013
9535f04
Fixed auth SQL in case of checking input accountcode from AGI
openvoipco May 16, 2013
4d1f623
All AGI sounds have been added to agiconfig with prefix 'sound-'
openvoipco Jul 5, 2013
3f394c9
Added Smart Hangup - sending hangup code according A2B hangup cause i…
openvoipco Aug 26, 2013
31c7f9f
Added A2Billing checker - this is a daemon that checks 'inuse' for tr…
openvoipco Sep 3, 2013
4318c0b
Checker improved - now it can check limits in realtime, like realtime…
openvoipco Sep 4, 2013
68df87c
Fixed checker minute limit calculation. Added hangup array filtering.
openvoipco Sep 10, 2013
de52c56
AGI sounds added to cc_config table, see cd /usr/local/src/openvoip.…
openvoipco Sep 17, 2013
d17daed
Attemp delay feature added to the trunks - it is for delaying calls t…
openvoipco Sep 23, 2013
d04f1c7
function bug fixed
openvoipco Sep 23, 2013
9bd1f1d
added missed field to sql file
openvoipco Sep 24, 2013
1b2bfef
Calls per day added to trunk. New call handling algorithms added.
openvoipco Sep 25, 2013
5e3cf39
added sql_no_cache for trunk counters query
openvoipco Sep 30, 2013
0f42b87
added instance_table checking and additional debug for counters value
openvoipco Sep 30, 2013
62f0a44
Fixed checker to avoid inuse checking for Local trunks
openvoipco Sep 30, 2013
5c2ecc3
Added smart trunk prefix routine, see help in class "A2Billing", meth…
openvoipco Oct 1, 2013
1a3351f
Fixed trunk removeprefix form field
openvoipco Oct 1, 2013
27956b1
Fixed trunk removeprefix form field in DB
openvoipco Oct 1, 2013
209aee7
Fixed trunk removeprefix slashes for regexes
openvoipco Oct 1, 2013
d427e67
Merged with the latest official develop branch 2.0.7. Sound files cra…
openvoipco Nov 17, 2013
9727a12
Added new feature: GMT offset for trunks - it is usefull for 'minutes…
openvoipco Nov 18, 2013
862251d
Fixed default timzone for trunk - if it is not set - it will be equal…
openvoipco Nov 18, 2013
e203732
Fixed bug with trunk GMT
openvoipco Nov 27, 2013
3b00054
Added default timezone as 'Not set' to trunk
openvoipco Nov 27, 2013
c64f821
resolved conflicts
openvoipco Dec 9, 2013
c4e1e6b
fixed some fucking commit problems
openvoipco Dec 9, 2013
95e32b8
Changed card 'WebUI login' filter to pass any characters
openvoipco Apr 3, 2014
e8f09e7
Added whole minute counter, congestion algo breaker code
openvoipco Sep 10, 2014
a015f2b
get_variabe bug fixed in Class.RateEngine.php
openvoipco Sep 11, 2014
5558319
bug fixed
openvoipco Sep 11, 2014
6f77c02
bug fixed
openvoipco Sep 11, 2014
bdf2742
bug fixed
openvoipco Sep 11, 2014
2c7e006
improved breaking logic
openvoipco Sep 11, 2014
c0cb958
super SVN added
openvoipco Dec 12, 2014
0c22122
Randomizer improved
openvoipco Mar 13, 2015
c127d4d
Forgotten commit, some fixes, addons
openvoipco Apr 17, 2015
b71bf78
Added missing voucher_activate API function to functions declarations
openvoipco Apr 22, 2015
75b28a4
some changes
openvoipco Sep 22, 2015
645cbc8
some changes
openvoipco Sep 22, 2015
a5e839a
Fixed CID randomizer, added cache disabling option
openvoipco Sep 23, 2015
3d860c8
Api improved, new API added
openvoipco Oct 1, 2015
d34a056
callback API added
openvoipco Nov 11, 2015
93c8423
Callback API fixed
openvoipco Nov 11, 2015
e073e60
Callback API fixed again
openvoipco Nov 11, 2015
f027b31
card pin change method added
openvoipco Nov 24, 2015
52d79af
Merged with official A2Billing master branch (revision:3578, version:…
openvoipco Apr 13, 2016
b877fda
Added balance interruption by any digit press, this digit will be add…
openvoipco Apr 16, 2016
05a1db5
added balance playing interruption support, added allowed groups to a…
openvoipco Apr 17, 2016
d1e98cc
Added new agi option customer_history_log. Added automatic failed aut…
openvoipco Apr 17, 2016
cfafab3
Some fixes to the customer history logging
openvoipco Apr 18, 2016
90733c7
Changed a way of logging auth fails. Added new option in webui sectio…
openvoipco Apr 23, 2016
80204ec
small fic added
openvoipco Apr 23, 2016
94cbace
fixed form element attribute
openvoipco May 18, 2016
351a0c3
Added toll-free provider option for handling on opensips side only fo…
openvoipco Jun 11, 2016
ed513a6
Added toll-free provider DB patch
openvoipco Jun 11, 2016
63e0ebf
moved tollfree column to trunk level
openvoipco Jun 11, 2016
a7e3e44
Added new routing algo by ACD, added clrearing trunk counters button …
openvoipco Jun 12, 2016
20221c7
added missed libs to a2billing.php and added debugging for not allowe…
openvoipco Jun 17, 2016
b08c538
asterisk CDR info added
openvoipco Jul 28, 2016
02f7dcf
added new param customer_balance_precision, added useralias sequence …
openvoipco Aug 7, 2016
d53dfb7
added numeric filter by login for customers search
openvoipco Aug 10, 2016
9b84167
Added ability to use multiple russian languages preserving rules
openvoipco Aug 11, 2016
a24ae83
bug fixed, moved common.defines.php include to the correct place in A…
openvoipco Aug 12, 2016
f2aeb3f
asterisk parser and formatter added
openvoipco Aug 15, 2016
30f9d50
cs upload bash script added
openvoipco Aug 16, 2016
102822b
some cdr uploader fixes
openvoipco Aug 16, 2016
18392c8
another fix wtf
openvoipco Aug 16, 2016
8cae2dc
removed unneeded debug msg
openvoipco Aug 18, 2016
797e3ad
improved cdr parser
openvoipco Sep 6, 2016
3da0d34
some fixes
openvoipco Sep 8, 2016
bcfeb88
cdr formatter fixed
openvoipco Sep 9, 2016
f08447d
cdr formatter small fix
openvoipco Sep 9, 2016
81a04f7
cdr formatter fixes
openvoipco Sep 9, 2016
97319a1
added new agiconf setting force_rerouting, fixed and improved dialing…
openvoipco Sep 16, 2016
875ae9d
changed cdr parser
openvoipco Oct 4, 2016
76903d1
new cdr parser added
openvoipco Oct 8, 2016
bc8af80
new cdr parser fixes
openvoipco Oct 8, 2016
068fd0d
new cdr parser fixes
openvoipco Oct 8, 2016
8b5c735
new cdr parser fix + uploader fix
openvoipco Oct 9, 2016
971c4eb
marker simplified
openvoipco Oct 9, 2016
7975dae
suffix removed
openvoipco Oct 9, 2016
97ddd87
arg marker_file added
openvoipco Oct 9, 2016
ab04668
uploader fix
openvoipco Oct 9, 2016
577bf24
cdr uploader locking added
openvoipco Oct 9, 2016
f0760b5
added cdr resetting after each attempt
openvoipco Oct 11, 2016
27d937f
file marker removed
openvoipco Oct 12, 2016
2ffb6a3
small fix for parsing asterisk response
openvoipco Oct 12, 2016
92dd382
small fix
openvoipco Oct 12, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@
*devserver*
*sublime*
*~

# PhpStorm
.idea/
*.iml
/vendor/
16 changes: 16 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
language: php

php:
- 5.3

env:
- DB=mysql

before_script:
- composer self-update --no-interaction
- composer install --dev --prefer-source --no-interaction

# omitting "script:" will default to phpunit
# use the $DB env variable to determine the phpunit.xml to use
script: vendor/bin/phpunit

93 changes: 52 additions & 41 deletions AGI/a2billing.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* A2Billing, Commercial Open Source Telecom Billing platform,
* powered by Star2billing S.L. <http://www.star2billing.com/>
*
* @copyright Copyright (C) 2004-2012 - Star2billing S.L.
* @copyright Copyright (C) 2004-2015 - Star2billing S.L.
* @author Belaid Arezqui <[email protected]>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html
* @package A2Billing
Expand Down Expand Up @@ -39,7 +39,10 @@

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

require_once __DIR__ . '/../vendor/autoload.php';

include(dirname(__FILE__) . "/lib/Class.Table.php");
include(dirname(__FILE__) . "/lib/Class.Connection.php");
include(dirname(__FILE__) . "/lib/Class.A2Billing.php");
include(dirname(__FILE__) . "/lib/Class.RateEngine.php");
include(dirname(__FILE__) . "/lib/phpagi/phpagi.php");
Expand All @@ -49,7 +52,7 @@

$charge_callback = 0;
$G_startime = time();
$agi_version = "A2Billing - v2.0.3";
$agi_version = "A2Billing - v2.2.0";

if ($argc > 1 && ($argv[1] == '--version' || $argv[1] == '-v')) {
echo "$agi_version\n";
Expand Down Expand Up @@ -120,11 +123,7 @@
$A2B->CC_TESTING = isset($A2B->agiconfig['debugshell']) && $A2B->agiconfig['debugshell'];
//$A2B->CC_TESTING = true;

define("DB_TYPE", isset($A2B->config["database"]['dbtype']) ? $A2B->config["database"]['dbtype'] : null);
define("SMTP_SERVER", isset($A2B->config['global']['smtp_server']) ? $A2B->config['global']['smtp_server'] : null);
define("SMTP_HOST", isset($A2B->config['global']['smtp_host']) ? $A2B->config['global']['smtp_host'] : null);
define("SMTP_USERNAME", isset($A2B->config['global']['smtp_username']) ? $A2B->config['global']['smtp_username'] : null);
define("SMTP_PASSWORD", isset($A2B->config['global']['smtp_password']) ? $A2B->config['global']['smtp_password'] : null);
include(dirname(__FILE__) . "/lib/common.defines.php");

// Print header
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "AGI Request:\n" . print_r($agi->request, true));
Expand Down Expand Up @@ -198,6 +197,7 @@
if (($A2B->agiconfig['answer_call'] == 1) && ($stat_channel["result"] != $status_channel) && ($A2B->CC_TESTING != 1)) {
if ($A2B->set_inuse == 1) $A2B->callingcard_acct_start_inuse($agi, 0);
$A2B->write_log("[STOP - EXIT]", 0);
$RateEngine->hangup($agi, $A2B);
exit();
}

Expand Down Expand Up @@ -227,7 +227,7 @@
if ($try > 3) {
if ($A2B->set_inuse == 1)
$A2B->callingcard_acct_start_inuse($agi, 0);
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
exit();
}
} while ($return);
Expand Down Expand Up @@ -316,7 +316,7 @@
$agi->stream_file('prepaid-final', '#');
if ($A2B->set_inuse == 1)
$A2B->callingcard_acct_start_inuse($agi, 0);
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
exit();
}
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[TRY : $try]");
Expand Down Expand Up @@ -371,7 +371,7 @@
$agi->stream_file('prepaid-final', '#');
if ($A2B->set_inuse == 1)
$A2B->callingcard_acct_start_inuse($agi, 0);
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
exit();
}
}
Expand Down Expand Up @@ -415,14 +415,14 @@
}
}

$A2B->dnid = $agi->request['agi_dnid'];
$A2B->extension = $agi->request['agi_extension'];
$A2B->dnid = $A2B->orig_dnid;
$A2B->extension = $A2B->orig_ext;

if ($A2B->agiconfig['ivr_voucher'] == 1) {
$res_dtmf = $agi->get_data('prepaid-refill_card_with_voucher', 5000, 1);
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "RES REFILL CARD VOUCHER DTMF : " . $res_dtmf["result"]);
$A2B->ivr_voucher = $res_dtmf["result"];
if ((isset($A2B->ivr_voucher)) && ($A2B->ivr_voucher == $A2B->agiconfig['ivr_voucher_prefixe'])) {
if ((isset($A2B->ivr_voucher)) && ($A2B->ivr_voucher == $A2B->agiconfig['ivr_voucher_prefix'])) {
$vou_res = $A2B->refill_card_with_voucher($agi, $i);
}
}
Expand Down Expand Up @@ -579,16 +579,18 @@

$A2B->debug(INFO, $agi, __FILE__, __LINE__, "[ CALL OF THE SYSTEM - [DID=" . $A2B->destination . "]");

$QUERY = "SELECT cc_did.id, cc_did_destination.id, billingtype, tariff, destination, voip_call, username, useralias, connection_charge, selling_rate, did, ".
" aleg_carrier_connect_charge, aleg_carrier_cost_min, aleg_retail_connect_charge, aleg_retail_cost_min, ".
$QUERY = "SELECT cc_did.id, cc_did_destination.id, billingtype, tariff, destination, voip_call, username, useralias, connection_charge, ".
" selling_rate, did, aleg_carrier_connect_charge, aleg_carrier_cost_min, aleg_retail_connect_charge, aleg_retail_cost_min, ".
" aleg_carrier_initblock, aleg_carrier_increment, aleg_retail_initblock, aleg_retail_increment, ".
" aleg_timeinterval, ".
" aleg_carrier_connect_charge_offp, aleg_carrier_cost_min_offp, aleg_retail_connect_charge_offp, aleg_retail_cost_min_offp, ".
" aleg_carrier_initblock_offp, aleg_carrier_increment_offp, aleg_retail_initblock_offp, aleg_retail_increment_offp, ".
" cc_card.id ".
" FROM cc_did, cc_did_destination, cc_card ".
" WHERE id_cc_did=cc_did.id AND cc_card.status=1 AND cc_card.id=id_cc_card and cc_did_destination.activated=1 AND cc_did.activated=1 AND did='" . $A2B->destination . "' ".
" AND cc_did.startingdate <= CURRENT_TIMESTAMP AND (cc_did.expirationdate > CURRENT_TIMESTAMP OR cc_did.expirationdate IS NULL ".
" WHERE id_cc_did=cc_did.id AND cc_card.status=1 AND cc_card.id=id_cc_card and cc_did_destination.activated=1 ".
" AND cc_did.activated=1 AND did='" . $A2B->destination . "' ".
" AND cc_did.startingdate <= CURRENT_TIMESTAMP ".
" AND (cc_did.expirationdate > CURRENT_TIMESTAMP OR cc_did.expirationdate IS NULL ".
" AND cc_did_destination.validated = 1 ";
if ($A2B->config["database"]['dbtype'] == "mysql") {
$QUERY .= " OR cc_did.expirationdate = '0000-00-00 00:00:00'";
Expand Down Expand Up @@ -628,22 +630,22 @@
$RateEngine->Reinit();
$A2B->Reinit();

$mydnid = $agi->request['agi_extension'];
if ($A2B->CC_TESTING) $mydnid = '11111111';
$mydnid = $A2B->orig_ext;

if (strlen($mydnid) > 0) {
$A2B->debug(INFO, $agi, __FILE__, __LINE__, "[DID CALL - [CallerID=" . $A2B->CallerID . "]:[DID=" . $mydnid . "]");

$QUERY = "SELECT cc_did.id, cc_did_destination.id, billingtype, tariff, destination, voip_call, username, useralias, connection_charge, selling_rate, did, ".
" aleg_carrier_connect_charge, aleg_carrier_cost_min, aleg_retail_connect_charge, aleg_retail_cost_min, ".
" aleg_carrier_initblock, aleg_carrier_increment, aleg_retail_initblock, aleg_retail_increment, ".
" aleg_timeinterval, ".
" aleg_carrier_connect_charge_offp, aleg_carrier_cost_min_offp, aleg_retail_connect_charge_offp, aleg_retail_cost_min_offp, ".
" aleg_carrier_initblock_offp, aleg_carrier_increment_offp, aleg_retail_initblock_offp, aleg_retail_increment_offp ".
" FROM cc_did, cc_did_destination, cc_card ".
" WHERE id_cc_did=cc_did.id and cc_card.status=1 and cc_card.id=id_cc_card and cc_did_destination.activated=1 and cc_did.activated=1 and did='$mydnid' ".
" AND cc_did.startingdate<= CURRENT_TIMESTAMP AND (cc_did.expirationdate > CURRENT_TIMESTAMP OR cc_did.expirationdate IS NULL ".
" AND cc_did_destination.validated=1";
$QUERY = "SELECT cc_did.id, cc_did_destination.id, billingtype, tariff, destination, voip_call, username, useralias, connection_charge, ".
" selling_rate, did, aleg_carrier_connect_charge, aleg_carrier_cost_min, aleg_retail_connect_charge, aleg_retail_cost_min, ".
" aleg_carrier_initblock, aleg_carrier_increment, aleg_retail_initblock, aleg_retail_increment, ".
" aleg_timeinterval, ".
" aleg_carrier_connect_charge_offp, aleg_carrier_cost_min_offp, aleg_retail_connect_charge_offp, aleg_retail_cost_min_offp, ".
" aleg_carrier_initblock_offp, aleg_carrier_increment_offp, aleg_retail_initblock_offp, aleg_retail_increment_offp ".
" FROM cc_did, cc_did_destination, cc_card ".
" WHERE id_cc_did=cc_did.id AND cc_card.status=1 AND cc_card.id=id_cc_card AND cc_did_destination.activated=1 ".
" AND cc_did.activated=1 AND did='$mydnid' ".
" AND cc_did.startingdate<= CURRENT_TIMESTAMP AND (cc_did.expirationdate > CURRENT_TIMESTAMP OR cc_did.expirationdate IS NULL ".
" AND cc_did_destination.validated=1";
if ($A2B->config["database"]['dbtype'] != "postgres") {
// MYSQL
$QUERY .= " OR cc_did.expirationdate = '0000-00-00 00:00:00'";
Expand Down Expand Up @@ -699,7 +701,7 @@
// SAY GOODBYE
if ($A2B->agiconfig['say_goodbye'] == 1) $agi->stream_file('prepaid-final', '#');

$agi->hangup();
$RateEngine->hangup($agi, $A2B);
if ($A2B->set_inuse == 1) $A2B->callingcard_acct_start_inuse($agi, 0);
$A2B->write_log("[STOP - EXIT]", 0);
exit();
Expand All @@ -715,7 +717,7 @@

if ($A2B->agiconfig['answer_call'] == 1 && $mode == 'cid-callback') {
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, '[HANGUP CLI CALLBACK TRIGGER]');
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
} elseif ($mode == 'cid-prompt-callback') {
$agi->answer();
} else {
Expand Down Expand Up @@ -792,7 +794,7 @@
if ($subtry >= 3) {
if ($A2B->set_inuse == 1)
$A2B->callingcard_acct_start_inuse($agi, 0);
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
exit();
}
} while ($res_dtmf["result"] != '1' && $res_dtmf["result"] != '2');
Expand All @@ -813,7 +815,7 @@
if (strlen($outbound_destination) <= 0) {
if ($A2B->set_inuse == 1)
$A2B->callingcard_acct_start_inuse($agi, 0);
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
exit();
}

Expand Down Expand Up @@ -841,7 +843,10 @@
$addparameter = $RateEngine->ratecard_obj[0][42 + $usetrunk_failover];

$destination = $A2B->destination;
if (strncmp($destination, $removeprefix, strlen($removeprefix)) == 0) $destination= substr($destination, strlen($removeprefix));

// applying prefix rule(s)
$destination = $A2B->removePrefix($removeprefix, $destination);
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[UPDATED DESTINATION: $destination]");

$pos_dialingnumber = strpos($ipaddress, '%dialingnumber%');

Expand Down Expand Up @@ -935,7 +940,7 @@
// END
if ($A2B->agiconfig['answer_call'] == 1) {
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, '[HANGUP ALL CALLBACK TRIGGER]');
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
} else {
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, '[ALL CALLBACK TRIGGER RINGING]');
}
Expand Down Expand Up @@ -985,7 +990,10 @@
$addparameter = $RateEngine->ratecard_obj[0][42 + $usetrunk_failover];

$destination = $A2B->destination;
if (strncmp($destination, $removeprefix, strlen($removeprefix)) == 0) $destination= substr($destination, strlen($removeprefix));

// applying prefix rule(s)
$destination = $A2B->removePrefix($removeprefix, $destination);
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[UPDATED DESTINATION: $destination]");

$pos_dialingnumber = strpos($ipaddress, '%dialingnumber%');

Expand Down Expand Up @@ -1248,7 +1256,7 @@

if ($error_settings) {
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[CALLBACK : Error settings accountcode and phonenumber_member]");
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
$A2B->write_log("[STOP - EXIT]", 0);
exit();
}
Expand Down Expand Up @@ -1329,7 +1337,10 @@
$addparameter = $RateEngine->ratecard_obj[0][42 + $usetrunk_failover];

$destination = $A2B->destination;
if (strncmp($destination, $removeprefix, strlen($removeprefix)) == 0) $destination= substr($destination, strlen($removeprefix));

// applying prefix rule(s)
$destination = $A2B->removePrefix($removeprefix, $destination);
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[UPDATED DESTINATION: $destination]");

$pos_dialingnumber = strpos($ipaddress, '%dialingnumber%');

Expand Down Expand Up @@ -1458,7 +1469,7 @@

if ($error_settings) {
$A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[CALLBACK : Error settings accountcode]");
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
$A2B->write_log("[STOP - EXIT]", 0);
exit();
}
Expand Down Expand Up @@ -1585,9 +1596,9 @@
}// END if ($charge_callback)

if ($mode != 'cid-callback' && $mode != 'all-callback') {
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
} elseif ($A2B->agiconfig['answer_call'] == 1) {
$agi->hangup();
$RateEngine->hangup($agi, $A2B);
}

// SEND MAIL REMINDER WHEN CREDIT IS TOO LOW
Expand Down
2 changes: 2 additions & 0 deletions AGI/a2billing_monitoring.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

require_once __DIR__ . '/../vendor/autoload.php';

include_once(dirname(__FILE__) . "/lib/Class.Table.php");
include(dirname(__FILE__) . "/lib/Class.A2Billing.php");
include(dirname(__FILE__) . "/lib/Class.RateEngine.php");
Expand Down
6 changes: 3 additions & 3 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@

A2Billing (c) AGPL 2003-2012
A2Billing (c) AGPL 2003-2015

A2Billing is free software written by Areski Belaid <[email protected]>

with contributions from :

Rachid Belaid <[email protected]>
Rachid Belaid <[email protected]>
Panos Christeas <[email protected]>
Steve Dommett <[email protected]>
Alberto Escudero-Pascual <[email protected]>
Expand All @@ -23,7 +23,7 @@ The following third party software is included with the distribution:

* phpagi 2.14 Copyright 2003, 2004, 2005 Matthew Asham and David Eder
* smarty 2.6.26 Copyright 2001-2005 New Digital Group, Inc
* jgraph 1.27 Copyright 2001, 2002, 2003, 2004 Johan Persson Aditus Consulting
* jgraph 3.5.0 Copyright 2001, 2002, 2003, 2004 Johan Persson Aditus Consulting
* adodb 4.991 Copyright (c) 2000, 2001, 2002, 2003, 2004 John Lim
* famfamfam.com Icons from Mark James
* phpconfig (C) 2003 Dave Packham and Rob Birkinshaw
Expand Down
76 changes: 0 additions & 76 deletions CallBack/callback-daemon-py/INSTALL

This file was deleted.

Loading