Asterisk readme.channels

Note: This page is work in progress

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: 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: Asterisk config 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 http://bugs.digium.com/bug_view_page.php?bug_id=0000390
Note: This page is work in progress

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: 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: Asterisk config 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 http://bugs.digium.com/bug_view_page.php?bug_id=0000390
Created by: oej, Last modification: Fri 01 of Jun, 2012 (05:12 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+