Internet-Telefonie mit Asterisk
von: Jared Smith, Jim Van Meggelen, Leif Madsen
O'Reilly Verlag, 2006
ISBN: 9783897216969
Sprache: Deutsch
454 Seiten, Download: 6998 KB
Format: PDF, auch als Online-Lesen
Inhalt | 6 | ||
Vorwort | 10 | ||
Zielgruppe | 10 | ||
Der Inhalt dieses Buches | 11 | ||
Software | 12 | ||
Typografische Konventionen | 12 | ||
Benutzung der Codebeispiele | 13 | ||
Danksagungen | 13 | ||
Leif Madsen | 14 | ||
Jared Smith | 16 | ||
Jim Van Meggelen | 17 | ||
Die Telefonie-Revolution | 20 | ||
VoIP: Die Brücke zwischen traditioneller Telefonie und Netzwerktelefonie | 21 | ||
Das Zapata Telephony Project | 21 | ||
Massive Änderungen verlangen flexible Technologien | 22 | ||
Asterisk: Die Hacker-Telefonanlage | 24 | ||
Asterisk: Die Profi-Telefonanlage | 25 | ||
Die Asterisk-Community | 25 | ||
Die Asterisk- Mailinglisten | 26 | ||
Das Asterisk- Wiki | 27 | ||
Die IRC- Kanäle | 27 | ||
Das Asterisk Documentation Project | 27 | ||
Der Unternehmensfall | 27 | ||
Dieses Buch | 28 | ||
Ein System für Asterisk vorbereiten | 29 | ||
Auswahl der Server-Hardware | 31 | ||
Performance- Aspekte | 31 | ||
Auswahl des Prozessors | 34 | ||
Auswahl eines Motherboards | 36 | ||
Anforderungen an die Stromversorgung | 38 | ||
Umgebung | 39 | ||
Strom- und Notstromversorgung | 39 | ||
Erdung | 40 | ||
Stromkreise | 41 | ||
Der Geräteraum | 42 | ||
Telefonie-Hardware | 43 | ||
Anbindung an das öffentliche Telefonnetz | 43 | ||
Anbindung an ein rein paketorientiertes Telefonnetz | 46 | ||
Telefone | 47 | ||
Physikalische Telefone | 47 | ||
Softphones | 49 | ||
Telefonie- Adapter | 50 | ||
Kommunikations- Terminals | 50 | ||
Linux-Erwägungen | 51 | ||
Schlussbemerkung | 52 | ||
Asterisk installieren | 53 | ||
Welche Pakete werden benötigt? | 54 | ||
Benötigte Pakete | 54 | ||
Den Quellcode beschaffen | 55 | ||
Den Asterisk-Quellcode über FTP beschaffen | 55 | ||
Extrahieren des Quellcodes | 56 | ||
Den Asterisk-Quellcode über CVS beschaffen | 56 | ||
Zaptel kompilieren | 57 | ||
Der ztdummy-Treiber | 58 | ||
Die Zapata- Telefonietreiber | 59 | ||
ztcfg und zttool | 60 | ||
Die Datei zconfig.h | 60 | ||
Modulparameter zur Konfiguration von Zaptel übergeben | 64 | ||
libpri kompilieren | 64 | ||
Asterisk kompilieren | 65 | ||
Standardinstallation | 65 | ||
Alternative make- Argumente | 66 | ||
Das Makefile editieren | 67 | ||
Einsatz vorkompilierter Binaries | 69 | ||
Zusätzliche Ansagen installieren | 69 | ||
Den Quellcode aktualisieren | 70 | ||
Gängige Compiler-Probleme | 70 | ||
Asterisk | 70 | ||
Zaptel | 72 | ||
Zaptel-Module laden | 74 | ||
Systeme, die udevd verwenden | 74 | ||
Zaptel laden | 75 | ||
ztdummy laden | 75 | ||
libpri laden | 76 | ||
Asterisk laden | 76 | ||
Kommandozeilenbefehle | 76 | ||
Initialisierungsskript im Red Hat– Stil | 77 | ||
Das safe_ asterisk-Skript | 77 | ||
Von Asterisk verwendete Verzeichnisse | 78 | ||
/etc/asterisk/ | 78 | ||
/usr/ lib/asterisk/ modules/ | 78 | ||
/ var/ lib/asterisk/ | 79 | ||
/var/spool/asterisk/ | 80 | ||
/ var/ run/ | 81 | ||
/ var/ log/asterisk/ | 81 | ||
/ var/ log/asterisk/cdr- csv | 81 | ||
Schlussbemerkung | 82 | ||
Basiskonfiguration von Asterisk | 83 | ||
Was wird benötigt? | 83 | ||
Mit Schnittstellen-Konfigurationsdateien arbeiten | 84 | ||
FXO- und FXS-Kanäle | 85 | ||
Die FXO- und FXS-Ports Ihrer TDM400P erkennen | 86 | ||
Einen FXO-Kanal konfigurieren | 87 | ||
Zaptel-Hardware- Konfiguration | 87 | ||
Zapata-Hardware- Konfiguration | 89 | ||
Konfiguration des Wählplans | 90 | ||
Einwahl | 90 | ||
Einen FXS-Kanal konfigurieren | 91 | ||
Zaptel-Hardware- Konfiguration | 91 | ||
Zapata-Hardware- Konfiguration | 91 | ||
Wählplan- Konfiguration | 92 | ||
SIP konfigurieren | 93 | ||
SIP und RTP | 93 | ||
SIP-Konfiguration | 94 | ||
Client-Konfiguration | 96 | ||
Wählplan-Konfiguration | 97 | ||
Eingehende IAX-Verbindungen konfigurieren | 98 | ||
iax.conf-Konfiguration | 98 | ||
Wählplan-Konfiguration | 99 | ||
Ausgehende IAX-Verbindungen konfigurieren | 100 | ||
iax.conf-Konfiguration | 100 | ||
Wählplan- Konfiguration | 100 | ||
Debugging | 101 | ||
Verbindung mit der Konsole herstellen | 101 | ||
Verbosity und Debugging aktivieren | 101 | ||
Schlussbemerkung | 102 | ||
Wählplan-Grundlagen | 103 | ||
Wählplan-Syntax | 103 | ||
Kontexte | 104 | ||
Extensions | 105 | ||
Prioritäten | 106 | ||
Anwendungen | 107 | ||
Ein einfacher Wählplan | 108 | ||
Die s-Extension | 108 | ||
Die Anwendungen Answer( ), Playback( ) und Hangup( ) | 109 | ||
Unser erster Wählplan | 110 | ||
Logik für den Wählplan | 110 | ||
Die Anwendungen Background( ) und Goto( ) | 110 | ||
Ungültige Einträge und Timeouts behandeln | 112 | ||
Die Dial( )-Anwendung | 112 | ||
Einen Kontext für interne Anrufe hinzufügen | 115 | ||
Variablen | 117 | ||
Pattern Matching | 119 | ||
Ausgehende Anrufe aktivieren | 123 | ||
Includes | 124 | ||
Schlussbemerkung | 126 | ||
Weitere Wählplan-Konzepte | 127 | ||
Ausdrücke und Variablenmanipulation | 127 | ||
Einfache Ausdrücke | 127 | ||
Operatoren | 128 | ||
Wählplan-Funktionen | 130 | ||
Syntax | 130 | ||
Beispiele für Wählplan-Funktionen | 131 | ||
Bedingte Verzweigungen | 131 | ||
Die GotoIf( )-Anwendung | 132 | ||
Zeitbasierte bedingte Verzweigungen mit GotoIfTime( ) | 133 | ||
Voicemail | 134 | ||
Mailboxen anlegen | 135 | ||
Voicemail in den Wählplan integrieren | 137 | ||
Auf Voicemail zugreifen | 137 | ||
Ein Namensverzeichnis anlegen | 138 | ||
Makros | 138 | ||
Makros definieren | 139 | ||
Makros im Wählplan aufrufen | 139 | ||
Argumente in Makros verwenden | 140 | ||
Die Asterisk-Datenbank ( AstDB) | 141 | ||
Daten in der AstDB speichern | 142 | ||
Daten aus der AstDB abrufen | 142 | ||
Daten aus der AstDB löschen | 142 | ||
Die AstDB im Wählplan einsetzen | 143 | ||
Nützliche Asterisk-Features | 144 | ||
Zapateller( ) | 144 | ||
Call Parking | 145 | ||
Konferenzen mit MeetMe( ) | 146 | ||
Schlussbemerkung | 147 | ||
Telefonie verstehen | 148 | ||
Analoge Telefonie | 148 | ||
Die Teile eines analogen Telefons | 149 | ||
Tip und Ring | 151 | ||
Digitale Telefonie | 151 | ||
Pulscodemodulation | 152 | ||
Das digitale Telefonnetz | 161 | ||
Leitungsarten | 162 | ||
Digitale Signalisierungsprotokolle | 163 | ||
Paketvermittelte Netzwerke | 166 | ||
Schlussbemerkung | 166 | ||
VoIP-Protokolle | 167 | ||
Die Notwendigkeit von VoIP- Protokollen | 168 | ||
VoIP-Protokolle | 169 | ||
IAX (Das »Inter- Asterisk eXchange«-Protokoll) | 169 | ||
SIP | 170 | ||
H.323 | 172 | ||
MGCP | 174 | ||
Proprietäre Protokolle | 174 | ||
Codecs | 175 | ||
Quality of Service | 179 | ||
TCP, UDP und SCTP | 179 | ||
Differentiated Service | 180 | ||
Guaranteed Service | 181 | ||
Best Effort | 182 | ||
Echo | 182 | ||
Warum ein Echo auftritt | 182 | ||
Echo verarbeiten | 183 | ||
Asterisk und VoIP | 183 | ||
Users und Peers und Friends – oh weh! | 183 | ||
register- Anweisungen | 185 | ||
Schlussbemerkung | 186 | ||
Das Asterisk Gateway Interface (AGI) | 187 | ||
Grundlagen der AGI-Kommunikation | 187 | ||
Was sind STDIN, STDOUT und STDERR? | 188 | ||
Das Standardmuster der AGI-Kommunikation | 188 | ||
Ein AGI-Skript über den Wählplan aufrufen | 189 | ||
AGI-Skripten in Perl schreiben | 189 | ||
Die Perl AGI-Bibliothek | 195 | ||
AGI-Skripten in PHP schreiben | 195 | ||
Die PHP AGI-Bibliothek | 200 | ||
AGI-Skripten in Python schreiben | 201 | ||
Die Python AGI-Bibliothek | 204 | ||
Debugging im AGI | 204 | ||
Debugging über das Betriebssystem | 205 | ||
Der Asterisk-Befehl agi debug | 205 | ||
Schlussbemerkung | 206 | ||
Asterisk für den Über-Geek | 207 | ||
Festival | 207 | ||
Festival einrichten und für Asterisk vorbereiten | 208 | ||
Asterisk für Festival konfigurieren | 208 | ||
Starten des Festival-Servers | 208 | ||
Festival aus dem Wählplan heraus aufrufen | 209 | ||
Anrufaufzeichnung (CDR) | 209 | ||
CDR-Herausforderungen | 212 | ||
Anpassen der Systemansagen | 212 | ||
Manager | 214 | ||
Manager- Befehle | 215 | ||
Das Flash Operator Panel | 215 | ||
Call-Dateien | 216 | ||
DUNDi | 217 | ||
Wie funktioniert DUNDi? | 217 | ||
Asterisk für den Einsatz mit DUNDi konfigurieren | 218 | ||
Schlussbemerkung | 223 | ||
Asterisk: Die Zukunft der Telefonie | 224 | ||
Die Probleme der traditionellen Telefonie | 224 | ||
Closed Thinking | 225 | ||
Eingeschränkte Standardkompatibilität | 226 | ||
Langsame Release-Zyklen | 226 | ||
Die Vergangenheit hinter sich lassen und die Zukunft in die Hand nehmen | 227 | ||
Paradigmenwechsel | 227 | ||
Das Versprechen der Open Source-Telefonie | 228 | ||
Das Eigeninteresse von Asterisk | 228 | ||
Offene Architektur | 229 | ||
Standardkonformität | 230 | ||
Blitzschnelle Antwort auf neue Technologien | 230 | ||
Leidenschaftliche Community | 230 | ||
Einige Dinge, die jetzt möglich sind | 231 | ||
Die Zukunft von Asterisk | 235 | ||
Sprachverarbeitung | 235 | ||
Sprache mit hoher Wiedergabetreue | 237 | ||
Video | 237 | ||
Wireless | 238 | ||
Unified Messaging | 239 | ||
Peering | 239 | ||
Herausforderungen | 241 | ||
Möglichkeiten | 244 | ||
Schlussbemerkung | 245 | ||
Asterisk und MSN ISDN-Anschlüsse | 246 | ||
Beispiel 1 | 246 | ||
Kompilieren und Installation | 247 | ||
Deutsche Sprachbausteine | 249 | ||
Konfiguration von Asterisk | 250 | ||
Beispiel 2 | 254 | ||
Asterisk mit Modem-Modul und Isdn4Linux | 254 | ||
Download, Kompilierung und Installation | 254 | ||
Konfiguration von Asterisk | 255 | ||
Beispiel 3 | 258 | ||
Asterisk und Anlagenanschlüsse | 258 | ||
Download, Kompilierung und Installation | 258 | ||
Beispiel 4 | 261 | ||
Asterisk und E1-Primärmultiplexanschlüsse | 261 | ||
Download/Konfiguration/Installation | 261 | ||
Anhang A | 265 | ||
VoIP-Channel | 265 | ||
IAX | 265 | ||
Allgemeine IAX- Einstellungen | 266 | ||
register- Anweisungen | 271 | ||
IAX-Channel-Definitionen | 272 | ||
SIP | 277 | ||
Allgemeine SIP-Parameter | 277 | ||
SIP-Channel- Definitionen | 281 | ||
Anhang B | 288 | ||
Anwendungsreferenz | 288 | ||
Anhang C | 355 | ||
AGI-Referenz | 355 | ||
Anhang D | 365 | ||
Konfigurationsdateien | 365 | ||
modules.conf | 366 | ||
Ressourcen | 367 | ||
Applikationen | 368 | ||
Datenbankgespeicherte Call Detail Records | 372 | ||
Channel | 373 | ||
Codecs | 374 | ||
Formate | 375 | ||
Telefonanlagen-Kernmodule | 376 | ||
Allein stehende Funktionen | 377 | ||
adsi.conf | 377 | ||
adtranvofr. conf | 378 | ||
agents.conf | 378 | ||
alarmreceiver.conf | 380 | ||
alsa.conf | 380 | ||
asterisk.conf | 381 | ||
cdr.conf (ab Version 1.2) | 382 | ||
cdr_manager. conf | 383 | ||
cdr_odbc.conf | 384 | ||
cdr_pgsql. conf | 384 | ||
cdr_tds.conf | 384 | ||
codecs. conf (ab Version 1.2) | 384 | ||
dnsmgr.conf ( ab Version 1.2) | 385 | ||
dundi.conf (ab Version 1.2) | 385 | ||
enum.conf | 385 | ||
extconfig. conf | 385 | ||
extensions.conf | 386 | ||
features.conf | 386 | ||
festival.conf | 386 | ||
iax.conf | 387 | ||
iaxprov.conf | 387 | ||
indications.conf | 387 | ||
logger.conf | 388 | ||
manager.conf | 389 | ||
meetme.conf | 390 | ||
mgcp.conf | 391 | ||
modem.conf | 391 | ||
musiconhold.conf | 391 | ||
osp.conf | 391 | ||
oss.conf | 392 | ||
phone.conf | 392 | ||
privacy.conf | 392 | ||
queues.conf | 392 | ||
res_odbc.conf | 396 | ||
rpt.conf | 396 | ||
rtp.conf | 396 | ||
sip.conf | 397 | ||
sip_notify.conf (ab Version 1.2) | 397 | ||
skinny.conf | 397 | ||
voicemail.conf | 397 | ||
Allgemeine Voicemail-Einstellungen | 398 | ||
Voicemail-Zonen | 400 | ||
Definition von Voicemail-Kontexten und Mailboxen | 401 | ||
vpb.conf | 404 | ||
zapata.conf | 404 | ||
zaptel.conf | 404 | ||
Anhang E | 406 | ||
Referenz der Asterisk-Kommandozeilen-Schnittstelle | 406 | ||
add | 407 | ||
agi | 408 | ||
database | 408 | ||
iax2 | 411 | ||
indication | 413 | ||
logger | 414 | ||
meetme | 415 | ||
pri | 416 | ||
remove | 418 | ||
restart | 418 | ||
set | 419 | ||
show | 420 | ||
sip | 424 | ||
stop | 426 | ||
zap | 427 | ||
Index | 430 | ||
Über die Autoren | 452 | ||
Über die Übersetzer | 453 | ||
Kolophon | 453 | ||
Mehr eBooks bei www.ciando.com | 0 |