aboutsummaryrefslogtreecommitdiffstats
path: root/doc/channel.txt
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-30 11:20:13 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-30 11:20:13 +0000
commiteadc837224f44048a3955a345edfd0a0b4a2cf09 (patch)
treeddb2a152aa3ed8a0869bff9cd9d687b692ed7996 /doc/channel.txt
parent5f662aa8c7e4fe674f659364a4fbf631889542e8 (diff)
- Reformatting the app_sms help text from html to txt to comply with the rest of the documentation
- Renaming help files to README.<name> git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7674 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'doc/channel.txt')
-rw-r--r--doc/channel.txt40
1 files changed, 0 insertions, 40 deletions
diff --git a/doc/channel.txt b/doc/channel.txt
deleted file mode 100644
index 4cef6a4c6..000000000
--- a/doc/channel.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Implementing a Channel
-======================
-
-* What is a channel?
-
-A channel is a unit which brings in a call to the Asterisk PBX. A channel
-could be connected to a real telephone (like the Internet Phone Jack) or
-to a logical call (like an Internet phone call). Asterisk makes no
-distinction between "FXO" and "FXS" style channels (that is, it doesn't
-distinguish between telephone lines and telephones).
-
-Every call is placed or received on a distinct channel. Asterisk uses a
-channel driver (typically named chan_xxx.so) to support each type of
-hardware.
-
-* What do I need to create a channel?
-
-In order to support a new piece of hardware you need to write a channel
-driver. The easiest way to do so is to look at an existing channel driver
-and model your own code after it.
-
-* What's the general architecture?
-
-Typically, a channel reads a configuration file on startup which tells it
-something about the hardware it's going to be servicing. Then, it
-launches a thread which monitors all the idle channels (See the chan_modem
-or the chan_ixj for an example of this). When a "RING" or equivalent is
-detected, the monitoring thread should allocate a channel structure and
-assign all the callbacks to it (see ixj_new, for example), and then call
-ast_pbx_start on that channel. ast_pbx_start will launch a new thread to
-handle the channel as long as the call is up, so once pbx_start has
-successfully been run, the monitor should no longer monitor that channel.
-The PBX thread will use the channel, reading, writing, calling, etc., and
-multiplexing that channel with others using select() on the channel's
-file descriptor (if your channel doesn't have an associated file
-descriptor, you'll need to emulate one somehow, perhaps along the lines of
-what the translator API does with its channel.
-
-When the PBX is finished with the line, it will hang up the line, at which
-point it the hardware should again be monitored by the monitoring thread.