TheBook
From Etel
We'll be assembling the Cookbook into this space. Here's an outline, which will no doubt change a lot over the coming months. Note that the bullet points are topics, NOT recipe titles. We'll have to fill these in with titles as we have the actual recipes.
Feel free to consider any unwritten recipe "ripe for picking". Don't add your contributions directly to this page, or to links from this page; add them to the recipe heap. We'll slice and dice later.
- Minimal distro install
- Required packages (via Yum or apt-get)
- FTP server (for set provisioning)
- TFTP (xinitd)
- Running asterisk as non-root
- Vim syntax highlighting
- giving /var it's own partition
- Setting up an MTA for email relay
- Doing basic telephone wiring (tools you'll want, whole-house DSL filtering, extended demarcs)
- Editing modules.conf (removing unused modules)
- Starting with a minimal configuration (extensions.conf. voicemail.conf, iax.conf, sip.conf, zapata.conf, asterisk.conf, indications.conf, moh.conf) (download our templates)
- Setting up analog trunks (PCI cards, ATAs; include echo cancellation advice)
- Setting up a PRI circuit
- Setting up a VoIP service (link to voip-info list)
- Setting up a cell phone "trunk"
- Music on hold
- Creating a device template for sets
- Creating a user template for use in dial plan
- Prompt maintenance (including sox scripts)
- Managing CDR
- Voicemail management (storage usage)
- Controlling logger activity
- Managing amplitude on channels and voicemail
- Asterisk manager interface
- Transfer
- Park
- Paging
- Call recording
- extension macros
- do not disturb
- call forward
- transfers direct to voicemail
- Message waiting indicator (MWI) lights (note: you can have the MWI light for multiple extensions)
- "Feature codes" for blacklisting, recording calls, and so on
- Reception
- Automated attendant
- Trusted vs. untrusted connections
- DIDs
- Call prioritization and whitelisting
- Blacklisting (and telemarketer blocking)
- This might include a "parking lot" for potential telemarketers
- It might also include a queue to torture telemarketers with
- The Asterisk-powered doorbell
- Distinctive ringing with the ALERT_INFO channel variable (this can even be silent with a bit of ATA configuration)
- Integrating several incoming call sources into one main menu
- Caller ID (Internet lookups, AstDB rewrites)
- Handling calls according to time of day, and making it user-configurable ("only ring extension 100 between 8 am and 5 pm")
- Handling and troubleshooting incoming faxes
- The ISN: Your Internet-Style telephone number
- PSTN calls
- VoIP calls
- DISA
- Speed dials
- Automatic route selection
- Creating "trunk selection" dial prefixes ("01-#" is PSTN, "02-#" is something else, "03-#" is a third outbound trunk), and announcing the trunk before dialing
- Limiting the length of a call (can be useful for testing to have a one-shot call that has a time limit)
- Testing emergency call setup in the U.S.
- clustering
- Scheduled backups
Building a corporate network with DUNDi
- single dial plan for extensions
- sharing local PSTN connections
- centralized voicemail
- agents.conf and queues.conf
- monitoring calls
- recording calls
- reporting
- meetme.conf
- public meetme rooms
- private meetme rooms
- scheduled using astdb
- conference administration
- Find Me Follow Me
- Soft phones
- Calling in for messages
- Voicemail remote notification using cron and shell scripts
- Setting CDR db stuff
- Configuring ARA
- func_odbc
- Working around NAT
- Allowing remote ATAs or SIP callers
- Configuring NTP
- Using DynDNS
- Configuring quality of service parameters, especially for 802.11 devices
- Using MythPhone to display caller ID on your TV
- Using the Asterisk Expression Language (AEL)
- Integration of AEL and classic dialplans
- Writing macros for repetitive tasks
- Solving variable name reuse in multiple macros with the "${${MACRONAME}-${var}}" construction
- Validating user input in AEL with switch()
- Emulating functions that are not in released Asterisk yet (STRPTIME is not yet in Asterisk, but can be emulated in AGI)
- Retrieving external data to integrate into a voice gateway (e.g. public transit arrival and departure)
- AGI as a driver for other services, like SMS
- Bluetooth proximity detection
- Translating monophonic ring tones into tones while Asterisk processes data
