Asterisk 1.4 - 10.0
Installation, Programmierung und Betrieb
Reihe: Open Source Library
Rechtlicher Hinweis
Copyright (c) 2006 - 2009 by Stefan Wintermeyer
<sw@wintermeyer-consulting.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