Background of Zaptel - where it came from, what motivated it,
etc.
What Zaptel is and what it does: DTMF/MF generation,
Echo Can, Analog/Digital line signaling framework, internationalization
- tones, etc, hooks into HDLC, Timing - 1000hz telephony timing
- good for mixing audio streams, Conferencing and of course Pulse
dialing/detection
What it doesn't do: support for cards w/ dsps
that do things such as DTMF detection, codecs, etc.
Where it could go: Hooks for DTMF detection
hardware hardware..
A bit about Zaptel Drivers: What kind of hardware
can be zaptel hardware? Anything that you can pull an audio stream
from. Asterisk/Zaptel does the rest - Ex. USB phone,
Hooks into framework: Data Tx/Rx, Signal Bits
- hookstate information, etc
What exactly is a PRI? 23 bchannels (voice)
and 1 dchannel (data/signalling). Where does libpri fit in? What
is Q.921 protocol implementation and the higher Q.931 messaging
layer.
What kinds of switches does it support? NI2,
NI1, AT&T 5ESS, 4ESS, DMS100, EuroISDN, GR303 (Not quite PRI,
but similar in signalling), Q.SIG - PRI on steroids
What direction is it taking? Supplementary
Services - Q.SIG features, Two B-channel Transfer (passing a locally
bridged call back into the network)m Calling name over facility
IE, Advice of Charge - CDR support(?) (Cost of call data)m Call
Diversion Metadata (redirecting name, number, reason, originally
called name, number, etc), Message Waiting Indication (Yep, there's
a version for PRI too :-) )
What's the Next Step for Zaptel and LibPRI?
There is a LOT of call related information that is passed over
facility IEs in Q.SIG and other protocols. Support for these routines
would give libpri better grounds
Other ideas to be further developed if time permits:
Zaptel/libpri/chan_zap profiling and performance testing (How
many SETUPs per second, etc )
Matthew Fredrickson, Digium
Coffee
Break
10:30-12:00
Beyond
extensions.conf:
Extending Asterisk with AGI and AMI
This tutorial is targeted at advanced asterisk users and consist
of describing the AGI interface to Asterisk as well as the AMI interface.
The AGI is used to extend the dial plan with your own scripting
logic in almost any programming or scripting language, locally or
on another machine in the network. The AMI is the Asterisk Management
Interface that is used to manage your Asterisk server, but also
for interfacing with third party systems, like contact center platforms..
I. Introduction to AGI
Existing Methods for Using Extenstions.conf
Where AGI fits in
II. Overview of AGI
The AGI "Protocol"
AGI Basics
AGI APIs in C, C++, PHP, and Perl
III. Special Uses for AGI (in Python)
AGI in Python
AGI to Access a Database
AGI to Collect Information
IV. Conclusion
Short Review
Other Possible Uses of AGI
Questions from Audience
Matthew A. Nicholson, Digium
Matthew A. Nicholson is from Villa Rica, Georgia
and is currently attending Oakwood College in Huntsville, Alabama
studing Computer Science. Matt works as a Support Technician and
Software Developer at Digium.
Lunch
1:30-3:00
So
you want to be an Asterisk developer?
An introduction to development with Asterisk
The overall code architecture
What is a channel anyway - how Asterisk handle calls
Channels basics- the interface
Applications, functions, resources and features
The ARA - Realtime Architecture
AOM - The Asterisk Object Model
Programmer documentation with doxygen
The code guidelines
The Asterisk CVS and branches
The bug tracker
Kevin P Fleming, Senior Software Engineer, Digium
Kevin Fleming is a Senior Software Engineer
at Digium, Inc., the primary developer of Asterisk. His responsibilities
include managing Digium's interaction with the Asterisk development
community and providing direction
for Asterisk's future.