Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F7312332
global.inc.complex.sample
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
14 KB
Referenced Files
None
Subscribers
None
global.inc.complex.sample
View Options
<?php
/**
* This file contains examples for all possible settings for CDRTool
*
* 1. Change all hostnames and passwords according to the installation
* 2. Copy this file to /etc/cdrtool/global.inc
*/
/**
* System and web paths
*/
$CDRTool['tld'] = "/CDRTool";
$CDRTool['Path'] = "/var/www/CDRTool";
$_PHPLIB['libdir'] = $CDRTool['Path']. "/phplib/";
include($_PHPLIB["libdir"] . "prepend.php3");
/**
* PHP Error reporting
*/
$errorReporting = (E_ALL & ~E_NOTICE);
$errorReporting = 1; // comment this out to enable PHP warnings
error_reporting($errorReporting);
/**
* Service provider information
*/
$CDRTool['provider']['name'] = "SIP provider";
$CDRTool['provider']['service'] = "SIP service";
$CDRTool['provider']['timezone'] = "Europe/Amsterdam";
$CDRTool['provider']['fromEmail'] = "support@example.com";
$CDRTool['provider']['toEmail'] = "support@example.com";
$CDRTool['provider']['sampleLoginSubscriber'] = "317100000@example.com";
$CDRTool['provider']['sampleLoginDomain'] = "317100001@subdomain.example.com";
$CDRTool['provider']['clear_text_passwords'] = "0";
/**
* Rating engine settings
*/
$RatingEngine = array(
"socketIP" => "IP.address.of.the.private.interface.of.cdrtool.example.com",
"socketPort" => "9024",
"cdr_source" => "opensips_radius", // points to a defined DATASOURCE
"log_delay" => 0.05,
"split_rating_table" => false, // when true individual rating tables are automatically created for each rate id
"csv_delimiter" => ",", // when importing CSV files
"priceDenominator" => 10000, // e.g. 1 Eur = 10000 units
"priceDecimalDigits" => 4, // how many digits to round the prices to
"durationPeriodRated" => 60, // the prices from the rating table are calculated per this period
"trafficSizeRated" => 1024, // same as above but for data traffic
"reportMissingRates" => 0, // send email notifications if rates are missing from the ratingEngine
"rate_longer_than" => 0, // minimum duration to rate, if call duration is shorter the price is zero
"allow" => array ('10.','192.168.0.1','127.0.0.1'), // list with clients allowed to connect
"MaxSessionTime" => 36000, // limit all prepaid calls to maximum 10 hours
"rate_on_net_calls" => false,
"rate_on_net_diverted_calls" => false
);
/*
// temporary testing mongo backend capabilities
"database_backend" => "mongo",
"mongo_db" => array("uri" => "mongo1.example.com, mongo2.example.com",
"database" => "rating",
"replicaSet" => "sipthor",
"safe" => 1)
$CDRTool['mongo_db']['sipthor'] = array("uri" => "mongo1.example.com, mongo2.example.com",
"database" => "accounting",
"replicaSet" => "sipthor");
*/
/**
* Normalize engine settings
*/
$CDRTool['normalize']['defaultCountryCode'] = "31";
/**
* Where to retrieve the reseller settings from
*/
$CDRTool['ngnpro_reseller_engine'] = 'sip';
/**
* Build graphical statistics for these domains:
*/
$CDRTool['statistics']['domains'] = array("example.com");
/**
* Carrier selection codes, strip first digits
* and allocate custom Billing Party
*/
$CDRTool['normalize']['CS_CODES'] = array(
"1684" => array(
"name" => "test@Call",
"BillingPartyId" => "call@example.com",
"BillingDomain" => "example.com",
"minimumLength" => "9"
)
);
/**
* Anti-fraud settings
* Create group quota in SER and deny calls to users in this group
*/
$UserQuota["default"]["traffic"] = 5000; // MBytes
$UserQuota["default"]["cost"] = 1000; // Euro
/**
* CDRTool databases
*/
class DB_CDRTool extends DB_Sql
{
public $Host = "sipdb";
public $Database = "cdrtool";
public $User = "cdradmin";
public $Password = "PASSWORD";
public $Halt_On_Error ="yes";
}
class DB_Locker extends DB_Sql
{
public $Host = "sipdb";
public $Database = "cdrtool";
public $User = "locker";
public $Password = "PASSWORD";
public $Halt_On_Error ="yes";
}
class DB_radius extends DB_Sql
{
public $Host = "sipdb";
public $Database = "radius";
public $User = "radius";
public $Password = "PASSWORD";
public $Halt_On_Error ="no";
}
class DB_opensips extends DB_Sql
{
public $Host = "sipdb";
public $Database = "opensips";
public $User = "opensips";
public $Password = "PASSWORD";
public $Halt_On_Error ="yes";
}
class DB_siptrace extends DB_Sql
{
public $Host = "sipdb";
public $Database = "siptrace";
public $User = "opensips";
public $Password = "PASSWORD";
public $Halt_On_Error ="yes";
}
class DB_mediaproxy extends DB_Sql
{
public $Host = "sipdb";
public $Database = "mediaproxy";
public $User = "mediaproxy";
public $Password = "PASSWORD";
public $Halt_On_Error ="yes";
}
$replicated_databases = array(
'cluster1' => array(
"db1" => array(
'ip' => '10.0.0.131',
'slave_of' => 'db2',
'user' => 'process',
'password' => 'password',
'replication_user' => 'replication',
'replication_password' => 'password',
'active_master' => true
),
"db2" => array(
'ip' => '10.0.0.132',
'slave_of' => 'db1',
'user' => 'process',
'password' => 'password',
'replication_user' => 'replication',
'replication_password' => 'password'
)
)
);
/**
* To allow subscribers to login and access their own CDRs. See
* OpenSIPS_DomainAuth from phplib/local.inc as example
*/
class DomainAuthLocal extends OpenSIPS_DomainAuth
{
}
class PageLayoutLocal extends PageLayout
{
}
/**
* CDRTool datasources
*/
class CDRS_opensips_custom extends CDRS_opensips
{
/**
* this shows how you can modify the default behavior of standard CDRS_opensips class
* you can overwrite any function from that class here
* to use this class set the data source 'class' setting to the name of this class
*/
}
$DATASOURCES = array(
"unknown" => array(
"class" => "CDRS_unknown" // do not delete this datasource
),
"opensips_radius" => array(
"name" => "OpenSIPS",
"class" => "CDRS_opensips_custom",
"db_class" => array(
"DB_radius2",
"DB_radius"
),
"table" => "radacct", // or "radacct".date("Ym") if sql.conf uses the mysql procedure to auto-rotate tables
"rating" => "1", // enable rating
"rateField" => "Rate", // which field stores the rating info
"E164_class" => "E164_custom", // define a custom class to determine the E164 for a telephone number
// see E164 classes as example in library/cdr_generic.php
"priceField" => "Price",
"DestinationIdField" => "DestinationId",
"normalizedField" => "Normalized",
"skipNormalizeOnPageLoad" => 0,
"skipNormalize" => 0, // set it it to true to disable the normalization process
"BillingPartyIdField" => "UserName",
"db_susbcribers" => "DB_opensips",
#"mongo_db" => "sipthor", // experimental/testing purposes only
"domain_table" => "domain", // table of db_susbcribers that holds domains served by the sip proxy
"subscriber_table" => "subscriber", // table of db_susbcribers that holds susbcribers served by the sip proxy
"intAccessCode" => "00", // international acess code, numbers prefixed with this are considered international destinations
"natAccessCode" => "0", // international acess code, numbers prefixed with this are considered national destinations
"sipTrace" => "sip_trace", // which datasource is used for display of sip trace
"mediaTrace" => "media_trace", // which datasource is used for display of media trace
"UserQuotaClass" => "OpenSIPSQuota",
"daily_quota" => "0", // a percentage [1 to 99] of monthly quota to check for daily usage, 0 means disabled
"UserQuotaNotify" => "1", // send e-mail notifications when quota is exceeded
"notifyLastSessions" => true, // send e-mail notifications with sessions received in the last 24 hours
"soapEngineId" => '', // used by Multimedia Service Platform
"domainTranslation_SourceIP" => array(
"10.0.0.1" => "gateway.example.com" // translate Realm for sessions originating from IP address 10.0.0.1
),
"domainTranslation" => array(
"gw02.domain.com" => "pstn.domain.com" // translate Realm
),
"domainTranslationDestination" => array(
"gw02.domain.com" => "pstn.domain.com" // translate destination
),
"purgeCDRsAfter" => 120, // how many days to keep old CDRs, valid only when Radius tables are not atomatically rotated
"db_registrar" => "DB_opensips", // opensips location database
"enableThor" => false, // set to true if using SIP Thor
"mediaSessions" => "sipthor", // NGNPro engine id used by SIP Thor
"networkStatus" => "sipthor", // NGNPro engine id used by SIP Thor
"mediaDispatcher" => "tls:10.0.0.1:25061", // Where to get the active media sessions from MediaProxy 2.0
// Create /etc/cdrtool/mediaproxy.pem containing the certificate and private key
"mediaServers" => array(
"10.0.0.2",
"10.0.0.3"
), // where to get the active sessions from MediaRroxy 1.x
"skipStatistics" => 0, // Skip usage graphs,
"db_ngnpro_stats" => "DB_CDRTool" // Database for provisioning stats
),
"cisco" => array(
"name" => "Cisco gateway",
"class" => "CDRS_cisco",
"db_class" => "DB_cisco",
"table" => "radacct",
"rateField" => "Rate",
"rating" => "1",
"priceField" => "Price",
"DestinationIdField" => "DestinationId",
"normalizedField" => "Normalized",
"traceInURL" => array(
"10.0.0.2" => "opensips_radius",
"Asterisk" => "asterisk"
),
"traceOutURL" => array(
"10.0.0.2" => "opensips_radius"
),
"purgeCDRsAfter" => 180 // how many days to keep the CDRs
),
"asterisk" => array(
"name" => "Asterisk server",
"class" => "CDRS_asterisk",
"table" => "asterisk_cdr",
"db_class" => "DB_radius",
"rateField" => "Rate",
"rating" => "1",
"priceField" => "Price",
"DestinationIdField" => "DestinationId",
"normalizedField" => "Normalized",
"contexts" => array(
"SIP" => array(
"WEBName" => "SIP Provider 1"
),
"PSTN" => array(
"WEBName" => "PSTN 2 ENUM"
)
),
"traceInURL" => array(
"SIP" => "opensips_radius"
),
"traceOutURL" => array(
"SIP" => "opensips_radius"
),
"purgeCDRsAfter" => 180 // how many days to keep the CDRs
),
"sip_trace" => array(
"name" => "SIP trace",
"db_class" => "DB_siptrace",
"table" => "sip_trace",
"purgeRecordsAfter" => "7",
"SIPProxies" => array(
"10.0.0.1" => "SIP Proxy 1",
"10.0.0.2" => "SIP Proxy 2"
),
"invisible" => 1, // hide this datasource in call search page / datasource selection
"mediaTrace" => "media_trace"
),
"sip_trace_thor" => array(
"name" => "SIP trace Thor",
"enableThor" => true,
"soapEngineId" => "sipthor",
"mediaTrace" => "media_trace_thor",
"invisible" => 1,
),
"media_trace" => array(
"name" => "Media trace",
"db_class" => "DB_mediaproxy",
"enableThor" => false,
"invisible" => 1
),
"media_trace_thor" => array(
"name" => "Media trace Thor",
"enableThor" => true,
"soapEngineId" => "sipthor",
"invisible" => 1
)
);
// load other CDRTool libraries
$CDRToolModules = array(
"opensips",
"asterisk"
);
$tz = $CDRTool['provider']['timezone'];
putenv("TZ=$tz");
if ($_SERVER['REMOTE_ADDR'] == "10.0.0.1") {
// display debug information only from this host
//$verbose=1;
} else {
// prevent set of verbose via post/get
unset($verbose);
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 1, 5:42 AM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3488792
Default Alt Text
global.inc.complex.sample (14 KB)
Attached To
Mode
rCDRT CDRTool
Attached
Detach File
Event Timeline
Log In to Comment