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.
An Asterisk channel is specified in this way:
<technology>/<dialstring>
- Technology is one of installed channel modules, i.e. SIP, IAX, IAX2, MGCP, Modem
- Dialstring depends on the channel
SIP channel
Description: Extensions connecting with the SIP protocol
Syntax: SIP/extension[@hostname[:port]]
Configuration file: sip.conf
Notes:
- The full length of a sip peer name or username combination is 256 bytes.
- 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.
- Extension can be a text-based name, not only a number.
Local channel
Description: Local Proxy Channel Driver
Syntax: Local/extension[@context[/n]]
Configuration file: none
chan_local is a pseudo-channel. Use of this channel simply loops calls back into the dialplan, possibly into a different context. Useful for recursive routing, adding Dial() options to an existing call, etc.
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 channel
Description: The NuFone Network’s Open H.323 Channel Driver
Syntax: ??????????????
Configuration: h323.conf
chan_h323 is the default H.323 channel driver
MGCP channel
Description: chan_mgcp is the Media Gateway Control Protocol, MGCP driver
Syntax: ?????????????
Configuration file: Asterisk config mgcp.conf
OSS channel
chan_oss is the OSS audio drivers (some systems use this for
soundcards)
Syntax: oss/console
MODEM
Description: Generic Voice Modem Channel Driver
Syntax: ???????????
Configuration file: modem.conf
MODEM_I4L
Description: ISDN4Linux Emulated Modem Driver
Syntax: ?????????????????
Configuration file: modem.conf
MODEM_AOPEN
Description: A/Open (Rockwell Chipset) ITU-2 VoiceModem Driver
Syntax: ?????????????????
Configuration file: modem.conf
chan_modem_aopen is the A/Open (Rockwell) analog voice modem driver
(yuck!)
MODEM_BESTDATA
Description: BestData (Conexant V.90 Chipset) VoiceModem Driver
Configuration file: modem.conf
PHONE
Syntax: ?????????
chan_phone is the Linux Telephony API channel driver
CAPI channel
Description: Connections over ISDN CAPI drivers
Syntax: CAPI/[clip option]outgoing msn:[b3 options][destination]
Configuration: capi.conf
ZAP channel
Description: chan_zap is the Zapata analog card channel driver
Syntax: Zap/[group]|[port]|[span-port]/extension
Configuration: zapata.conf
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
Syntax: ???
chan_vofr is the Voice Over Frame Relay channel driver
AGENT
Description: Call Agent Proxy Channel
Syntax:???
Configuration file: agent.conf
ALSA
Description: ALSA Console Channel Driver
Syntax: ???
Configuration file: alsa.conf
IAX
Descrtiption: chan_iax is the IAX (Inter-Asterisk eXchange) version 1 channel driver
Syntax: IAX/[user@]peer[:exten[@context]]
Configuration file: iax.conf
IAX2
Description: chan_iax2 is the IAX (Inter-Asterisk eXchange) version 2 channel driver
Syntax: IAX2/user[:password]@host/extension
Configuration file: iax.conf
SKINNY
Description: chan_skinny is the SCCP (Skinny Client Control Protocol) channel driver
Syntax: Skinny/[line]@[registered-client]
Configuration file: skinny.conf
NBS
Description: the Network Broadcast Sound driver
Syntax: ????
Configuration file: none
Notes:
- 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]
Notes: See https://issues.asterisk.org/jira/browse/ASTERISK-387