Astpp
Astpp
Release latest
1 Introduction 3
2 Installation 7
3 Security 19
4 Service Monitoring 25
5 Modules 27
6 FAQ 93
7 Report a Bug 95
8 Get Support 97
i
ii
ASTPP Documentation, Release latest
ASTPP is an Open Source VoIP Billing Solution for Freeswitch. It supports pre-paid and post-paid billing with call
rating and credit control. It also provides many other features such as calling cards, least cost routing (LCR), did
management, resellers management etc.
Contents 1
ASTPP Documentation, Release latest
2 Contents
CHAPTER 1
Introduction
Related pages
3
ASTPP Documentation, Release latest
1.1 Features
1.2 Components
• Nginx (http://nginx.com/)
– NGINX accelerates content and application delivery, improves security, facilitates avail-
ability and scalability for the busiest web sites on the Internet.
• PHP (http://php.net/)
– PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source
general-purpose scripting language that is especially suited for web development and can
be embedded into HTML.
• Lua (http://lua.org/)
– Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports pro-
cedural programming, object-oriented programming, functional programming, data-driven
programming, and data description.
• MySQL (https://www.mysql.com/)
– MySQL is a freely available open source Relational Database Management System
(RDBMS) that uses Structured Query Language (SQL). SQL is the most popular language
for adding, accessing and managing content in a database. It is most noted for its quick
processing, proven reliability, ease and flexibility of use.
• FreeSwitch (https://freeswitch.org/)
4 Chapter 1. Introduction
ASTPP Documentation, Release latest
Note: Promotion
If you’r carrier and would like to add your company name listed in ASTPP then please contact us at
[email protected].
1.Become a tester and report bugs in bug tracker: Here is the link https://github.com/iNextrix/ASTPP/issues
2.Write or improve our project documentation : Which is me :)
3.Become a translator : If you have good command over other language then here is one more options for you to
become a translator for documentation or portal labels.
4.Suggest a feature : If you have an idea you feel could improve the project, you can suggest us.
5.Help with design : If you have a talent for design, why not offer to help design the project’s website or logo? If you
fancy a bigger challenge, you could volunteer to give the project’s user interface a makeover.
6.Donate by money : You can contribute to survive project, speed project development and to encourage team.
Donation paypal id is [email protected].
7.Build a community : As we are an open source, to survive it needs to become the center of a large, engaged
community. Community means more people to discover and report issues, suggest new features, and generally help
to spread the word. There’s lots of ways you can help to grow a project’s community, but a few popular methods are
writing blogs and tutorials, promoting the project on social networks, and becoming active on its mailing list and/or
forums, particularly when it involves answering questions newcomers have about the project.
6 Chapter 1. Introduction
CHAPTER 2
Installation
ASTPP Guide
we are using ASTPP version 3.5 and supporting only two OS for manual installation. You can opt any of
them from below links.
7
ASTPP Documentation, Release latest
yum update
yum groupinstall "Development tools" -y
Install Freeswitch
1. Install Freeswitch pre-requisite packages
cd /usr/local/src
git config --global pull.rebase true
3. Edit modules.conf
8 Chapter 2. Installation
ASTPP Documentation, Release latest
Note: # add a module by removing ‘#’ comment character at the beginning of the line # remove a module by inserting
the ‘#’ comment character at the beginning of the line containing the name of the module to be skipped
ASTPP Install
1. Download ASTPP
# Download ASTPP 3.5 source from git
cd /usr/src
git clone https://github.com/iNextrix/ASTPP
either have to move it to Nginx and/or remove apache. You can also change default
˓→port for apache if want to use-
4. Normalize ASTPP
#Create access & error log files.
touch /var/log/nginx/astpp_access_log
touch /var/log/nginx/astpp_error_log
touch /var/log/nginx/fs_access_log
touch /var/log/nginx/fs_error_log
systemctl restart php-fpm
service nginx reload
ASTPP using FreeSWITCH (if you want to use ASTPP with FreeSWITCH)
1. Configure freeswitch startup script
cp /usr/src/latest/freeswitch/init/freeswitch.centos.init /etc/init.d/freeswitch
chmod 755 /etc/init.d/freeswitch
chmod +x /etc/init.d/freeswitch
chkconfig --add freeswitch
chkconfig --level 345 freeswitch on
mkdir /var/run/freeswitch
#Setting permisssion
chown -Rf root.root /var/lib/astpp/
chown -Rf root.root /var/log/astpp/
chown -Rf root.root /usr/local/astpp/
chown -Rf root.root /var/www//
mkdir -p /var/lib/astpp
cp /usr/src/ASTPP/config/* /var/lib/astpp/
10 Chapter 2. Installation
ASTPP Documentation, Release latest
cp /usr/src/ASTPP/freeswitch/conf/autoload_configs/* /usr/local/freeswitch/conf/
˓→autoload_configs/
astpp-config.conf
Note:- Replace "<SERVER FQDN / IP ADDRESS>" with your server domain name or IPaddress
Note:- If you want to use firewall then configure it to allow all port used in fs and
˓→ASTPP.
Setup cron
# Generate Invoice
0 1 * * * cd /var/www/html/astpp/cron/ && php cron.php GenerateInvoice
# Email Broadcasting
0 0 * * * cd /var/www/html/astpp/cron/ && php cron.php BroadcastEmail
reboot now
Note: You are done with GUI installation. Enjoy :) Visit the astpp admin page in your web browser. It can be
found here: http://server_ip:8089/ Please change the ip address depending upon your box. The default username and
password is “admin”.
Note : In case of any issue please refer apache error log.
Note: If you have any other question(s) then please contact us on [email protected] or post your questions(s) in
https://groups.google.com/forum/#!forum/astpp.
Debian 8 Installation
Install Freeswitch
1. Install Freeswitch pre-requisite packages
#Add freeswitch source list
curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key
˓→add -
12 Chapter 2. Installation
ASTPP Documentation, Release latest
#Install dependencies
apt-get -o Acquire::Check-Valid-Until=false update && apt-get install -y --force-yes
˓→freeswitch-video-deps-
most apt-get install -y autoconf automake devscripts gawk chkconfig dnsutils sendmail-
˓→bin sensible-mda ntpdate ntp g++
dev libvpx2-dev gettext sudo lua5.1 php5 php5-dev php5-common php5-cli php5-gd php-
˓→pear php5-cli
3. Edit modules.conf
#Enabling mod_xml_curl, mod_json_cdr, mod_db
sed -i "s#\#xml_int/mod_xml_curl#xml_int/mod_xml_curl#g" /usr/local/src/freeswitch/
˓→modules.conf
Note: # add a module by removing ‘#’ comment character at the beginning of the line # remove a module by inserting
the ‘#’ comment character at the beginning of the line containing the name of the module to be skipped
ln -s /usr/local/freeswitch/bin/freeswitch /usr/local/bin/freeswitch
ln -s /usr/local/freeswitch/bin/fs_cli /usr/local/bin/fs_cli
ASTPP Install
1. Download ASTPP
As we are using Nginx from now onwards in ASTPP 3.0, if you are using apache for any
˓→applicaion then-
either have to move it to Nginx and/or remove apache. You can also change default
˓→port for apache if want to use-
4. Normalize ASTPP
ASTPP using FreeSWITCH (if you want to use ASTPP with FreeSWITCH)
1. Configure freeswitch startup script
cp /usr/src/ASTPP/freeswitch/init/freeswitch.debian.init /etc/init.d/freeswitch
14 Chapter 2. Installation
ASTPP Documentation, Release latest
mkdir -p /usr/local/astpp/
mkdir -p /var/www/
#Setting permisssion
chown -Rf root.root /var/lib/astpp/
chown -Rf www-data.www-data /var/log/astpp/
chown -Rf root.root /usr/local/astpp/
chown -Rf www-data.www-data /var/www/
mkdir -p /var/lib/astpp
cp /usr/src/ASTPP/config/* /var/lib/astpp/
cp /usr/src/ASTPP/misc/odbc/deb_odbcinst.ini /etc/odbcinst.ini
Note:- Replace "<MYSQL_ROOT_PASSWORD>" with your mysql root login password and "
˓→<ASTPP_USER_PASSWORD>" is as per
your choice.
astpp-config.conf
Note:- Replace "<SERVER FQDN / IP ADDRESS>" with your server domain name or IPaddress
Note:- If you want to use iptables then configure it to allow all port used in fs and
˓→ASTPP.
Setup cron
# Generate Invoice
0 1 * * * cd /var/www/html/astpp/cron/ && php cron.php GenerateInvoice
16 Chapter 2. Installation
ASTPP Documentation, Release latest
# Email Broadcasting
0 0 * * * cd /var/www/html/astpp/cron/ && php cron.php BroadcastEmail
#You are almost done with your configuration so just reboot it and make sure
˓→everything is working fine.
reboot now
Note: You are done with GUI installation. Enjoy :) Visit the astpp admin page in your web browser. It can be
found here: http://server_ip:8089/ Please change the ip address depending upon your box. The default username and
password is “admin”.
Note : In case of any issue please refer apache error log.
Note: If you have any other question(s) then please contact us on [email protected] or post your questions(s) in
https://groups.google.com/forum/#!forum/astpp.
[Origination Configuration]
1. Create Rate Group. Tariff -> Rate Group
2. Select Trunk in Rate Group
3. Add Origination Rates. Tariff -> Origination rates (Pattern example : 1, 235)
[Termination Configuration]
1. Add Gateway under your sip profile. Switch -> Gateways
2. Add Provider. Global Accounts -> Customers -> Create Provider
3. Add your trunk. Carriers -> Trunks
4. Add termination rates. Carriers -> Termination Rates(Pattern example : 1, 235)
Create new Customer or Reseller and assign your created rate group. For customer add SIP Device from View Account
or Freeswitch SIP Devices.
For reseller configuration, create new reseller. Login as reseller. Add Routes. Create customers and then make calls
using that customer.
Register it and make outbound calls.
18 Chapter 2. Installation
CHAPTER 3
Security
Fail2Ban is an intrusion prevention system that works by scanning log files and then taking action based on the entries
in those logs.
You can configure Fail2Ban in a way that will update iptables firewall rules, when an authentication failure threshold
is reached which helps in preventing SIP brute force attacks against FS instances.
Fail2Ban scans your freeswitch log file and bans IP that makes too many password failures. It updates firewall rules
to reject the IP address.
Fail2Ban is available at fail2ban.org as well as more documentation.
Related pages
Apache authentication can be configured to require web site visitors to login with a user and password.
We protect cgi-bin apache directory which contains important perl scripts for dialplan, configurations and directory.
Step # 1: Make sure Apache is configured to use .htaccess file
You need to have "AllowOverride AuthConfig" directive in apache configuration file in
˓→order for directives to have
any effect.
For CentOS
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/cgi-bin">
AllowOverride AuthConfig
Options None
Order allow,deny
Allow from all
</Directory>
19
ASTPP Documentation, Release latest
For Debian
vim /etc/apache2/sites-available/default
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride AuthConfig
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
htpasswd command is used to create and update the flat-files (text file) used to
˓→store usernames and password for
Where,
-c : Create the password-file. If password-file already exists, it is
˓→rewritten and truncated.
Create directory outside apache document root, so that only Apache can access
˓→password file. The password-file should
be placed somewhere not accessible from the web. This is so that people cannot
˓→download the password file:
# mkdir -p /home/secure/
Add new user called astpp
# htpasswd -c /home/secure/apasswords astpp
New password:
Re-type new password:
allow apache user apache to read password file:
For CentOS
# chown apache:apache /home/secure/apasswords
# chmod 0660 /home/secure/apasswords
For Debian
# chown www-data:www-data /home/secure/apasswords
# chmod 0660 /home/secure/apasswords
Now user astpp is added but you need to configure the Apache web server to request a
˓→password and tell the server
which users are allowed access.We have directory /var/www/cgi-bin and we would like
˓→to protect it with a password.
For CentOS
# cd /var/www/cgi-bin
# vim .htaccess
For Debian
20 Chapter 3. Security
ASTPP Documentation, Release latest
# cd /usr/lib/cgi-bin
# vim .htaccess
Add following text:
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/secure/apasswords
Require user astpp
# vim /usr/local/freeswitch/conf/autoload_configs/xml_cdr.conf.xm
<!-- optional: credentials to send to web server -->
<param name="cred" value="astpp:your_paasword"/>
3.4 Fail2ban
Fail2Ban is an intrusion prevention system that works by scanning log files and then taking action based on the entries
in those logs.
You can configure Fail2Ban in a way that will update iptables firewall rules, when an authentication failure threshold
is reached which helps in preventing SIP brute force attacks against FS instances.
Fail2Ban scans your freeswitch log file and bans IP that makes too many password failures. It updates firewall rules
to reject the IP address.
Fail2Ban is available at fail2ban.org as well as more documentation.
Installtion :
For CentOS
cd /usr/src
service iptables stop
wget -T 10 -t 1 http://sourceforge.net/projects/fail2ban/files/fail2ban-stable/
˓→fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2
For Debian
apt-get -y install fail2ban
Configurations:
touch /etc/fail2ban/filter.d/freeswitch.conf
cp /etc/fail2ban/filter.d/freeswitch.conf /etc/fail2ban/filter.d/freeswitch.bak
# vim /etc/fail2ban/filter.d/freeswitch.conf
[Definition]
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named host. The tag '<HOST>' can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values: TEXT
#
failregex
= \[WARNING\] sofia_reg.c:\d+ SIP auth challenge \(REGISTER\) on sofia
profile \'[^']+\' for \[.*\] from ip <HOST>
\[WARNING\] sofia_reg.c:\d+ SIP auth failure \(INVITE\) on sofia profile \'[^']+\'
˓→for \[.*\] from ip <HOST>
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
22 Chapter 3. Security
ASTPP Documentation, Release latest
# vim /etc/fail2ban/filter.d/freeswitch-dos.conf
[Definition]
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named host. The tag '<HOST>' can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values: TEXT
#
failregex
= \[WARNING\] sofia_reg.c:\d+ SIP auth challenge \(REGISTER\) on sofia
profile \'[^']+\' for \[.*\] from ip <HOST>
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.bak
# vim /etc/fail2ban/jail.local
[freeswitch]
enabled = true
port = 5060,5061,5080,5081
filter = freeswitch
logpath = /usr/local/freeswitch/log/freeswitch.log
maxretry = 10
bantime = 10000000
findtime = 480
action = iptables-allports[name=freeswitch, protocol=all]
sendmail-whois[name=FreeSwitch, dest=, sender=fail2ban@]
[freeswitch-dos]
enabled = true
port = 5060,5061,5080,5081
filter = freeswitch-dos
logpath = /usr/local/freeswitch/log/freeswitch.log
action = iptables-allports[name=freeswitch-dos, protocol=all]
maxretry = 50
findtime = 30
bantime = 6000
/etc/init.d/iptables start
/etc/init.d/fail2ban start
chkconfig fail2ban on
3.4. Fail2ban 23
ASTPP Documentation, Release latest
24 Chapter 3. Security
CHAPTER 4
Service Monitoring
Monit is a small Open Source utility for managing and monitoring systems. Monit conducts automatic maintenance
and repair and can execute meaningful causal actions in error situations.
For ASTPP we can configure apache,freeswitch and mysql services to monitor.
Installation
For CentOS
yum install monit
For Debian
apt-get install monit
Configurations:
Enable Web Interface in Monit
Monit also provided an web interface to view services and processes status. To enable
˓→monit web interface,
edit configuration file ( For CentOS /etc/monit.conf & For Debian System /etc/monit/
˓→monitrc ) and modify following
25
ASTPP Documentation, Release latest
2) MySQL
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
group resources
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
3) Freeswitch
check process freeswitch with pidfile /usr/local/freeswitch/run/freeswitch.pid
start program = "/etc/init.d/freeswitch start"
stop program = "/etc/init.d/freeswitch stop"
if 5 restarts within 5 cycles then timeout
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then alert
if totalmem > 2000.0 MB for 5 cycles then restart
if children > 2500 then restart
It will notify the status of services in email which are configured in configuration
˓→file.
Start service
Modules
5.1 Login
27
ASTPP Documentation, Release latest
5.2 Dashboard
ASTPP have nice dashboard page with Summary of total call graph, Top 10 accounts and Recent accounts information.
You can also change month and year from top right drop downs by default it show current month records in graph.
28 Chapter 5. Modules
ASTPP Documentation, Release latest
5.3 Accounts
ASTPP have different types accounts based on their roles and responsibility. They are as below,
• Customers / Providers
• We consider customers as (Originator) and providers as (Terminator + Originator) and will be able to do various
operations like as below,
1. Purchase DIDs & configure it
2. Recharge account
3. Create own SIP Devices
4. Manage own caller ids
5. Invoices
6. Check their CDRs
• Resellers
• ASTPP gives you freedom to create N level resellers and each reseller will be able to configure their own rates
and customers. Resellers will be able to do below operations in system,
1. Create customers & sub-resellers
2. Configure rate groups & rates
3. Purchase DIDs
4. Invoices
5. Check reports
6. Personalize invoices configurations
• Admin / Sub admins
• Admins are having full control over system whereas sub admins are having only reporting permissions.
5.3. Accounts 29
ASTPP Documentation, Release latest
30 Chapter 5. Modules
ASTPP Documentation, Release latest
Refill
Add Caller ID
Edit
Delete
Once you click on Create Customer button, it will show you page to create new account like below screenshot. Enter
appropriate information in page and click on save button to create account successfully.
For creating resellers, admins and sub-admins, we have similar process.
5.3. Accounts 31
ASTPP Documentation, Release latest
32 Chapter 5. Modules
ASTPP Documentation, Release latest
Account Also referred as User Name,Card Number or ID is typically a 10 unique digits that identify an account
into the system.
Length of account number is configurable, admin can change it from global configuration.
Password The password that needs to be provided to the customer so he/she can log into portal.
Pin Calling Card Pin Important if customer is using calling card feature. Length of pin is configurable,
admin can change it from calling card configuration.
First- Customer First name
Name
Last- Customer Last name
Name
Company Customer Company name
Tele- Customer Telephone number
phone
Country Customer Country
Time- Customer Timezone
zone
Status Customer account status
Max Maximum allowed concurrent channels for outbound calls. 0=Unlimited
Channels
Number If you wish to translate number with some defined number for specific customer then use this feature.
Transla-
tion
First Customer account’s first used date and time. It will be updated when customer will do first call from
Used system.
Expiry Customer account’s expiry date. After that date, customer wouldn’t be able to make new calls.
Date
Valid Valid days for customer account.
Days
Create By selecting check-box sip device is automatically created for that new user account.
SIP
Device
Rate Rate group is an essential field for billing. Without rate group customer wouldn’t be able to make any
Group calls. You can create rate group by navigating to Tariff -> Rate group.
Billing Billing schedule for invoice generation.
Schedule
Billing If billing schedule is monthly then you will be able to define the day on which you want customer
Day invoice should be generated.
Currency Customer account’s currency. If customer currency is INR then all amounts will appear in INR in
customer portal.
Account Select customer account type. Prepaid OR Postpaid. For prepaid customers, system will generate
Type receipts as soon as any charges will be applied to them. For Postpaid, system will generate invoice on
defined Billing Day.
Credit Customer account’s credit limit. Credit limit is only used for the postpaid account.
Limit
Tax Select applicable taxes You can create taxes from Configuration -> Taxes.
Low Define low balance amount on which you want to send notification to customer.
Balance
Alert
Enable system will notify for Low credit if this option is set to Yes.
Email
Alerts?
Email E-mail address to get Low credit notification.
Address
5.3. Accounts 33
ASTPP Documentation, Release latest
34 Chapter 5. Modules
ASTPP Documentation, Release latest
Related pages
5.3. Accounts 35
ASTPP Documentation, Release latest
Account Details
36 Chapter 5. Modules
ASTPP Documentation, Release latest
Account Also referred as User Name,Card Number or ID is typically a 10 unique digits that identify an ac-
count into the system. Length of account number is configurable, admin can change it from global
configuration.
Password The password that needs to be provided to the customer so he/she can log into portal.
Pin Calling Card Pin Important if customer is using calling card feature. Length of pin is configurable,
admin can change it from calling card configuration.
First- Customer First name
Name
Last- Customer Last name
Name
Company Customer Company name
Tele- Customer Telephone number
phone
Country Customer Country
Time- Customer Timezone
zone
Status Customer account status
Max Maximum allowed concurrent channels for outbound calls. 0=Unlimited
Channels
Number If you wish to translate number with some defined number for specific customer then use this feature.
Transla-
tion
First Customer account’s first used date and time. It will be updated when customer will do first call from
Used system.
Expiry Customer account’s expiry date. After that date, customer wouldn’t be able to make new calls.
Date
Valid Valid days for customer account.
Days
Create By selecting check-box sip device is automatically created for that new user account.
SIP
Device
Rate Rate group is an essential field for billing. Without rate group customer wouldn’t be able to make any
Group calls. You can create rate group by navigating to Tariff -> Rate group.
Billing Billing schedule for invoice generation.
Schedule
Billing If billing schedule is monthly then you will be able to define the day on which you want customer
Day invoice should be generated.
Currency Customer account’s currency. If customer currency is INR then all amounts will appear in INR in
customer portal.
Account Select customer account type. Prepaid OR Postpaid. For prepaid customers, system will generate
Type receipts as soon as any charges will be applied to them. For Postpaid, system will generate invoice on
defined Billing Day.
Credit Customer account’s credit limit. Credit limit is only used for the postpaid account.
Limit
Tax Select applicable taxes You can create taxes from Configuration -> Taxes.
Low Define low balance amount on which you want to send notification to customer.
Balance
Alert
Enable system will notify for Low credit if this option is set to Yes.
Email
Alerts?
Email E-mail address to get Low credit notification.
Address
5.3. Accounts 37
ASTPP Documentation, Release latest
IP Settings
To enable IP Based authentication for customer. Define customer IP’s in below TAB and system will start accepting
calls from defined IPs.
Name Add a name for identification only, this can be the client OR server name if you wish.
IP Address Add the IP Address you want to authenticate with.
Prefix For additional validation over IP based authentication.
Caller ID
38 Chapter 5. Modules
ASTPP Documentation, Release latest
Speed Dial
Block Codes
If you wish to block certain prefixes for account then you can configure those prefixes from Block Codes TAB.
5.3. Accounts 39
ASTPP Documentation, Release latest
DID
Subscription
40 Chapter 5. Modules
ASTPP Documentation, Release latest
Account Invoices
5.3. Accounts 41
ASTPP Documentation, Release latest
Refill Report
Charges History
CDRs
Customer account CDR information. That will display incoming and outgoing calls.
This report will display only current day records only.
42 Chapter 5. Modules
ASTPP Documentation, Release latest
Emails
5.3. Accounts 43
ASTPP Documentation, Release latest
Alert Threshold
Rate Rate group is an essential field for billing. You can create rate group by navigating to Tariff -> Rate
Group group.
Account Type Select customer account type. Prepaid OR Postpaid.
Status Account status.
Entity Type Account entity type whether its customer or provider.
Email Template Select appropriate template from drop-down.
44 Chapter 5. Modules
ASTPP Documentation, Release latest
Compose Email
5.3. Accounts 45
ASTPP Documentation, Release latest
5.4 Accounting
Related pages
5.4.1 Invoices
This page will display list of Invoice & Receipt generated for customers and resellers.
Also admin & reseller can generate manual invoice for their customer.
You can download invoice in PDF format.
46 Chapter 5. Modules
ASTPP Documentation, Release latest
5.4.2 Subscription
Subscription is kinda package that will be applicable to customer upon invoice generation OR assignment.
Example : If admin would like to charge customers $100 for Equipment usage on monthly/Daily basis then they can
create such type of subscription packages from this module and assign it to entire rate group to individual customers.
Create Subscription
5.4. Accounting 47
ASTPP Documentation, Release latest
48 Chapter 5. Modules
ASTPP Documentation, Release latest
This report will display all the charges information which apply to specific account.
By this report admin know the complete system transaction same way reseller can show their sub entity transactions.
Using refill coupon number user can refill their own account.
Only admin & reseller can create refill coupon.
5.4. Accounting 49
ASTPP Documentation, Release latest
5.5 DIDs
50 Chapter 5. Modules
ASTPP Documentation, Release latest
Related pages
5.5. DIDs 51
ASTPP Documentation, Release latest
DID Billing
52 Chapter 5. Modules
ASTPP Documentation, Release latest
DID Setting
Note: File must be in the following format(.csv): DID,Country,Account,Per Minute Cost(USD),Initial Incre-
ment,Increment,Setup Fee(USD), Monthly Fee(USD),Call Type,Destination,Status
535345345,India,2096034879,1,0,1,0,0,PSTN,1234567890,Active
65456456,Alaska,2096035512,0.5,0,1,0,1,DID-Local,1002,Active
Select provider, csv file of DID and click on Import button, It will display below sample output. You can confirm
format if its system recognize your imported file correctly.If all looks good then click on process and system will
import all your DIDs.
5.5. DIDs 53
ASTPP Documentation, Release latest
54 Chapter 5. Modules
ASTPP Documentation, Release latest
5.6 Tariff
Related pages
Rate group is an important module of ASTPP. This belongs to customer and rating.
5.6. Tariff 55
ASTPP Documentation, Release latest
56 Chapter 5. Modules
ASTPP Documentation, Release latest
Related pages
5.6. Tariff 57
ASTPP Documentation, Release latest
58 Chapter 5. Modules
ASTPP Documentation, Release latest
Note: File must be in the following format(.csv): Code,Destination,Connect Cost,Included Seconds,Per Minute
Cost, Increment,Precedence.
1,USA,0.0000,0,1.0000,30,60
91,India,0.0000,0,0.5000,0,0
Select rate group, force trunk and csv file of origination rates and click on Import button, It will show below output to
confirm if rates format are correct. Once you confirm then click on process and it will import those rates in system
Export your Origination rates by clicking on Export button. If you would like to export specific criteria rates then you
can search those rates using search feature and then export.
Below is an example with search option,
5.6. Tariff 59
ASTPP Documentation, Release latest
5.6.3 Packages
Package feature allows you to prepare various free packages for specific destinations and offer to your customers.
Customers can take benefit of this and can make free calls to selected destinations.
Related pages
60 Chapter 5. Modules
ASTPP Documentation, Release latest
Create Package
Package Codes
5.6. Tariff 61
ASTPP Documentation, Release latest
Usage Report
Package usage report is shows the usage of the customer for specific package.
5.7 Carriers
Related pages
5.7.1 Trunk
Trunk is key module for LCR routing and associated with termination rates and provider account.
62 Chapter 5. Modules
ASTPP Documentation, Release latest
Create Trunk
5.7. Carriers 63
ASTPP Documentation, Release latest
Termination rates belongs to Trunk. We can consider termination rates as carrier rates / buy rates as these rates will be
applicable on providers.
Before dialing number to gateway, system will do LCR process in termination rates and find out best match and low
cost prefix and dial out using that.
Related pages
64 Chapter 5. Modules
ASTPP Documentation, Release latest
5.7. Carriers 65
ASTPP Documentation, Release latest
Note: File must be in the following format(.csv): Code,Destination,Connect Cost,Included Seconds,Per Minute
Cost,Increment, Precedence,Strip,Prepend.
1,UNITED STATES,0,10,0.5,60,0,0,0
91,India,0.1,15,0.25,60,0,0,0
Select trunk and csv file of termination rates and click on Import button, It will show below output to confirm if rates
format are correct. Once you confirm then click on process and it will import those rates in system.
Export your Termination rates by clicking on Export button. If you would like to export specific criteria rates then you
can search those rates using search feature and then export.
Below is an example with search option,
66 Chapter 5. Modules
ASTPP Documentation, Release latest
5.8 Switch
Related pages
5.8. Switch 67
ASTPP Documentation, Release latest
From here user can create sip devices for the customer to make call. To Create sip devices click on Add SIP Devices
and you will get popup form to create device. Assign this device to appropriate customer and suitable sip profile.
Device Information
68 Chapter 5. Modules
ASTPP Documentation, Release latest
Voicemail Options
5.8.2 Gateways
5.8. Switch 69
ASTPP Documentation, Release latest
Create Gateway
70 Chapter 5. Modules
ASTPP Documentation, Release latest
Optional Information
5.8. Switch 71
ASTPP Documentation, Release latest
Freeswitch Server is use to store freeswitch server details with host and location
Once is there any changes are done in Gateways or sip profiles at that time its need to reload Freeswitch servers that
time this information are useful to reload freeswitch.
72 Chapter 5. Modules
ASTPP Documentation, Release latest
5.8.5 IP map(ACL)
5.8. Switch 73
ASTPP Documentation, Release latest
Create IP map(ACL)
74 Chapter 5. Modules
ASTPP Documentation, Release latest
Create Caller ID
Related pages
Related pages
Customer
You can find CDRs entry under reports menu. CDRs for different accounts
Reseller
76 Chapter 5. Modules
ASTPP Documentation, Release latest
Provider
Related pages
Customer Summary
Reseller Summary
Provider Summary
Trunk Stats
78 Chapter 5. Modules
ASTPP Documentation, Release latest
5.10 Configuration
Related pages
Whatever information you configure in invoice configuration that will be shown in generated invoice.
Basic information should be filled in this for like company name, address , website and contact information.
5.10. Configuration 79
ASTPP Documentation, Release latest
5.10.2 Taxes
Taxes are meant to be charge some amount on invoices. After creating taxes you can assign it to any of customer by
clicking on Add Taxes button from customer list.
Taxes can assign to customer as well as resellers. You can specify tax in percentage (%) as well as specific amount to
be charge on invoice.
To create Taxes go to Accounting menu in ASTPP portal. From popup select Taxes it will show you the list of the
taxes. You can create new taxes by clicking on Create button.
80 Chapter 5. Modules
ASTPP Documentation, Release latest
Create Tax
5.10. Configuration 81
ASTPP Documentation, Release latest
82 Chapter 5. Modules
ASTPP Documentation, Release latest
5.10.4 Countries
Create Country
5.10. Configuration 83
ASTPP Documentation, Release latest
5.10.5 Currencies
84 Chapter 5. Modules
ASTPP Documentation, Release latest
Create Currency
5.10. Configuration 85
ASTPP Documentation, Release latest
Restore database
Download database
Delete database
86 Chapter 5. Modules
ASTPP Documentation, Release latest
Import Database
5.10.7 Settings
Global-Settings
5.10. Configuration 87
ASTPP Documentation, Release latest
Email-Settings
88 Chapter 5. Modules
ASTPP Documentation, Release latest
Calling Cards
Starting Digit The digit that all calling cards must start with. 0=disabled.
Card Length Number of digits in calling cards and cc codes.
Pin Length For those calling cards that are using pins this is the number of digits it will have.
Card Retries How many retries do we allow for calling card numbers?
Pin Retries How many retries do we allow for pins?
Rate Announce Do we want the calling cards script to announce the rate on calls?
Time Limit Announce Do we want the calling cards script to announce the time-limit on calls?
Pin Input Timeout How long do we wait when entering the calling card pin? Specified in MS.
Card Input Timeout How long do we wait when entering the calling card number? Specified in MS.
Dial Input Timeout How long do we wait when entering the destination number in calling cards? Specified
in MS.
General Input Time- How long do we wait for input in general menus? Specified in MS.
out
Welcome File What do we play for a welcome file?
ANI Authentication Calling card ANI authentication. 0 for disable and 1 for enable.
IVR count IVR playback loop count.
Balance Announce- Do we want the calling cards script to announce the balance of account?
ment
CC Access Numbers Add calling card access numbers with comma separation. Ex : 12345678,3581629
5.10. Configuration 89
ASTPP Documentation, Release latest
Opensips-Settings
Paypal-Settings
90 Chapter 5. Modules
ASTPP Documentation, Release latest
Signup-Settings
92 Chapter 5. Modules
CHAPTER 6
FAQ
Related Page
6.1 Questions
93
ASTPP Documentation, Release latest
10. How can I contribute code or donate money to support project? You can simply send your code to us
for review and we will include it in open source version. You can donate us at paypal account
[email protected]
11. Do you offer support? Yeah we do offer installation, configuration, on demand support, recurring support &
custom development. You can check our pricing from http://astpp.inextrix.com/cart.php. For custom
development, you can drop an email to us at [email protected] OR use http://astpp.inextrix.com/contact.
php
Technical Questions
1. What databases are supported in ASTPP ? It supports only MySQL (PostgreSQL support will be added in
future release).
2. What payment gateways are supported in ASTPP ? Paypal only for now. In future we have plan to add
authorize.net payment gateway.
3. Does ASTPP support Multi-language ? No
4. Does ASTPP current version support callshop? No. It will be included in future releases. To get more infor-
mation you can contact us at [email protected].
5. How can I update my source from to keep it update to date? ASTPP provides update.sh script with its
source just run that script to update your source.
6. When I go to login page, rather WEBUI I get long list of php contents. Enable short_open_tag in php.ini
and then restart apache.
7. Why I am not able to register extensions after installation? Make sure you have configured your IP in Sip
Profile and your registration request is reaching to server.
8. How to verify if ASTPP and FreeSWITCH communicating properly? Default sip profile must be loaded in
FreeSWITCH
9. While login I am getting “Unable to connect to your database server using the provided settings” error.
Please check your database credentials. ASTPP uses /var/lib/astpp/astpp-config.conf file for database
connection.
10. How can I do IP Authentication for my customers? Configure your customer IP under Customers -> IP Set-
tings
11. Does CDRs report will show all data ? No, CDRs report will only record of current day. If you want to see
record of previous days record then you need to search.
94 Chapter 6. FAQ
CHAPTER 7
Report a Bug
Please feel free to report in our bug tracker below in case of any issues you find:
https://github.com/iNextrix/ASTPP/issues
Or post your questions on:-
https://groups.google.com/forum/#!forum/astpp
Note: To avoid duplicate bug posts, we would suggest you to refer existing bugs list and google groups first.
95
ASTPP Documentation, Release latest
Get Support
We have provided installation and operation instructions with online help to assist you to install and manage your own
ASTPP Platform. However from time to time you may need some clarification or support. There are a number of
options available described below.
Paid Support : Paid support is available from ASTPP.
managed Installation : Stable and secure installations can be performed by us with training and optionally,ongoing
support.
97