Splynx is a software framework created for Internet service providers and network administrators.
It provides useful functions such as billing, invoicing, central configuration and monitoring of equipment, hotspot billing, client portal etc. The main difference between Splynx and other software frameworks is how the system can be customized – Splynx provides an easy way to create additional modules or to integrate it with 3rd-party software solutions. This can be achieved thanks to the system design. Splynx is a powerful set of modules and open application interfaces (API), which is whywe call it a Framework.
Features and Benefits
Splynx operates in several areas. Each ISP manages access to its own network centrally. The ISP system also works efficiently with finances, paired payments from bank accounts or payments via payment gateways. The ability to block non-paying customers in time is also very important, as well as communication with customers via different communication channels.
1. Network management
Central authentication of customers
NAS can be connected to Splynx through a Radius server. Splynx Radius server supports Cisco, Mikrotik, FreeBSD, UBNT Edge routers, and Juniper. With its own Radius server Splynx can authenticate any PPP or VPN connection such as PPPoE,PPTP,L2TP, OVPN etc. Splynx can also authenticate Wireless customers based on their MAC address or perform DHCP authentication.
In Mikrotik RouterOS without Radius, Splynx can set up local authentication via API. Splynx creates rules (secrets) for customer authentication and then Mikrotik Router performs authentication locally without requesting the Radius server. This setup has its own advantages (no need for Radius server) and disadvantages (the same customer must always connect to the same router).
Splynx Radius server is capable of processing thousands of requests, and the module is scalable for over 100 000 concurrent online sessions.
When you use Radius, Splynx sends information to NAS about speed limits in Rate-limit attributes. This is supported by all vendors and Splynx has a complex Radius engine, which supports the adding and configuration of different attributes and variables.
In the Mikrotik RouterOS setup you can benefit from creating complex Queue Trees with Mikrotik API. Splynx pushes the queue rules to the Mikrotik router and can define things such as priority per plan/customer, aggregation per router/sector or aggregation of customers per tariff plan.
An important part of the Splynx ISP Framework is smart bandwidth management. Customer speed can be defined based on the amount of traffic per month, per week or even per day. Splynx can also set up maximum online time in hours per customer.
Examples of the bandwidth manager include
1. Double speed at night
2. Unlimited traffic on weekends
3. Speed limit after the daily download limit is exceeded
4. Customer access at a certain time of the day
5. Time-based access regulation
6. Aggregation of customers into groups
Blocking of non-payers and further redirection
With Radius and Mikrotik API, Splynx manages the blocking and processing of non-paying users. This can be achieved automatically when non-payers are blocked after period of time without paying, or the administrator can block the customer’s account manually. The customer receives an IP from a predefined pool, or his existing IP address can be added to the address list of non-payers. The administrator can then easily set up a redirection rule and send the customer to a special webpage. Splynx has 4 special webpages for different customer blocking. These webpages are fully customizable like many other parts of the Splynx ISP Framework.
IP address management
There are several ways to manage IP address assignments. Many administrators, even in large companies, are using excel sheets,due to alack of smart IP address management tools. We recommend our engine for IP address management . This module is connected to the customer database in Splynx. When an IP address or subnet is assigned to a customer for his access, the IPs are locked in the IP address management tab too. The main advantage of this approach is avoiding IP conflicts when several customers get the same IP, or an IP with the wrong range. With our IPAM an overview of the current situation is always available.
Splynx monitoring is based on SNMP, RRD and Ping tools. The administrator can set up monitoring for any OID supported by hardware vendors and draw charts with Splynx. Moreover, our monitoring supports impressive weathermaps. We use open source projects in Splynx – http://network-weathermap.com.
It’s a very powerful tool for visual interpretation of networks, and it it can be easily connected to the Splynx ISP Framework. Network monitoring enables the sending of alerts via email and sms gateways.
2. Billing and invoicing
The whole billing process in Splynx is based on transactions.
A transaction is added when :
1. Splynx charges a customer for a billing period
2. A customer makes a payment
3. The administrator adds or removes money to/from the customer’s balance
The transaction system provides a clear overview of the history of the customer‘s balance and why it was changed.
Splynx can invoice every month in prepay mode or postpay mode.
Prepay mode – when we send customers an invoice on the 1st of May for the period of May 1-31.
Postpay mode – when send customer an invoice on the 1st of May for the previous month (April).
The invoice date can be the 1st day of month, or each customer can have a different invoice date, depending on the date when he was connected.
This means that some customers can be charged for 04/12 – 05/11 and other customer can be charged for 04/25 – 05/24
The feature of postponed invoicing is also available, which means that an invoice for the period of May 1-31 is issued in May.
The invoice engine is very complex and can be configured to meet the special needs of each ISP.
A customer may receive many different ISP services – Internet connection, public IPs, TV, VOIP, mobile calls etc.
All these services can be defined in Splynx and then added to particular customers.
If a customer has VOIP or Mobile services, Splynx can process CDR files from different PBX systems and charge the customer.
The customer then receives one common invoice for all services, including calls, data and SMS. All his data from CDRs are also visible in the Splynx client portal and the customer can view his statistics and call details.
Splynx provides the ability to work with or without invoices.
Without issuing invoices, Splynx just receives payments and charges customers for each invoice period without creating an official document.
In cases when invoicing is required, Splynx is able to generate invoices automatically. The administrator can also issue invoices manually.
Invoices in PDF format are fully customizable.
Sometimes companies don’t issue invoices directly to customer, they send him a request for payment or pro-forma invoice.
This is a non-taxable document that doesn’t change the customer‘s when created by Splynx.
The main reason for this invoicing approach is to prevent the payment of VAT for non-paying customers.
When a customer pays the amount of money specified on the PDF request, the company can issue a tax invoice.
Splynx supports all possible payment gateways and can process different bank statement formats. Splynx has a pairing engine and payment processing built into the core of the system. Some payment gateways such as Paypal are enabled by default. Our developers can add payment gateways for customers, based on their needs and bank or gateway format.
Splynx can process thousands of payment transactions and pair them with accounts in the system. This fully automates the process for the accounting department of ISP.
Imports and exports
All invoices, requests and payments can be imported to any accounting software.
Splynx supports different export formats and other formats can be added, because all export/import operations are done via stong Splynx API.
The framework can be integrated with accounting software such as QuickBooks, automatically synchronizing invoices and payments in these two.
With Splynx you can also get a flexible tool for importing/exporting whole customer databases or parts of databases.
3. Customer relation management
Splynx works with a Twig smart template engine.
With Twig it’s easy to create any kind of HTML template and we use it for to generate documents such as agreements, connection protocols etc.
All emails to customers can be sent as an HTML message with a unique structure and company design.
The client portal is fully customizable with Twig templates, thanks to which each ISP can have its own client portal for customers.
Splynx has an internal CRM, which shows the customer’s entire communication history. This communication is based on email messages, SMS, tickets, or commentaries.
Splynx can automatically send invoices and information about services/payments to customers via email or/and SMS. We have 3 types of reminders that are sent to non-paying customers.
4. API, Administration and logging
All parts of Splynx are available through API. Other applications can create new customers, set up a plan, get statistics, documents etc. The bank processing API is very popular and used by our customers, because each ISP has its own bank or payment gateway format.
Each ISP company can create its own custom module and integrate it directly to Splynx or leave it as a standalone application, which will collect and push data from/to the Splynx database. Our customers can also ask us to create a custom module.
Examples of custom modules created by the Splynx team for our customers :
1. Management of CableTV modems (Digi TV, Serbia)
2. Mobile call processing from mobile CDRs (Aircom, Spain)
3. Hotspot software integration (iBound, South Africa)
4. Cashdesk system for payment processing (Acerco Telecom, Spain).
5. Integration with LTE services (Skywire Technologies Pty, South Africa)
Full description of Splynx API is available on http://docs.splynx.apiary.io
Each administrator can have a different type of access to the Splynx system. Manager, installer etc. We have preconfigured permission levels in Splynx. There is also a way to define permissions per individual Splynx user. These administrators can log in to the networking equipment if Radius login authentication is set on devices. A request is then sent from the device to Splynx and access to the device is granted accordingly to administrator’s permission level.
All changes and actions are stored in the Splynx central logging system. There are many different logs from API communication, the Radius server, the Administrator’s actions, changes of plans etc. Plans of tarrif changes are stored in a separate table, so administrators can see when Splynxchanges a tarrif plan and sets up a new speed limitation.
The frontend system is written in PHP programming language. The database is MySQL. The back end consists of different parts. Monitoring is done in NodeJS for high performance, the Radius module is Perl based.
The whole UI part is JQuery and Bootstrap based.
Templates of the system are made in the Twig PHP template engine.
CPU: 2 cores and more
CPU Core speed: 2400 Mhz and more
Memory: 1 GB and more
HDD: 32 GB and more
Network interfaces: 1 and more
Splynx supports Virtual Machines – VMWare, XEN, KVM, Hyper-V
Splynx Isp Framework can’t work on OpenVZ containers.
Software we are using:
OS Linux: Debian 7, or 8 or Ubuntu (14.04, 14.10 or 15.04) , PHP 5.4, 5.5, 5.6, MySQL server
Better is always to secure web server with SSL Certificate. We recommend GlobeSSL service.
We support different vendors; some of their equipment can be connected through specific APIs, and some can be managed using standard protocols or OpenFlow for building SDNs.