Asterisk große Infrastruktur modifiziert: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „= Übersichtsplan = {{#drawio:asterisk-gi-01}} = Konfigurationsdateien = * Alle Konfiguraionen liegen unter ''/etc/asterisk'' * neue Konfiguraitionen von de…“)
 
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= Übersichtsplan =
 
= Übersichtsplan =
  
{{#drawio:asterisk-gi-01}}
+
{{#drawio:asterisk-gi-02}}
  
 
= Konfigurationsdateien =
 
= Konfigurationsdateien =
Zeile 9: Zeile 9:
 
* '''asterisk -rx "reload"'''
 
* '''asterisk -rx "reload"'''
  
== Toronto ==
+
== zentrale ==
  
* Toronto stellt einen SIP-Provider dar.
+
* zentrale 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
 
* Wenn ein Kontext für einen Client definiert ist, dann kann sich dieser registrieren und der Zentrale die Nummern bekannt machen
 
* '''vim sip.conf'''
 
* '''vim sip.conf'''
Zeile 17: Zeile 17:
 
  [general]
 
  [general]
 
   
 
   
  [osaka]
+
  [ta-01]
 
  type=friend
 
  type=friend
 
  insecure=invite
 
  insecure=invite
  secret=welcome-os
+
  secret=pass-ta-01
context=client
 
 
  host=dynamic
 
  host=dynamic
 
  disallow=all
 
  disallow=all
 
  allow=ulaw
 
  allow=ulaw
 
   
 
   
  [shanghai]
+
  [ta-02]
 
  type=friend
 
  type=friend
 
  insecure=invite
 
  insecure=invite
  secret=welcome-sh
+
  secret=pass-ta-02
context=client
 
 
  host=dynamic
 
  host=dynamic
 
  disallow=all
 
  disallow=all
Zeile 42: Zeile 40:
 
* '''vim extensions.conf'''
 
* '''vim extensions.conf'''
  
[osaka-redirect]
+
  exten => _0XXX,1,Dial(SIP/ta-${EXTEN:0:2}/${EXTEN:2:2},30)
  exten => _01XX,1,Dial(SIP/osaka/${EXTEN:2:4},30)
+
  exten => _0XXX,n,Hangup()
  exten => _01XX,n,Hangup()
 
 
   
 
   
  [shanghai-redirect]
+
  exten =>  1088,1,Answer()
  exten => _02XX,1,Dial(SIP/shanghai/${EXTEN:2:4},30)
+
  exten => 1088,n,Wait(3)
  exten => _02XX,n,Hangup()
+
exten =>  1088,n,ConfBridge(1234)
 +
  exten => 1088,n,Hangup()
 
   
 
   
[conference]
 
exten =>  0088,1,Answer()
 
exten =>  0088,n,Wait(3)
 
exten =>  0088,n,ConfBridge(1234)
 
exten =>  0088,n,Hangup()
 
 
   
 
   
[client]
+
* ta-01 erhält die Vorwahl 01 und ta-02 die Vorwahl 02
include => osaka-redirect
+
* In den Konferenzraum kommt man per 1088
include => shanghai-redirect
 
include => conference
 
  
* Osaka erhält die Vorwahl 01 und Shanghai die Vorwahl 02
+
= ta-01 =
* In den Konferenzraum kommt man per 0088
 
* Clients im Kontext ''client'' können diese Nummern benutzen
 
 
 
= Osaka =
 
  
 
* '''vim sip.conf'''
 
* '''vim sip.conf'''
  
 
  [general]
 
  [general]
  register => osaka:welcome-os@toronto.lab.intra/toronto
+
  register => ta-01:pass-ta-01@192.168.6.210/zentrale
 
   
 
   
  [toronto]
+
  [zentrale]
 
  type=friend
 
  type=friend
 
  insecure=invite
 
  insecure=invite
  secret=welcome
+
  secret=pass-ta-01
context=toronto_incoming
+
  host=192.168.6.210
  host=toronto.lab.intra
 
 
  disallow=all
 
  disallow=all
 
  allow=ulaw
 
  allow=ulaw
+
 
 
  [01]
 
  [01]
 
  type=friend
 
  type=friend
 
  host=dynamic
 
  host=dynamic
  context=phones
+
  secret=pass1
 +
disallow=all
 +
allow=ulaw
 
   
 
   
 
  [02]
 
  [02]
 
  type=friend
 
  type=friend
 
  host=dynamic
 
  host=dynamic
  context=phones
+
  secret=pass1
 +
disallow=all
 +
allow=ulaw
 +
 
  
* Damit Toronto weiß wohin er Osaka erreicht, muss sich Osaka bei Toronto registrieren
+
 
 +
* Damit zentrale weiß wohin er ta-1 erreicht, muss sich ta-1 bei zentrale registrieren
 
* Zusätzlich definieren wir zwei Benutzer für SIP-Telefone ''01'' und ''02''
 
* Zusätzlich definieren wir zwei Benutzer für SIP-Telefone ''01'' und ''02''
 
* '''vim extensions.conf'''
 
* '''vim extensions.conf'''
  
[internal]
 
 
  exten => _XX,1,Dial(SIP/${EXTEN},30)
 
  exten => _XX,1,Dial(SIP/${EXTEN},30)
 
  exten => _XX,n,Hangup()
 
  exten => _XX,n,Hangup()
 
   
 
   
[remote]
+
  exten => _XXXX,1,Dial(SIP/zentrale/${EXTEN})
  exten => _XXXX,1,Dial(SIP/toronto/${EXTEN})
 
 
  exten => _XXXX,n,Hangup()
 
  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 innerhalb von ta-1 werden mit einer zweistelligen Nummer gewählt
 
* Anrufe nach außen werden mit einer vierstelligen 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
+
* Dabei ist egal welche vier Ziffern wir auswählen, da ta-1 über die Verbindung anhand der Vorwahl entscheidet
  
= Shanghai =
+
= ta-02 =
  
* Die Konfiguration jedes weiteren Client von Toronto sieht so ähnlich aus wie die von Osaka
+
* Die Konfiguration jedes weiteren Client von ta-02 sieht so ähnlich aus wie die von ta-01
 
* '''vim sip.conf'''
 
* '''vim sip.conf'''
  
 
  [general]
 
  [general]
  register => shanghai:welcome-sh@toronto.lab.intra/toronto
+
  register => ta-02:pass-ta-02@192.168.6.210/zentrale
 
   
 
   
  [toronto]
+
  [zentrale]
 
  type=friend
 
  type=friend
  secret=welcome
+
  insecure=invite
  context=toronto_incoming
+
  secret=pass-ta-02
  host=toronto.lab.intra
+
  host=192.168.6.210
 
  disallow=all
 
  disallow=all
 
  allow=ulaw
 
  allow=ulaw
Zeile 133: Zeile 117:
 
  type=friend
 
  type=friend
 
  host=dynamic
 
  host=dynamic
  context=phones
+
  secret=pass1
 +
disallow=all
 +
allow=ulaw
 
   
 
   
 
  [02]
 
  [02]
 
  type=friend
 
  type=friend
 
  host=dynamic
 
  host=dynamic
  context=phones
+
  secret=pass1
 +
disallow=all
 +
allow=ulaw
  
 
* '''vim extensions.conf'''
 
* '''vim extensions.conf'''
  
[internal]
 
 
  exten => _XX,1,Dial(SIP/${EXTEN},30)
 
  exten => _XX,1,Dial(SIP/${EXTEN},30)
 
  exten => _XX,n,Hangup()
 
  exten => _XX,n,Hangup()
 
   
 
   
[remote]
+
  exten => _XXXX,1,Dial(SIP/zentrale/${EXTEN})
  exten => _XXXX,1,Dial(SIP/toronto/${EXTEN})
 
 
  exten => _XXXX,n,Hangup()
 
  exten => _XXXX,n,Hangup()
 
[phones]
 
include => internal
 
include => remote
 
 
[toronto_incoming]
 
include => internal
 

Aktuelle Version vom 6. Juli 2023, 11:50 Uhr

Übersichtsplan

Konfigurationsdateien

  • Alle Konfiguraionen liegen unter /etc/asterisk
  • neue Konfiguraitionen von der Shell laden per:
  • asterisk -rx "reload"

zentrale

  • zentrale 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]

[ta-01]
type=friend
insecure=invite
secret=pass-ta-01
host=dynamic
disallow=all
allow=ulaw

[ta-02]
type=friend
insecure=invite
secret=pass-ta-02
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
exten => _0XXX,1,Dial(SIP/ta-${EXTEN:0:2}/${EXTEN:2:2},30)
exten => _0XXX,n,Hangup()

exten =>  1088,1,Answer()
exten =>  1088,n,Wait(3)
exten =>  1088,n,ConfBridge(1234)
exten =>  1088,n,Hangup()


  • ta-01 erhält die Vorwahl 01 und ta-02 die Vorwahl 02
  • In den Konferenzraum kommt man per 1088

ta-01

  • vim sip.conf
[general]
register => ta-01:pass-ta-01@192.168.6.210/zentrale

[zentrale]
type=friend
insecure=invite
secret=pass-ta-01
host=192.168.6.210
disallow=all
allow=ulaw
 
[01]
type=friend
host=dynamic
secret=pass1
disallow=all
allow=ulaw

[02]
type=friend
host=dynamic
secret=pass1
disallow=all
allow=ulaw


  • Damit zentrale weiß wohin er ta-1 erreicht, muss sich ta-1 bei zentrale registrieren
  • Zusätzlich definieren wir zwei Benutzer für SIP-Telefone 01 und 02
  • vim extensions.conf
exten => _XX,1,Dial(SIP/${EXTEN},30)
exten => _XX,n,Hangup()

exten => _XXXX,1,Dial(SIP/zentrale/${EXTEN})
exten => _XXXX,n,Hangup()

  • Anrufe innerhalb von ta-1 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 ta-1 über die Verbindung anhand der Vorwahl entscheidet

ta-02

  • Die Konfiguration jedes weiteren Client von ta-02 sieht so ähnlich aus wie die von ta-01
  • vim sip.conf
[general]
register => ta-02:pass-ta-02@192.168.6.210/zentrale

[zentrale]
type=friend
insecure=invite
secret=pass-ta-02
host=192.168.6.210
disallow=all
allow=ulaw

[01]
type=friend
host=dynamic
secret=pass1
disallow=all
allow=ulaw 

[02]
type=friend
host=dynamic
secret=pass1
disallow=all
allow=ulaw
  • vim extensions.conf
exten => _XX,1,Dial(SIP/${EXTEN},30)
exten => _XX,n,Hangup()

exten => _XXXX,1,Dial(SIP/zentrale/${EXTEN})
exten => _XXXX,n,Hangup()