Wholesale voice is a growth market, with service providers building new capacities and launching new services. The primary wholesale service is long-distance transport and aggregation, with the key advantage being that country-specific features and domestic calling regulations are not required. The principal beneficiaries are developing countries, where, in many cases, the quality of VoIP is superior to that of traditional PSTN services.
Typical business case
Central to the delivery of wholesale voice services are voice points-of-presence (POPs), which are interconnected to other service providers. The Minutes Aggregation and Resale service (including ASP Termination) allows wholesale network providers to collect traffic from multiple originating providers, then aggregate and deliver it to the termination providers they select.
The provider in this scenario is the owner of termination node (POP) gw‑example. This is a typical example of a VoIP network where customers pay the provider to terminate traffic at point (A), while the provider himself pays the vendor for traffic at point (B). The provider makes his profit on the difference between:
- the tariff he charges his customer (A1 or A2), and
- the tariff he is being charged by the vendor (B).
The following configuration assumes that the service is provided using only PortaBilling and a termination gateway. Please consult the Setting up a wholesale traffic exchange handbook for an example of advanced wholesale VoIP services using PortaSIP.
Setting up your network components
Configuring gateway
- Basic router configuration
It is highly recommended to use the latest telephony IOS and DSP firmware, and that the hostname be the same as the h323-id.
hostname <h323_id> ip domain name <default domain>
VSA h323-gw-id=“hostname.domain” - NTP
It is very important to have reliable time services.
ntp server <name/IP> ……. ntp server <name/IP> ntp master 5 clock timezone <your time zone> 1 clock summer-time <your summer time zone> recurring <your rules>
It is important that you only use well-known time zone abbreviations which are supported by the billing engine. If unsure, use the UTC time zone. - AAA
aaa new-model aaa authentication login h323 group radius aaa authorization exec h323 group radius aaa accounting connection h323 stop-only group radius
- VoIP interface
interface <your interface to the world> h323-gateway voip interface h323-gateway voip id <gatekeeper id> ipaddr <IP> <port> h323-gateway voip h323-id <h323_id>
If you want to use a virtual interface then add the line:
h323-gateway voip bind srcaddr <IP>
- Enable gateway functionality
gateway
- Enable gateway accounting
For older IOS versions:
gw-accounting h323 vsa
For newer IOS versions (12.2T or 12.3):
gw-accounting aaa acct-template callhistory-detail
VSA does not work for all platforms. - Radius
Ports 1645/1646 are the traditional Radius ports used by many vendors without obtaining an official IANA assignment. The official assignment is now ports 1812/1813, and users are encouraged to migrate to these new ports when possible.
Cisco notes:
- “radius-server” commands will be available only after issuing “aaa new-model” command.
- UDP port for RADIUS accounting server – default is 1646 (see note above)
- UDP port for RADIUS authentication server – default is 1645 (see note above)
Keep in mind:
- Default ports for Cisco are 1645/1646
- Defaults in /etc/ services are 1812/1813
radius-server host <name / IP> auth-port 1812 acct-port 1813 radius-server key <key> radius-server vsa send accounting radius-server vsa send authentication
- Voice-card
- Controller
- Voice-port
Depends on your hardware configuration
- Call application voice & dial-peers
call application voice remote_ip ftp://…./app_remote_authenticate.tcl call application voice remote_ip authenticate-by ip call application voice remote_ip authorize yes ! dial-peer voice 10 pots destination-pattern . port 0:D ! dial-peer voice 11 voip application remote_ip incoming called-number .
Checklist
Use this checklist to check off the operations you have completed while performing the system setup according to the instructions in this chapter. Please be sure to perform all of the operations in the order designated (all of the boxes should be checked), otherwise, the service will not work.
Operation |
Done |
Network configuration |
|
Create a node for your gateway |
|
Configure your gateway |
|
Rating configuration (Vendor) |
|
Create route categories |
|
Create a tariff A, which describes your termination costs |
|
Insert rates in tariff A for destinations you will terminate to PSTN |
|
Create a vendor |
|
Create a connection for this vendor using tariff A |
|
Rating configuration (Customer) |
|
Create a tariff B, which will apply to customers who send you traffic for termination |
|
Insert rates in tariff B for destinations which will be covered by your termination service |
|
Create a wholesale product |
|
Create one rating entry for this product, using the node you created and tariff B |
|
Account provisioning |
|
Create a customer class which will apply to your customers. |
|
Create a retail customer who owns the accounts representing remote gateways |
|
Create an account for each of this customer’s remote gateways. |
|
Assign the routing plan to the account |
|
Testing |
|
Try to make a test call |
Initial configuration of PortaSwitch
If you have just installed the PortaSwitch software or dedicated a new billing environment to configure the services described in this handbook, make sure to first perform the initial configuration of PortaSwitch. To do this, use the Initial configuration of PortaSwitch handbook.
Create destinations
Please refer to the Create destinations chapter of the Initial configuration of PortaSwitch handbook for detailed instruction on how to insert new destinations into the system.
Create nodes
This step is only required if you have not entered your gateways into the system before. In this case, you must enter your gateways as nodes. PortaBilling requires some key information about your network equipment such as IP address, Node ID, Radius shared secret, etc.
- On the navigation menu, select Infrastructure, then Billing data sources, and click Nodes.
- On the Create node panel, fill in the node details:
- Name – a short descriptive name for this node (that will be used in the select menus).
- Node ID – h323-id (recommended hostname.domainname)
- IP – IP address of the gateway.
- Manufacturer – select Cisco or Quintum.
- Type – VoIP node type; select VOIP-GW.
- Click Save.
- Repeat steps 2-3 until all of your nodes have been entered.
- On the Communication with billing section use the slider to enable Communication with billing option and fill in the node details:
- Client protocol – select RADIUS to enable the gateway (node) to communicate with PortaBilling via RADIUS.
- RADIUS key – enter the RADIUS secret key you have specified in the configuration of the gateway.
- RADIUS source IP – unless your gateway has multiple network interfaces, the value here should be the same as the NAS‑IP‑Address.
- Click Save.
Create route categories
Please refer to the Create route categories chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of the route categories creation.
Create a vendor tariff
The tariff is a price list for your termination costs.
- On the navigation menu to the left, select Service catalog and click Tariffs.
- On the Create tariff panel, fill in the tariff details:
- Name – a short name for the tariff object; this is the name you will see in the select menus.
- Currency – indicates the currency the vendor uses to charge you.
The currency for the tariff may be chosen only once, and cannot be changed later.
- Applied to – choose Vendor, as this tariff describes your vendor’s termination costs.
- Routing – enable the Routing, as this tariff will be used not only to calculate termination costs, but also to route SIP calls.
- Click the Save button.
Enter rates in tariffs with routing extensions
Rates define how a call to a specific destination will be charged (e.g., what the price per minute is, how to round off the total call duration, etc.). Please refer to the Call billing parameters section for more details on available parameters for rating voice calls.
Managing rates online
- On the vendor tariff’s panel (Termination to SPT Telecom), click Rates.
- On the Add rate panel, fill in the required information (please refer to the Enter rates in tariffs with routing extensions chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of the available rate attributes).
- Click the Save button.
- Repeat these steps if you need to enter more rates.
Importing rates from a file
You also can upload rates from a .csv or .xls file – please refer to the description of this process in the Rate import handbook.
Perform the Create tariff and Enter rates steps until you have created a tariff with termination costs for each termination partner you have.
Create vendors
Vendors are your termination partners, e.g., companies you send calls to.
- On the navigation menu, select Infrastructure, then select Vendors.
- On the Create vendor panel, fill in the vendor details. Refer to the Create vendors chapter in the Setting up a wholesale traffic exchange handbook for a detailed description of the available attributes).
- Click Save.
- Repeat steps 2–3 to add all of your vendors.
Define connections
Connections represent the point from which calls leave or enter a network and are directed to or from vendors where charges are incurred.
- On your vendor’s panel (SPT Telecom), click Connections.
To set up the configuration, access the Connections group on the configuration server. By default, the ShowPSTNConnectionType feature is off; to activate it, select “Yes” in the corresponding field.
- On the Create connection panel, fill in the connection details:
- Description – type a descriptive name for this connection. It will be displayed in the list of connections.
- Service type – select Voice calls.
- Type of connections – select PSTN.
- Direction – select To vendor.
- Tariff – choose the tariff that defines your termination costs for this connection/vendor.
- Active – use the slider to set this connection as active.
- Node – select the node you have created previously.
- Capacity – specify the maximum number of simultaneous calls the connection can support (e.g., 50).
- Gateway ID – the domain name of the vendor’s gateway.
- Click Save.
Create customer tariffs
Normally you need a separate tariff for each of your customers.
- On the navigation menu, select Service catalog and click Tariffs.
- On the Create tariff panel, fill in the tariff details:
- Name – type a short name for the tariff; this is the name you will see in the select menus.
- Currency – this indicates the currency in which you charge your customers.
The currency for the tariff is only chosen once and cannot be changed later.
- Service – select Voice Calls.
- Applied to – select Customer as this tariff will be used to charge your customers.
- Managed by – select Administrator only here, since we are setting up a service without the involvement of resellers.
Please refer to the Create customer tariffs chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of the available tariff attributes.
- Click Save.
Enter rates
- Go to Add rate panel.
- Fill in the information to add a new rate (please refer to the Enter rates chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of the available rate attributes):
- Effective From – if you want this rate to take effect sometime in the future, you can either type in a date manually, or use the calendar (click the DD-MM-YYYY link). Otherwise, the rate is effective immediately.
When using the calendar, you can specify that the date you are entering is in a different time zone than your current one. PortaBilling will then automatically adjust the time.
- Effective From – if you want this rate to take effect sometime in the future, you can either type in a date manually, or use the calendar (click the DD-MM-YYYY link). Otherwise, the rate is effective immediately.
- Click Save.
- Repeat these steps if you need to enter more rates.
Perform the Create tariff and Enter rates steps described in the Setting up a wholesale traffic exchange handbook until you have created a tariff for each account’s billing scheme. For example, if you plan to have two types of service packages (Termination-Easy and Termination-Gold) with different rates, you will need to create two separate tariffs.
Create a routing plan
A routing plan allows you to apply individual routing methods to certain customers, i.e. blocking them from using certain carriers for termination, or, conversely, only allowing them to use certain carriers in a specific order. If you do not define any custom routing plans, the system default routing plan will be used, allowing access to all available carriers.
- On the navigation menu to the left, select Infrastructure, then Voice calls processing, and in the Routing section, select Routing plans.
- On the Create routing plan panel, fill in the plan details (please refer to the Create routing plans chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of available parameters.)
- Click Save.
Create a product
- On the navigation menu, select Service catalog and click Products.
- On the Create product panel, fill in the product details (please refer to the Create a product chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of the available product attributes).
Create rating entries for the product
For incoming VoIP traffic we normally do not really need different rating entries, as just one row with “ANY” node and tariff should be enough. However, if, for example, you want to let a customer send traffic to your gateway A but not gateway B, this can be achieved by using rating entries.
- On your product’s panel, click Charges, then click Usage charges.
- On the Usage charges panel, click Add.
- Fill in the required information:
- Click Save.
Create invoice template
At the end of the billing period, PortaBilling can produce invoices for your customers. An invoice reflects all transactions (calls, payments, refunds, subscription charges, and so on) that occurred during a specific period. It serves as the primary record of services provided to a certain customer as well as the primary record of his status. To enable invoice generation you need to create a template for the invoice layout first.
Even if you do not plan to distribute invoices to customers (e.g., invoices are produced by an external accounting system), it is still a good idea to create a template and use the word “statement” instead of “invoice.” This way your customers will always have up-to-date information about their history of service consumption.
- On the navigation menu, select My company and click Templates.
- On the Create a templates panel, fill in the template details:
- Click Save.
Configure taxation
Configure taxation method
If you calculate taxes for your customers using an external taxation company (e.g., SureTax or Avalara), it is necessary to configure the respective taxation method.
- On the navigation menu, select Financial and click Taxation.
- On the Taxation panel, select Taxation plugins.
- On the Taxation plugins panel, select the required plug-in (e.g., SureTax). Use a slider to enable the taxation plugin and specify the credentials:
- Click Save.
To configure taxation via the Avalara plug-in, please refer to the Configuring taxation with Avalara handbook.
Define taxes
If you include taxes in your rates, it is necessary to define which taxes will apply to your customers.
- On the navigation menu, select Financial and click Taxation.
- On the Taxation panel, select Customized taxes and fill in the information about the new tax:
- Click Save.
Create a customer class
Customer class provides the ability to define a group of parameters in a centralized way, then apply those parameters to many customers at once.
- On the navigation menu, select Sales, then select Customer classes.
- On the Create a customer class panel, fill in the customer class details:
- Name – type a short name for this customer class.
- Currency – specify the currency in which you want to set the Collection threshold. When specified, this customer class can only be assigned to customers with the same currency. Once the currency selection is saved, it cannot be changed.
- Business model – select which customers this customer class will apply. Select SIP trunking from the list.
- Description – type your comments about the intended use of this customer class.
- Click Save.
General configuration
- On your customer class panel, click Finances, then click General info.
- On the General info panel, fill in general information about the customer class:
- The billing period is closed – select Automatically.
- Configure the Statistics parameters:
- Configure the Status change parameters:
- Suspend customers – specify whether PortaBilling should check whether the customer has sufficient funds for their subscription charges.
Invoicing configuration
- On your customer class panel, click Finances, click Invoicing, then click Regular invoices.
- On the Regular invoices panel, specify the invoicing parameters for the customer class:
- Use regular invoices – enable this parameter to generate regular invoices for customers who belong to this customer class.
- Invoice template – select the appropriate template which will be used to create a .pdf file with the invoice for your customers (e.g., Wholesale customers invoice template).
- Generate invoice pdf – leave the default option At the end of billing period selected.
- Send invoices via email – select Automatically to automatically send an invoice to a customer at the end of a billing period.
- Configure Payment terms, Payment collection and Action upon non-payment parameters for customers. Please consult the PortaBilling help for a description of parameters available here.
- On the Out-of-turn invoices panel, specify the invoicing parameters for the customer class as described in the previous step.
- On the Taxation panel, select one of the available taxation methods and specify the taxation parameters for it. For the Fixed VAT Rate or Custom taxation methods, enable the Taxes included into rates/fees option and taxes that are calculated.
- Click Save.
Create a customer
- On the navigation menu, select Sales, then select Customers.
- On the Create customer panel, fill in the customer details (please refer to the Create a customer chapter of the Setting up a wholesale traffic exchange handbook for a detailed description of the available fields).
- Click Save.
Create accounts
- On your customer’s panel, click Accounts.
- On the Create an account panel, fill in the account information:
- ID – identification of the account (value to be sent in the User-Name attribute). For an account which represents a remote gateway, this is normally an IP address.
- Account role – select IPv4 address from the list.
- Product – choose the main product, which you would like your account to have.
- Activation date – choose the date from which the account is usable. By default, the account is activated immediately upon creation.
- Type – select Credit in this field.
- Balance control – define the way the balance of the account is controlled. Select Subordinate in this field.
- Subordinate – the balance will directly depend on the customer’s balance (only the customer tops up the balance);
- Individual credit limit – this account may have its own balance and credit limit (the customer credit limit still applies.)
- Click Save.
Service configuration
- On your account’s panel, click Services.
On this panel, you can activate/deactivate various features of the voice calls service provided to this account (e.g., assign a routing plan, etc.).
Please consult the PortaBilling help for a description of parameters available here.
- Click Save.
- Repeat steps 2-5 if the customer has more than one signaling IP address of the remote gateway/proxy.
Assign the routing plan to the account
To assign the individual routing plan to the account:
- On your customer’s panel, click Accounts.
- On the Search account panel, search for the required account and click the account ID. You are redirected to the account management panel.
- On the account’s panel, click Services, then Service configuration.
- Navigate to the Outgoing calls configuration panel.
- Use the Override and Enabled sliders for the Routing plan service feature in the Outgoing calls configuration panel.
- Select the routing plan for this account from the list.
- Click Save.