- 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 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 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 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