[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