mirror of https://github.com/asterisk/asterisk
This is a completely new implementation of the SLA functionality introduced in Asterisk 1.4. It is now functional and ready for testing. However, I will be adding some additional features over the next week, as well. For information on how to set this up, see configs/sla.conf.sample and doc/sla.txt. In addition to the changes in app_meetme.c for the SLA implementation itself, this merge brings in various other changes: chan_sip: - Add the ability to indicate HOLD state in NOTIFY messages. - Queue HOLD and UNHOLD control frames even if the channel is not bridged to another channel. linkedlists.h: - Add support for rwlock based linked lists. dial.c: - Add the ability to run ast_dial_start() without a reference channel to inherit information from. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53810 65c4cc65-6c06-0410-ace0-fbb531ad65f31.4
parent
2f5eabb51e
commit
7ee02f585d
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,93 @@
|
||||
-------------------------------------------------------------
|
||||
--- Shared Line Appearances ---------------------------------
|
||||
-------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------
|
||||
INTRODUCTION
|
||||
|
||||
The "SLA" functionality in Asterisk is intended to allow a setup that emulates
|
||||
a simple key system. It uses the various abstraction layers already built into
|
||||
Asterisk to emulate key system functionality across various devices, including
|
||||
IP channels.
|
||||
-------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------
|
||||
DIALPLAN CONFIGURATION
|
||||
|
||||
The SLA implementation can automatically generate the dialplan necessary for
|
||||
basic operation if the "autocontext" option is set for trunks and stations in
|
||||
sla.conf. However, for reference, here is an automatically generated dialplan
|
||||
to help with custom building of the dialplan to include other features, such as
|
||||
voicemail:
|
||||
|
||||
[line1]
|
||||
exten => s,1,SLATrunk(line1)
|
||||
|
||||
[line2]
|
||||
exten => s,2,SLATRUNK(line2)
|
||||
|
||||
[sla_stations]
|
||||
exten => station1,1,SLAStation(station1)
|
||||
exten => station1_line1,hint,SLA:station1_line1
|
||||
exten => station1_line1,1,SLAStation(station1_line1)
|
||||
exten => station1_line2,hint,SLA:station1_line2
|
||||
exten => station1_line2,1,SLAStation(station1_line2)
|
||||
|
||||
exten => station2,1,SLAStation(station2)
|
||||
exten => station2_line1,hint,SLA:station2_line1
|
||||
exten => station2_line1,1,SLAStation(station2_line1)
|
||||
exten => station2_line2,hint,SLA:station2_line2
|
||||
exten => station2_line2,1,SLAStation(station2_line2)
|
||||
|
||||
exten => station3,1,SLAStation(station3)
|
||||
exten => station3_line1,hint,SLA:station3_line1
|
||||
exten => station3_line1,1,SLAStation(station3_line1)
|
||||
exten => station3_line2,hint,SLA:station3_line2
|
||||
exten => station3_line2,1,SLAStation(station3_line2)
|
||||
-------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------
|
||||
TRUNKS
|
||||
|
||||
For the trunk side of SLA, the only channels that are currently supported are
|
||||
Zap channels. Support for IP trunks is planned, but not yet implemented.
|
||||
|
||||
Be sure to configure the trunk's context to be the same one that is set for the
|
||||
"autocontext" option in sla.conf if automatic dialplan configuration is used.
|
||||
|
||||
If the dialplan is being built manually, ensure that calls coming in on a trunk
|
||||
execute the SLATrunk() application with an argument of the trunk name.
|
||||
-------------------------------------------------------------
|
||||
|
||||
|
||||
-------------------------------------------------------------
|
||||
STATIONS
|
||||
|
||||
Currently, the only channel driver that has all of the features necessary to
|
||||
support an SLA environment is chan_sip. Here are some hints on configuring
|
||||
a SIP phone for use with SLA:
|
||||
|
||||
1) Add the SIP channel as a [station] in sla.conf.
|
||||
|
||||
2) Configure the phone in sip.conf. If automatic dialplan configuration was
|
||||
used by enabling the "autocontext" option in sla.conf, then this entry in
|
||||
sip.conf should have the same context setting.
|
||||
|
||||
3) On the phone itself, there are various things that must be configured to
|
||||
make everything work correctly:
|
||||
|
||||
Let's say this phone is called "station1" in sla.conf, and it uses trunks
|
||||
named "line1" and line2".
|
||||
|
||||
a) Two line buttons must be configured to subscribe to the state of the
|
||||
following extensions:
|
||||
- station1_line1
|
||||
- station1_line2
|
||||
|
||||
b) The line appearance buttons should be configured to dial the extensions
|
||||
that they are subscribed to when they are pressed.
|
||||
|
||||
c) If you would like the phone to automatically connect to a trunk when it
|
||||
is taken off hook, then the phone should be automatically configured to
|
||||
dial "station1" when it is taken off hook.
|
||||
-------------------------------------------------------------
|
Loading…
Reference in new issue