[Asterisk-Dev] README.channels bugnote needs your help
John Todd
jtodd at loligo.com
Wed Oct 15 01:32:51 MST 2003
[sent to the -dev list so I don't have to filter noise from a million
-users replies and questions]
Mark and I had discussed building a "README.channels" file to start
explaining some of the more esoteric features that aren't obvious in
some of the channel dialing methods. I've included some below for
the channels with which I'm familiar, but my time is fairly short
these days, and some of you may have much better grips on some of
these channel types than I do, so please fill in the large tracts of
missing channel data and we'll perhaps get this done more quickly.
I've created a bugnote on this: please submit your modifications and
changes to the bugnote comments. Please submit your changes in the
form of a complete channel entry; no unified diffs, please, and don't
submit six changes for six channels in a single bugnote; I'll compile
everything in the next few days, but I don't want to spend hours
sifting through a million shards of descriptions.
http://bugs.digium.com/bug_view_page.php?bug_id=0000390
JT
-------------------------
README.channels
Channels are named methods by which a leg of a call can be received
or transmitted. Specifying a different channel name in a Dial
statement allows one to transparently link two calls from different
drivers together, without knowing the specifics of the inbound or
outbound call handler. While channels are fairly generic in their
syntax, there are special arguments for each channel type depending
on what variables need to be handed to the channel in order to have a
successful setup, or to specify unique characteristics of that
channel type. Below is a list of the channel types, and the dialing
syntaxes and special methods for each channel.
Most channels have specific configuration files that can be found in
/etc/asterisk/[CHANNELNAME].conf files. Some of the values in the
.conf file may not be accessible from the dialplan, and vice versa.
SIP
Syntax: SIP/extension[@hostname[:port]]
The full length of a sip peer name or username combination is 256 bytes.
Notes:
- Special variable ${VXML_URL} can be used to add additional items
to the To: header
- Special variable ${ALERT_INFO} can be used to create a new header
called Alert-Info: which can be used to create distinctive ringing on
the Cisco SIP-enabled phone devices.
Local
chan_local is a pseudo-channel. Use of this channel simply loops
calls back into the dialplan in a different context. Useful for
recursive routing.
Syntax: Local/extension at context[/n]
Notes: Adding "/n" at the end of the string will make the Local
channel not do a native transfer (the "n" stands for "n"o release)
upon the remote end answering the line. This is an esoteric, but
important feature if you expect the Local channel to handle calls
_exactly_ like a normal channel. If you do not have the "no release"
feature set, then as soon as the destination (inside of the Local
channel0 answers the line, the variables and dial plan will revert
back to that of the original call, and the Local channel will become
a zombie and be removed from the active channels list. This is
desirable in some circumstances, but can result in unexpected
dialplan behavior if you are doing fancy things with variables in
your call handling.
H323
chan_h323 is the default H.323 channel driver
MGCP
chan_mgcp is the Media Gateway Control Protocol driver
OSS
chan_oss is the OSS audio drivers (some systems use this for soundcards)
Syntax: oss/console
MODEM
chan_modem is the analog voice modem channel driver (yuck!)
MODEM_I4L
chan_modem_i4l is the ISDN for Linux modem driver
MODEM_AOPEN
chan_modem_aopen is the A/Open (Rockwell) analog voice modem driver (yuck!)
PHONE
chan_phone is the Linux Telephony API channel driver
ZAP
chan_zap is the Zapata analog card channel driver
Syntax: Zap/[group]|[port]|[span-port]/extension
Examples: Zap/g1/12394 : dial 12394 on first available channel on group1
Zap/1-1/12394 : dial 12394 on span 1, port 1
Zap/1/12394 : dial 12394 on port1
Notes: special dial modifier "c" allows for clear channel
connections between PRI ports
VOFR
chan_vofr is the Voice Over Frame Relay channel driver
AGENT
ALSA
IAX
chan_iax is the IAX (Inter-Asterisk eXchange) version 1 channel driver
IAX2
chan_iax2 is the IAX (Inter-Asterisk eXchange) version 2 channel driver
Syntax: IAX2/user[:password]@host/extension
SKINNY
chan_skinny is the SCCP (Skinny Client Control Protocol) channel driver
NBS
chan_nbs is the Network Broadcast Sound driver. No information available.
- cvs co nbs [to get the other parts of this driver?]
- works in conjunction with xmms?
VPB
chan_vpb is the Voicetronix card driver. Rumored to work with 6
and 12 port cards.
- Perhaps this is the same syntax as Zap drivers? No idea.
Syntax: VPB/[card]/[port]
More information about the asterisk-dev
mailing list