the village telco and voip billing
DESCRIPTION
TRANSCRIPT
The Village Telcoand
VoIP Billing
Goal
● To get an understanding of the Village Telco model and its components
● Set up and manage a billing platform for a VoIP network
Agenda
1. The Village Telco• Concept• Components
2. A2Billing Concepts
3. A2Billing Testbed
PART 1The Village Telco
The Village Telco
● A vision of a sustainable ICT communication infrastructure
● Low cost, easy to setup, easy to manage, scalable, open source, standardbased, wireless, local doityourself telephony company!
The Village Telco● Routing Backbone Infrastructure
– Supernode
● Telephony Wireless Clients– Mesh potato (Wireless + VoIP)
● Central server– IP Gateway
– Billing server
– Voice Gateway
– Provisioning server
– Monitoring
The Village Telco
VoIP in Wireless Africa
● Parts of the Village Telco testbed● Routing backbone infrastructure
– Infrastructure or mesh
● Client Device– Mesh potato (under development)
– Access point + VoIP client device● Central Server
VoIP in Wireless Africa
● Central Server– IP Gateway
– Billing server– Voice Gateway (May 09)
– Provisioning server (May 09)
– Monitoring (May 09)
IP Gateway
● Two interfaces– Internet upstreams– LAN
● Route SIP traffic– Solve NAT problems if any
● DHCP server
Billing server
● A2Billing● LAMP platform
– Linux, Apache, MySQL, PHP5
● Customer management and billing– Create and manage customers– Define service levels and rates– Billing
Voice Gateway
● Trunk technologies– SIP/IAX– GSM/CDMA (May 09)– Skype (May 09)
PART 2A2Billing
A2Billing [A2B]
● Billing platform for voice● LAMP configuration● Two web based UI
– Administration (http://yourdomain/A2BillingUI)– Customer (http://yourdomain/A2BCustomerUI)
A2B Concepts
1.Customer
2.Callplan
3.Rate card
4.Rate
5.Trunk
6.Provider
Providers and Trunks
● Provider– One provider can have one or more trunks
● Trunk– Belongs to a provider– Technology: SIP/IAX/Local– Provider IP: IP address of provider– Authentication (sip.conf)
Callplans
● Callplan: service level– Each customer is associated with one callplan
● Callplan is a collection of rate cards connected to a billing algorithm
Rate Cards
● Rate card: a collection of rates● Rate: specifies buying and selling costs for a
certain trunk/provider
Billing Algorithm
● LCR (Least Cost Routing)– Select the trunk with the cheapest carrier cost.
(buying rate)
● LCD (Least Cost Dialing)– Select the trunk with the cheapest retail rate (selling
rate)
Rate
● Defines buying and selling rates for a certain trunk/provider
● Belongs to a certain rate card● Buying/selling rate ($/s)● Buying/selling rate min duration (s)● Buying/selling rate billing block (s)● Connect/disconnect charge ($)
Customer
● Card number Identifies user in Asterisk● Card alias username for A2B web● WebUI password password for A2B web● Tariff Callplan● Access Single/Simultaneously● Currency USD● Run service Yes/No
DID
● Direct Inward Dialing● Phone number for incoming calls● Needs to be defined in A2Billing for each local
customer/extension● DID can be globally unique or locally unique
PART 3A2Billing Testbed
Equipment
● 2 x IP04● 1 x PAP2T (ATA)● 2 x analogue phones● 1 x PC
Actors
● Village Telco (running billing software) [you]● Local client [you]● External client [you]● VoIP provider [us]
Functionality
● Local phone calls (local user > local user)● Incoming phone calls (external user > local user)● Outgoing VoIP call (local user > VoIP provider)
Dialplan
● extensions.conf● A2Billing
– All calls that needs to be handled by A2Billing– All incoming calls from local customers
● DID– Route calls back to local customers
Providers and Trunks
● Provider: WA_OUT (outgoing calls)– Label: VoIP Upstreams– Technology: SIP– Provider IP: 192.168.46.x
● Provider: WA_LOCAL (local phone calls)– Label: VoIP Local– Technology: Local– Provider IP: %dialingnumber%@did
Callplan
● Silver Member (WA_SILVER)● Gold Member (WA_GOLD)
● Billing algorithm: LCR or LCD
Rate card
● A rate card is associated with a trunk● WA_out_default VoIP upstreams● WA_local_gold VoIP local● WA_local_silver VoIIP local
Rate
● Defines buying and selling rates for a certain trunk/provider
● Belongs to a certain rate card● Buying/selling rate ($/s)● Buying/selling rate min duration (s)● Buying/selling rate billing block (s)● Connect/disconnect charge ($)
Example● Buying rate: 1 USD/min● Buy rate minimum duration 30s● Buy rate billing block 30s● Selling rate 2 USD/min● Selling rate minimum duration 60s● Selling rate billing block 60s● Connect charge 0● Disconnect charge 0
Customer
● Card number Identifies user in Asterisk● Card alias username for A2B web● WebUI password password for A2B web● Tariff Callplan● Access Single/Simultaneously● Currency USD● Run service Yes/No
Configure VoIP Clients
● Retrieve SIP configuration parameters– A2Billing Customer UI
● Configure SIP client – VoIPtel GUI
Configure VoIP Clients
● Dialplan● Users (one for each port on the IP04)● Service provider (Voice Gateway)
– Host, username, password
● Calling rule– All outgoing calls goes to Voice Gateway– Prefix: 00
Configure Incoming Calls
● Calls from outside to local extensions● Create DID (Direct Inward Dialing)
– DID number– Billing (free or charged)
● A2Billing admin menu
Configure external client
● Create SIP user in Asterisk– sip.conf (SIP user)– extensions.conf (context)
● Configure ATA ● Configure softphone
As easy as that....
Remember!
● Checkpoints● Typos in lab spec? Let us know!● Text editors
– Vi or Gedit
● Before you ask for help– Read read and read again!– Verify your configurations since last checkpoint
● Username, passwords and URLs