Asterisk große Infrastruktur: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „Übersichtsplan {#drawio:asterisk-gi-01}“) |
|||
| (11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | + | = Übersichtsplan = | |
| + | {{#drawio:asterisk-gi-01}} | ||
| − | { | + | = 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 | ||
Aktuelle Version vom 4. Juli 2023, 18:25 Uhr
Ü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
