- •Table of Contents
- •Introduction
- •What This Book Covers
- •Conventions
- •Reader Feedback
- •Customer Support
- •Errata
- •Questions
- •What is Asterisk?
- •Asterisk is a PBX
- •Station-To-Station Calls
- •Line Trunking
- •Telco Features
- •Advanced Call Distribution
- •Call Detail Records
- •Call Recording
- •Asterisk is an IVR System
- •Asterisk is a Voicemail System
- •Asterisk is a Voice over IP (VoIP) System
- •What Asterisk Isn't
- •Asterisk is Not an Off-the-Shelf Phone System
- •Asterisk is Not a SIP Proxy
- •Asterisk Does Not Run on Windows
- •Is Asterisk a Good Fit for Me?
- •Trade-Offs
- •Flexibility versus Ease of Use
- •Graphical versus Configuration File Management
- •Calculating Total Cost of Ownership
- •Return on Investment
- •Summary
- •The Public Switched Telephony Network (PSTN)
- •Connection Methods
- •Plain Old Telephone Service (POTS) Line
- •Integrated Services Digital Network (ISDN)
- •Voice over IP Connections
- •Determining Our Needs
- •Terminal Equipment
- •Types of Terminal Devices
- •Hard Phones
- •Soft Phones
- •Communications Devices
- •Another PBX
- •Choosing a Device
- •Features, Features, and More Features…
- •Determining True Cost
- •Compatibility with Asterisk
- •Sound Quality Analysis
- •Usability Issues
- •Recording Decisions
- •How Much Hardware do I Need?
- •Choosing the Extension Length
- •Summary
- •Preparing to Install Asterisk
- •Obtaining the Source Files
- •Installing Zaptel
- •Installing libpri
- •Installing Asterisk
- •Getting to Know Asterisk
- •Summary
- •Zaptel Interfaces
- •zaptel.conf
- •Lines
- •Terminals
- •zapata.conf
- •Lines
- •Terminals
- •SIP Interfaces
- •IAX Interfaces
- •Voicemail
- •Music On Hold
- •Queues
- •Conference Rooms
- •Summary
- •Creating a Context
- •Creating an Extension
- •Creating Outgoing Extensions
- •Advanced Call Distribution
- •Call Queues
- •Call Parking
- •Direct Inward Dialing (DID)
- •Automated Attendants
- •System Services
- •Summary
- •Call Detail Records
- •Flat-File CDR Logging
- •Database CDR Logging
- •Monitoring Calls
- •Recording Calls
- •Legal Concerns
- •Summary
- •CentOS
- •Preparation and Installation
- •The Asterisk Management Portal (AMP)
- •Maintenance
- •Setup
- •Flash Operator Panel (FOP)
- •Flash Operator Configuration Files
- •Web MeetMe
- •Flexibility When Needed
- •A Simple One-to-One PBX
- •Extensions
- •Trunks
- •Routes
- •Customer Relationship Management/SugarCRM
- •Adding Contacts
- •Call Scheduling
- •Administration of SugarCRM
- •Configure Settings
- •User Management
- •User Roles
- •Summary
- •Small Office/Home Office
- •The Scenario
- •The Discussion
- •The Configuration
- •zaptel.conf
- •zapata.conf
- •musiconhold.conf
- •voicemail.conf
- •modules.conf
- •extensions.conf
- •Conclusions
- •Small Business
- •The Scenario
- •The Discussion
- •The Configuration
- •zaptel.conf
- •zapata.conf
- •musiconhold.conf
- •agents.conf
- •queues.conf
- •sip.conf
- •meetme.conf
- •voicemail.conf
- •extensions.conf
- •Conclusions
- •Hosted PBX
- •The Scenario
- •The Discussion
- •The Configuration
- •zaptel.conf
- •zapata.conf
- •musiconhold.conf
- •sip.conf
- •voicemail.conf
- •extensions.conf
- •Conclusions
- •Summary
- •Backup and System Maintenance
- •Backing Up Configurations
- •Backing Up Log Files
- •Backup Scripts
- •Time Synchronization
- •Adding It All to cron
- •Rebuilding and Restoring the Asterisk Server
- •Disaster Recovery Plan (DRP)
- •Asterisk Server Security
- •Internal Access Control
- •Host Security Hardening for Asterisk
- •Integrity Checker
- •Root-Kit Detection
- •Automated Hardening
- •Role Based Access Control (RBAC)
- •Network Security for Asterisk
- •Firewalling the Asterisk Protocols
- •SIP (Session Initiation Protocol)
- •RTP—The Real-Time Transport Protocol
- •Controlling Administration of Asterisk
- •Asterisk Scalability
- •Load Balancing with DNS
- •Support Channels for Asterisk
- •Mailing Lists
- •Forums
- •IRC (Internet Relay Chat)
- •Digium
- •Summary
- •Index
Maintenance and Security
Caching
Since clients cache the IPs they get from DNS, when they find a working IP, the slow down incurred will be negligible. However, it is highly recommended to remove problematic machines or addresses from the pool.
The example we look at here uses A records; however, it is increasingly common to see round-robin implementations for SRV records. SRV records are used to locate a service within a domain. For example in Microsoft's Active Directory implementation, SRV records are used to locate domain controllers and in our Asterisk setup we would use them to locate our routing service providers. The functionality of round robin doesn't differ for the record you request, however—you still create a pool of IPs in your DNS implementation. The two most commonly used implementations of DNS, Microsoft DNS and BIND (versions above 4.9.7), support SRV records and support round-robin SRV records.
For example to set up multiple SRV records for our SIP implementation, we would add the following to our DNS zone:
sipa |
IN |
A |
10.1.1.1 |
|
|
|
|
|
sipb |
IN |
A |
10.1.1.2 |
|
|
|
|
|
sipc |
IN |
A |
10.1.1.3 |
|
|
|
|
|
sip |
IN CNAME |
sipa.example.com |
|
|
|
|||
|
IN CNAME |
sipb.example.com |
|
|
|
|||
|
IN CNAME |
sipc.example.com |
|
|
|
|||
_sip._udp.example.com. |
IN |
SRV |
20 |
0 |
5060 |
|||
|
sip.example.com. |
|
|
|
|
|
This sets up three SIP servers for us (sipa, sipb, and sipc) and one _sip._udp SRV record. Whenever the SRV record is requested, one of these three SIP servers will be returned.
Support Channels for Asterisk
As an open-source project, we would expect Asterisk to have at least some basic community support that we could rely on. Asterisk does have this and it has quite a bit more as well. It has mailing lists, forums, and IRC as well as official support from Digium. We don't always require commercial support but if running Asterisk is not our core responsibility or if we have other constraints, having paid technical support on hand can be a resource we would welcome.
154
Chapter 9
Mailing Lists
There are a few mailing lists available for unofficial Asterisk support, by far the most active being provided by Digium itself. They are frequented by Digium staff as well as Asterisk users and are probably the best source of information when it comes to quick opinions or support from the community. They are found at the following URL:
http://lists.digium.com/mailman/listinfo
The USERS mailing list is the best choice for support issues.
There is also the VOIPSEC mailing list provided by www.voipsa.org, which isn't Asterisk-centric as its main focus is VoIP security on a wider scale. However as Asterisk is one of the most common VoIP solutions, it is a topic of frequent discussion on the list and topics such as firewalling protocols or encrypted communication are directly relevant to anyone responsible for the security of an Asterisk installation.
We may not decide to use these mailing lists as a support mechanism; however, it is worth having a "lurk" and reading through them at least, to give an insight into how other people are using Asterisk and the problems and issues they come across. Such experiences are invaluable in ensuring we do not repeat others' mistakes and will help in increasing our knowledge of Asterisk and associated technologies. The VOIPSEC list for instance has become the focal point of VoIP security and is often the first outlet for information that has an impact on the security of a VoIP implementation.
Forums
You can also obtain some support from the Digium forums, which can be found at http://forums.digium.com/. However, they aren't as busy as the other support available, the mailing lists and IRC being most popular.
IRC (Internet Relay Chat)
Asterisk has a lively community support mechanism provided by its IRC channel. This can be found on the Freenode network, which is a network that comprises almost entirely support channels for free and open source software.
To access this, download a suitable IRC client. mIRC, X-Chat, irssi, and chatzilla are commonly used clients, and most have the address for the Freenode (irc.freenode.net) servers in their default configuration. Once connected to Freenode, join #asterisk. This channel is much like the Digium mailing list, in that it focuses on discussion of the use and administration of Asterisk. It is also frequented by the same people that use the mailing lists: developers, administrators, and users.
155