Asterisk 1.4 - 10.0
Installation, Programmierung und Betrieb
Reihe: Open Source Library
Rechtlicher Hinweis
Copyright (c) 2006 - 2009 by Stefan Wintermeyer
<stefan.wintermeyer@amooma.de>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version
1.2 or any later version published by the Free Software Foundation; with
no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
Widmung
Für Gunhild und Aurelius.
- Vorwort
- 1. Das How-To zu diesem Buch
- 2. „Hello World“
- 3. Dialplan – die Grundlagen
- 4. Deutsche Anpassungen
- 5. Case-Study einer Beispielfirma
- 6. Programmieren im Dialplan
- 7. AEL
- 7.1. CLI-Befehle für AEL
- 7.2. aelparse
- 7.3. extensions.conf <-> extensions.ael
- 7.3.1. Zeilenende/Befehlsende
- 7.3.2. Kontexte, Extensions, Prioritäten
- 7.3.3. Kommentare
- 7.3.4. Includes – Andere Contexte einbinden
- 7.3.5. Globale Variablen
- 7.3.6. Ausdrücke und Zuweisungen
- 7.3.7. Labels, goto und jump
- 7.3.8. Bedingte Anweisungen (conditionals)
- 7.3.9. Schleifen (loops)
- 7.3.10. Makros (macros)
- 7.3.11. Hints
- 7.3.12. Filtern nach Anrufernummer
- 7.4. extensions.ael oder extensions.conf?
- 8. Protokolle
- 9. Codecs
- 10. ISDN
- 11. Analoge Telefonie
- 12. Media Gateways
- 13. Voicemail-System
- 14. Interactive-Voice-Response-Systeme (IVR)
- 15. Die Asterisk-Datenbank (AstDB)
- 16. Warteschleifen für Call-Center
- 16.1. Extension zum Musiktest
- 16.2.
musiconhold.conf - 16.3.
queues.conf - 16.3.1.
musiconhold - 16.3.2.
announce - 16.3.3.
strategy - 16.3.4.
servicelevel - 16.3.5.
context - 16.3.6.
timeout - 16.3.7.
retry - 16.3.8.
weight - 16.3.9.
wrapuptime - 16.3.10.
maxlen - 16.3.11.
announce-frequency - 16.3.12.
announce-holdtime - 16.3.13.
announce-round-seconds - 16.3.14. Sprachbausteine
- 16.3.15.
periodic-announce-frequency - 16.3.16.
monitor-format - 16.3.17.
monitor-join - 16.3.18.
joinempty - 16.3.19.
leavewhenempty - 16.3.20.
eventwhencalled - 16.3.21.
eventmemberstatus - 16.3.22.
reportholdtime - 16.3.23.
memberdelay - 16.3.24.
timeoutrestart - 16.3.25.
autopause - 16.3.26.
ringinuse - 16.3.27.
member
- 16.3.1.
- 16.4.
agents.conf - 16.5.
extensions.conf - 16.6. Log-Datei
- 17. Features
- 18. Telefonkonferenzen
- 19. Asterisk fernsteuern
- 20. Asterisk Gateway Interface (AGI)
- 21. Fax-Server
- 22. SIP-Telefone
- 23. BLF, Hints, Pickup
- 24. Danksagungen
- Glossar
- A. Installationsanleitungen für Asterisk 1.4, 1.6, 1.8 und 10.0
- B. Spezielle Installationsanleitungen für Asterisk mit ISDN- oder Analog-Karten
- C. Applikationen im Dialplan
- C.1.
AbsoluteTimeout() - C.2.
AddQueueMember() - C.3.
ADSIProg() - C.4.
AgentCallbackLogin() - C.5.
AgentLogin() - C.6.
AgentMonitorOutgoing() - C.7.
AGI() - C.8.
AlarmReceiver() - C.9.
AMD() - C.10.
Answer() - C.11.
AppendCDRUserField() - C.12.
Authenticate() - C.13.
Background() - C.14.
BackgroundDetect() - C.15.
Bridge() - C.16.
Busy() - C.17.
ChangeMonitor() - C.18.
ChanIsAvail() - C.19.
ChannelRedirect() - C.20.
ChanSpy() - C.21.
CheckGroup() - C.22.
ClearHash() - C.23.
Congestion() - C.24.
ContinueWhile() - C.25.
ControlPlayback() - C.26.
Curl() - C.27.
Cut() - C.28.
DAHDIBarge() - C.29.
DAHDIRAS() - C.30.
DAHDIScan() - C.31.
DAHDISendKeypadFacility() - C.32.
DateTime() - C.33.
DBdel() - C.34.
DBdeltree() - C.35.
DBget() - C.36.
DBput() - C.37.
DeadAGI() - C.38.
Dial() - C.39.
Dictate() - C.40.
DigitTimeout() - C.41.
Directory() - C.42.
DISA() - C.43.
DumpChan() - C.44.
DUNDiLookup() - C.45.
EAGI() - C.46.
Echo() - C.47.
EndWhile() - C.48.
EnumLookup() - C.49.
Eval() - C.50.
Exec() - C.51.
ExecIf() - C.52.
ExecIfTime() - C.53.
ExitWhile() - C.54.
ExtenSpy() - C.55.
ExternalIVR() - C.56.
Festival() - C.57.
Flash() - C.58.
FollowMe() - C.59.
ForkCDR() - C.60.
GetCPEID() - C.61.
GetGroupCount() - C.62.
GetGroupMatchCount() - C.63.
Gosub() - C.64.
GosubIf() - C.65.
Goto() - C.66.
GotoIf() - C.67.
GotoIfTime() - C.68.
Hangup() - C.69.
HasNewVoicemail() - C.70.
HasVoicemail() - C.71.
IAX2Provision() - C.72.
ICES() - C.73.
ImportVar() - C.74.
Incomplete() - C.75.
JabberSend() - C.76.
JabberStatus() - C.77.
KeepAlive() - C.78.
Log() - C.79.
LookupBlacklist() - C.80.
LookupCIDName() - C.81.
Macro() - C.82.
MacroExclusive() - C.83.
MacroExit() - C.84.
MacroIf() - C.85.
MailboxExists() - C.86.
Math() - C.87.
MD5() - C.88.
MD5Check() - C.89.
MeetMe() - C.90.
MeetMeAdmin() - C.91.
MeetMeChannelAdmin() - C.92.
MeetMeCount() - C.93.
Milliwatt() - C.94.
MinivmAccMess() - C.95.
MinivmDelete() - C.96.
MinivmGreet() - C.97.
MinivmNotify() - C.98.
MinivmRecord() - C.99.
MixMonitor() - C.100.
Monitor() - C.101.
Morsecode() - C.102.
MP3Player() - C.103.
MSet() - C.104.
MusicOnHold() - C.105.
NBScat() - C.106.
NoCDR() - C.107.
NoOp() - C.108.
ODBCFinish() - C.109.
Page() - C.110.
Park() - C.111.
ParkAndAnnounce() - C.112.
ParkedCall() - C.113.
PauseMonitor() - C.114.
PauseQueueMember() - C.115.
Pickup() - C.116.
PickupChan() - C.117.
Playback() - C.118.
Playtones() - C.119.
PrivacyManager() - C.120.
Proceeding() - C.121.
Progress() - C.122.
Queue() - C.123.
QueueLog() - C.124.
RaiseException() - C.125.
Random() - C.126.
Read() - C.127.
ReadExten() - C.128.
ReadFile() - C.129.
RealTime() - C.130.
RealTimeUpdate() - C.131.
ReceiveFAX() - C.132.
Record() - C.133.
RemoveQueueMember() - C.134.
ResetCDR() - C.135.
ResponseTimeout() - C.136.
RetryDial() - C.137.
Return() - C.138.
Ringing() - C.139.
SayAlpha() - C.140.
SayDigits() - C.141.
SayNumber() - C.142.
SayPhonetic() - C.143.
SayUnixTime() - C.144.
SendDTMF() - C.145.
SendFAX() - C.146.
SendImage() - C.147.
SendText() - C.148.
SendURL() - C.149.
Set() - C.150.
SetAccount() - C.151.
SetAMAFlags() - C.152.
SetCallerID() - C.153.
SetCallerPres() - C.154.
SetCDRUserField() - C.155.
SetCIDName() - C.156.
SetCIDNum() - C.157.
SetGlobalVar() - C.158.
SetGroup() - C.159.
SetLanguage() - C.160.
SetMusicOnHold() - C.161.
SetRDNIS() - C.162.
SetTransferCapability() - C.163.
SetVar() - C.164.
SIPAddHeader() - C.165.
SIPdtmfMode() - C.166.
SIPGetHeader() - C.167.
SMS() - C.168.
SoftHangup() - C.169.
Sort() - C.170.
StackPop() - C.171.
StartMusicOnHold() - C.172.
StopMixMonitor() - C.173.
StopMonitor() - C.174.
StopMusicOnHold() - C.175.
StopPlaytones() - C.176.
System() - C.177.
Transfer() - C.178.
TryExec() - C.179.
TrySystem() - C.180.
TXTCIDName() - C.181.
UnpauseMonitor() - C.182.
UnpauseQueueMember() - C.183.
UserEvent() - C.184.
Verbose() - C.185.
VMAuthenticate() - C.186.
VoiceMail() - C.187.
VoiceMailMain() - C.188.
Wait() - C.189.
WaitExten() - C.190.
WaitForNoise() - C.191.
WaitForRing() - C.192.
WaitForSilence() - C.193.
WaitMusicOnHold() - C.194.
WaitUntil() - C.195.
While() - C.196.
Zapateller() - C.197.
ZapBarge() - C.198.
ZapRAS() - C.199.
ZapScan() - C.200.
ZapSendKeypadFacility()
- C.1.
- D. Funktionen im Dialplan
- D.1.
AGC() - D.2.
AGENT() - D.3.
ARRAY() - D.4.
AST_CONFIG() - D.5.
BASE64_DECODE() - D.6.
BASE64_ENCODE() - D.7.
BLACKLIST() - D.8.
CALLERID() - D.9.
CALLERPRES() - D.10.
CDR() - D.11.
CHANNEL() - D.12.
CHANNELS() - D.13.
CHECK_MD5() - D.14.
CHECKSIPDOMAIN() - D.15.
CURL() - D.16.
CUT() - D.17.
DB() - D.18.
DB_DELETE() - D.19.
DB_EXISTS() - D.20.
DENOISE() - D.21.
DEVICE_STATE() - D.22.
DIALGROUP() - D.23.
DIALPLAN_EXISTS() - D.24.
DUNDILOOKUP() - D.25.
DUNDIQUERY() - D.26.
DUNDIRESULT() - D.27.
ENUMLOOKUP() - D.28.
ENUMQUERY() - D.29.
ENUMRESULT() - D.30.
ENV() - D.31.
EVAL() - D.32.
EXCEPTION() - D.33.
EXISTS() - D.34.
EXTENSION_STATE() - D.35.
FIELDQTY() - D.36.
FILE() - D.37.
FILTER() - D.38.
GLOBAL() - D.39.
GROUP() - D.40.
GROUP_COUNT() - D.41.
GROUP_LIST() - D.42.
GROUP_MATCH_COUNT() - D.43.
HASH() - D.44.
HASHKEYS() - D.45.
HINT() - D.46.
IAXPEER() - D.47.
IAXVAR() - D.48.
ICONV() - D.49.
IF() - D.50.
IFMODULE() - D.51.
IFTIME() - D.52.
IMPORT() - D.53.
ISNULL() - D.54.
JABBER_STATUS() - D.55.
KEYPADHASH() - D.56.
LANGUAGE() - D.57.
LEN() - D.58.
LOCAL() - D.59.
LOCK() - D.60.
MAILBOX_EXISTS() - D.61.
MATH() - D.62.
MD5() - D.63.
MEETME_INFO() - D.64.
MINIVMACCOUNT() - D.65.
MINIVMCOUNTER() - D.66.
MUSICCLASS() - D.67.
ODBC_ANTIGF() - D.68.
ODBC_FETCH() - D.69.
ODBC_funktionsname() - D.70.
ODBC_PRESENCE() - D.71.
ODBC_SQL() - D.72.
QUEUE_MEMBER() - D.73.
QUEUE_MEMBER_COUNT() - D.74.
QUEUE_MEMBER_LIST() - D.75.
QUEUE_MEMBER_PENALTY() - D.76.
QUEUE_VARIABLES() - D.77.
QUEUE_WAITING_COUNT() - D.78.
QUEUEAGENTCOUNT() - D.79.
QUOTE() - D.80.
RAND() - D.81.
REALTIME() - D.82.
REALTIME_DESTROY() - D.83.
REALTIME_STORE() - D.84.
REGEX() - D.85.
SET() - D.86.
SHA1() - D.87.
SHARED() - D.88.
SHELL() - D.89.
SIP_HEADER() - D.90.
SIPCHANINFO() - D.91.
SIPPEER() - D.92.
SMDI_MSG() - D.93.
SMDI_MSG_RETRIEVE() - D.94.
SORT() - D.95.
SPRINTF() - D.96.
SQL_ESC() - D.97.
STAT() - D.98.
STRFTIME() - D.99.
STRPTIME() - D.100.
SYSINFO() - D.101.
TIMEOUT() - D.102.
TOLOWER() - D.103.
TOUPPER() - D.104.
TRYLOCK() - D.105.
TXTCIDNAME() - D.106.
UNLOCK() - D.107.
URIDECODE() - D.108.
URIENCODE() - D.109.
VALID_EXTEN() - D.110.
VERSION() - D.111.
VMCOUNT() - D.112.
VOLUME()
- D.1.
- E. AGI-Befehle
- E.1.
ANSWER - E.2.
ASYNCAGI BREAK - E.3.
CHANNEL STATUS - E.4.
CONTROL STREAM FILE - E.5.
DATABASE DEL - E.6.
DATABASE DELTREE - E.7.
DATABASE GET - E.8.
DATABASE PUT - E.9.
EXEC - E.10.
GET DATA - E.11.
GET FULL VARIABLE - E.12.
GET OPTION - E.13.
GET VARIABLE - E.14.
GOSUB - E.15.
HANGUP - E.16.
NOOP - E.17.
RECEIVE CHAR - E.18.
RECEIVE TEXT - E.19.
RECORD FILE - E.20.
SAY ALPHA - E.21.
SAY DATE - E.22.
SAY DATETIME - E.23.
SAY DIGITS - E.24.
SAY NUMBER - E.25.
SAY PHONETIC - E.26.
SAY TIME - E.27.
SEND IMAGE - E.28.
SEND TEXT - E.29.
SET AUTOHANGUP - E.30.
SET CALLERID - E.31.
SET CONTEXT - E.32.
SET EXTENSION - E.33.
SET MUSIC - E.34.
SET PRIORITY - E.35.
SET VARIABLE - E.36.
STREAM FILE - E.37.
TDD MODE - E.38.
VERBOSE - E.39.
WAIT FOR DIGIT
- E.1.
- F. AMI-Befehle
- F.1.
AbsoluteTimeout - F.2.
AgentCallbackLogin - F.3.
AgentLogoff - F.4.
Agents - F.5.
AGI - F.6.
Atxfer - F.7.
Bridge - F.8.
Challenge - F.9.
ChangeMonitor - F.10.
Command - F.11.
CoreSettings - F.12.
CoreShowChannels - F.13.
CoreStatus - F.14.
CreateConfig - F.15.
DAHDIDialOffhook - F.16.
DAHDIDNDoff - F.17.
DAHDIDNDon - F.18.
DAHDIHangup - F.19.
DAHDIRestart - F.20.
DAHDIShowChannels - F.21.
DAHDITransfer - F.22.
DBDel - F.23.
DBDelTree - F.24.
DBGet - F.25.
DBPut - F.26.
Events - F.27.
ExtensionState - F.28.
GetConfig - F.29.
GetConfigJSON - F.30.
Getvar - F.31.
Hangup - F.32.
IAXnetstats - F.33.
IAXpeerlist - F.34.
IAXpeers - F.35.
JabberSend - F.36.
ListCategories - F.37.
ListCommands - F.38.
Login - F.39.
Logoff - F.40.
MailboxCount - F.41.
MailboxStatus - F.42.
MeetmeList - F.43.
MeetmeMute - F.44.
MeetmeUnmute - F.45.
ModuleCheck - F.46.
ModuleLoad - F.47.
Monitor - F.48.
Originate - F.49.
Park - F.50.
ParkedCalls - F.51.
PauseMonitor - F.52.
Ping - F.53.
PlayDTMF - F.54.
QueueAdd - F.55.
QueueLog - F.56.
QueuePause - F.57.
QueuePenalty - F.58.
QueueRemove - F.59.
QueueRule - F.60.
Queues - F.61.
QueueStatus - F.62.
QueueSummary - F.63.
Redirect - F.64.
Reload - F.65.
SendText - F.66.
SetCDRUserField - F.67.
Setvar - F.68.
ShowDialPlan - F.69.
SIPnotify - F.70.
SIPpeers - F.71.
SIPqualifypeer - F.72.
SIPshowpeer - F.73.
SIPshowregistry - F.74.
Status - F.75.
StopMonitor - F.76.
UnpauseMonitor - F.77.
UpdateConfig - F.78.
UserEvent - F.79.
VoicemailUsersList - F.80.
WaitEvent - F.81.
ZapDialOffhook - F.82.
ZapDNDoff - F.83.
ZapDNDon - F.84.
ZapHangup - F.85.
ZapRestart - F.86.
ZapShowChannels - F.87.
ZapTransfer
- F.1.
- G. Konfigurations-Templates
- H. Upgrade von Asterisk 1.4 auf 1.6
- I. Zaptel zu DAHDI
- J. IAX vs. SIP
- K. GNU Free Documentation License
- Stichwortverzeichnis