- Asterisk Overview
- What is Asterisk ?
- A PBX
- An IVR Platform
- FreeBSD friendly - version 1.4 compiles without patches
- Usage Scenarios
- Home VoIP PBX
- Saves costs on long distance calls
- Flexible Answering Machine
- Office VoIP PBX
- Free voice communication between offices
- Support Call Center and Queues
- Saves on telephone costs
- ENUM
- Other VoIP enabled offices
- Flexible customer support
- Video and Audio Conferencing
- VoIP Termination Services
- Appropriate for INET Providers
- Offer telephone services to existing customers
- Serve business customers with VoIP traffic
- VoIP Gateway
- Ported on different platforms
- Usable on embedded devices
- Usage Scenarios Diagram
- Capabilities
- Channel Protocols
- H323
- Old, but still usable and popular VoIP protocol
- TCP Signaling with RTP Media
- SIP
- Session Initiation Protocol
- De-fakto standart for VoIP
- Not NAT Friendly
- HTTP Signaling
- Contact Presence support
- RTP Media Stream
- Relatively Complex, implementations are getting better
- IAX2
- Inter-Asterisk eXchange Protocol Ver. 2
- Asterisk-native communication protocol
- Signaling and Media Stream use single pair of UDP ports
- NAT-Friendly
- Trunk support, more efficient for simultaneous calls
- XMPP
- Not a voip standard, but generally useable for signalling
- Google's Jingle extensions used for VoIP (GTAlk, chan_jabber)
- Messaging
- MGCP
- Media Gateway Control Protocol
- Client Server model for distributed VoIP Networks with access to PSTN
- UDP Based
- Codecs
- Transcodable
- Only narrowband codecs
- Stream is decoded and coded between peers
- Audio G711(U/ALAW),GSM,iLBC,Speex, G729(with license per channel basis)
- LPC-10, Linear, etc
- Passthrough
- Stream is only piped between peers
- Audio G·723
- Video H.263, H.263+, H.264
- Dialplans
- Pattern-based matching
- Macros
- AEL for extension "programming"
- ENUM - shared number maps
- DUNDI - distributed dialplan sharing for Asterisk
- Call Detail Records (CDR)
- CSV call log
- Support for ODBC, postresql backends
- Support for FreeTDS (tabular data stream)
- Hardware
- Interface Cards
- Channel Banks
- ISDN Devices (highly dependable on chipset + driver)
- etc
- more info: http://voip-info.org/wiki-asterisk+hardware
- Architecture
- Overall Architecture Diagram
- Module Types
- app
- pluggable commands
- the native way of integrating external programs in asterisk (no-AGI)
- pbx
- inner parts of asterisk are defined as modules
- realtime, configuration, etc
- codec
- coding/decoding capabilities
- operate mainly on the payload of media stream
- format
- handles media format
- pcm,gsm,wav, etc
- channel
- protocols for communication
- responsible for call state representation
- cdr
- resources and managers for storing call records
- odbc, postgre, mysql
- Asterisk Realtime
- Asterisk Configuration mapped onto abstract database schema
- Database support ODBC, MySQL support
- Easifies billing and tracking
- Allows flexible integration with existing business apps
- Local Integration
- AGI
- Asterisk Gateway Interface, implemented as app_
- allows execution of AGI-capable local processes
- accessible dialplan
- EAGI
- Inherits AGI functionality
- extended with access to the audio channel
- Remote access
- Manager API
- TCP based control interface
- Call state monitoring
- Call origination, transfer, answer, hold, parking, etc
- Existing bindings for perl, python, java
- FastAGI
- remote access to the AGI interface
- Implementations for perl, python, java
- Sample Integration Scenario
- Applications
- Dial
- Answer
- Hangup
- Transfer
- MusicOnHold
- Background
- WaitExten
- Say
- Agi
- many many more
- resource: http://www.voip-info.org/wiki-Asterisk+-+documentation+of+application+commands
- Configuration Basics
- Asterisk Configuration
- modules.conf
- rtp.conf
- musiconhold.conf
- Peer configuration
- Extenions Configuration
- extensions.conf
- AEL2
- Programming language for flexible dialplanning
- Dynamic extension handling
- Loops, Conditions, Subroutines
- More flexible than extensions.conf
- Configuration Dependencies
- Available Service Provisiders
- Proxying/Brokering
- FWD
- SIP Proxying, first of the free voip networks
- IAX access
- US Toll-Free Calls
- SIPBroker
- Peered with hundreds SIP Providers
- Access by prefix
- Free brokering
- Free ENUM Support
- e164.org
- Free ENUM mapping of regular phone numers to alternative communication addresses
- Works over DNS, highly scalable, free and open
- Email, ICQ, SIP, IAX, XMPP
- Many others - more info - voip-info.org
- Termination
- MutualPhone
- Cheap A-Z SIP Termination
- Apparantly lower delay overseas
- VoipJet
- IAX-Only A-Z Termination
- Low rates, US low delay, Europe not that well
- There are hundreds more
- DID
- IPKall
- Free US Washington State DIDs
- Forwarding to any SIP address
- Voipuser
- Free UK DIDs, forwardable to any SIP/IAX
- SIP Outbound calls
- IAX Termination
- UK-Active users may generally profit from community jar of free minutes
- End User Clients
- Sofphones
- SIP
- Linphone
- Unix/linux
- GTK + libosip
- No STUN Support
- KPhone
- Unix/linux
- KDE + libosip
- No STUN Support
- Apparently Video Support
- Eyebeam (X-Lite)
- Excellent Windows Support, bad Linux/Mac
- Freeware scaled-down version available
- Full support of STUN/ICE/Tunnels
- Video (freeware), Video Conferencing (paid versoin)
- H263, H263+, H264
- Most of the audio codecs available for free
- Not freely rebrandable, no skins
- SJPhone
- Excellent Windows, limited Mac and Linux support
- STUN Support
- Adware version available
- Excellent Freeware (no adware) WinCE Version
- Rebrandable, Skinnable User Interface
- More
- IAX2
- IAXComm
- Basic UI Interface
- Windows, Linux, Mac support
- Uses wxWindows + libiaxclient
- Free, Open Source, GPL
- Kiax
- Simple User Interface
- Windows, Linux, FreeBSD support
- Uses libqt3 + libiaxclient
- Free, Open Source, GPL
- QTIax
- Linux
- Minimalistic UI
- qtlib + stripped down version of iaxclient
- GPL
- Firefly
- Qute UI
- Only Windows
- Based on libiax2
- Freeware
- More
- ATA Devices
- Grandstream ATA 486
- Many Others (also in combination with WLAN Routers)
- SIP Phones
- References
- asterisk.org - asterisk download, resources
- voip-info.org (The ultimate chaotic VoIP resource)
- asteriskdocs.org - detailed asterisk documentation
- others