[asterisk-users] Asterisk 1.4 + Presence
Johansson Olle E
oej at edvina.net
Fri Nov 9 02:16:28 CST 2007
Excellent article!
Just a small comment to clarify:
We have three namespaces to work with: Channels, Extensions and
Devices/lines.
* Channels are ongoing calls.
* Extensions are what you dial to setup something, an entry in the
dialplan.
* Devices/lines are what we place a call to in the dial plan with the
dial command.
When you write an article like yours, I feel it's important to try to
separate these
to avoid confusion. When I started working with Asterisk, everything
was a "channel"
and that word is still used that way in many places in the source code
and in the
manager interface.
We have channel states - ringing, up, down, hold. This marks the state
of a CALL.
We have device states - unavailable, busy, hold, ringing. This is the
state of a
device or a line, seen from Asterisk. Observe that the device's actual
state might
be different, since it might be in communication with another server.
We connect extensions to devices with a hint in the dialplan. As you
write, we can
have multiple devices connected to one device. In that case, Asterisk
aggregates
the device states so that the extension doesn't signal busy until all
devices are busy.
This could be used for a group, like a sales department.
We can provide states for ALL channel drivers, but the channel drivers
that have
support for device states will give you more data to work with, better
information.
Blinking lamps are fun. A bit more fun in 1.4 than in 1.2 and much
more fun in
trunk - the dangerous world for developers and testers. :-)
/O
More information about the asterisk-users
mailing list