Asterisk große Infrastruktur: Unterschied zwischen den Versionen

Aus Xinux Wiki
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]]
+
= Übersichtsplan =
 +
{{#drawio:asterisk-gi-01}}
  
{#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