Asterisk große Infrastruktur
Zur Navigation springen
Zur Suche springen
Übersichtsplan
Konfigurationsdateien
- Alle Konfiguraionen liegen unter /etc/asterisk
- neue Konfiguraitionen von der Shell laden per:
- asterisk -rx "reload"
Toronto
- Toronto stellt einen SIP-Provider dar.
- Wenn ein Kontext für einen Client definiert ist, dann kann sich dieser registrieren und der Zentrale die Nummern bekannt machen
- vim sip.conf
[general] [osaka] type=friend insecure=invite secret=welcome-os context=client host=dynamic disallow=all allow=ulaw [shanghai] type=friend insecure=invite secret=welcome-sh context=client host=dynamic disallow=all allow=ulaw
- type=friend erlaubt dem Client Anrufe zu tätigen und zu empfangen
- insecure=invite wird benötigt, da die IP-Adresse des Anrufers und der Asterisk-Anlage nicht übereinstimmen
- context definiert die Gruppe der wählbaren Nummern in extensions.conf
- host=dynamic heißt, dass wir die IP-Adresse des Clients nicht kennen
- disallow/allow bestimmt welche Codecs verwendet werden dürfen
- vim extensions.conf
[osaka-redirect] exten => _01XX,1,Dial(SIP/osaka/${EXTEN:2:4},30) exten => _01XX,n,Hangup() [shanghai-redirect] exten => _02XX,1,Dial(SIP/shanghai/${EXTEN:2:4},30) exten => _02XX,n,Hangup() [conference] exten => 0088,1,Answer() exten => 0088,n,Wait(3) exten => 0088,n,ConfBridge(1234) exten => 0088,n,Hangup() [client] include => osaka-redirect include => shanghai-redirect include => conference
- Osaka erhält die Vorwahl 01 und Shanghai die Vorwahl 02
- In den Konferenzraum kommt man per 0088
- Clients im Kontext client können diese Nummern benutzen
Osaka
- vim sip.conf
[general] register => osaka:welcome-os@toronto.lab.intra/toronto [toronto] type=friend insecure=invite secret=welcome context=toronto_incoming host=toronto.lab.intra disallow=all allow=ulaw [01] type=friend host=dynamic context=phones [02] type=friend host=dynamic context=phones
- Damit Toronto weiß wohin er Osaka erreicht, muss sich Osaka bei Toronto registrieren
- Zusätzlich definieren wir zwei Benutzer für SIP-Telefone 01 und 02
- vim extensions.conf
[internal] exten => _XX,1,Dial(SIP/${EXTEN},30) exten => _XX,n,Hangup() [remote] exten => _XXXX,1,Dial(SIP/toronto/${EXTEN}) exten => _XXXX,n,Hangup() [phones] include => internal include => remote [toronto_incoming] include => internal
- Anrufe innerhalb von Osaka werden mit einer zweistelligen Nummer gewählt
- Anrufe nach außen werden mit einer vierstelligen Nummer gewählt
- Dabei ist egal welche vier Ziffern wir auswählen, da Toronto über die Verbindung anhand der Vorwahl entscheidet
Shanghai
- Die Konfiguration jedes weiteren Client von Toronto sieht so ähnlich aus wie die von Osaka
- vim sip.conf
[general] register => shanghai:welcome-sh@toronto.lab.intra/toronto [toronto] type=friend secret=welcome context=toronto_incoming host=toronto.lab.intra disallow=all allow=ulaw [01] type=friend host=dynamic context=phones [02] type=friend host=dynamic context=phones
- vim extensions.conf
[internal] exten => _XX,1,Dial(SIP/${EXTEN},30) exten => _XX,n,Hangup() [remote] exten => _XXXX,1,Dial(SIP/toronto/${EXTEN}) exten => _XXXX,n,Hangup() [phones] include => internal include => remote [toronto_incoming] include => internal