Aus SatriaWiki
Version vom 25. Januar 2019, 13:41 Uhr von Satria (Diskussion | Beiträge) (Trunk Konfiguration)
Wechseln zu: Navigation, Suche

Tipps und Tricks rund um Asterisk (VoIP / Trunk Software), FreePBX (GUI für Asterisk) und Raspbx (Raspberry PI 3 Portierung von FreePBX)

Generelles Verständnis

Asterisk ist vereinfacht gesagt ein VoIP Client und Server zugleich. Es baut eine Verbindung zum SIP Provider auf, von dem man seine Telefonnummern erhält und stellt gleichzeitig SIP Zugänge für die anzuschließenden Telefone bereit.

Begriffe

Trunk
SIP Provider im Internet
Extension
Die Nebenstelle oder der Benutzer, der an Asterisk angeschlossen werden soll mit eigener Durchwahl.
User
Benutzer, die sich am WebUI anmelden können. Können mit Nebenstellen verknüpft werden.
Outbound Routes
Regeln, die beim Wählen einer Nummer durch eine Nebenstelle entscheiden, welcher Trunk verwendet werden soll.
Inbound Routes
Regeln, die bei ankommenden Gesprächen entscheiden, auf welche Neben stelle das Gespräch weitergeleitet werden soll, also auch welches Telefon klingeln soll.
DID / DDI
Direct Inward Dialing / Direct Dial In. Bezeichnet das Prinzip, dass die gewählte Nummer an die PBX Zentrale übergeben wird, um dort das Routing auf die Endgeräte vornehmen zu können.

Trunk Konfiguration

Die Provider können Daten erwarten, die voneinander leicht abweichen. Als recht universell haben sich die Werte von/für toplink-xpress herausgestellt:

Toplink

Die Outgoing Parameter:

Trunk Name
toplink
PEER Details
type=peer
username=<username>
secret=<password>
insecure=port,invite
host=sip.toplink-xpress.de
fromuser=<username>
fromdomain=sip.toplink-xpress.de

Die Incoming-Parameter:

USER Context
<leer>
USER Details
<leer>
Register String
<username>:<password>@sip.toplink-xpress.de/<username>
Ausführlicher: [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]
Alternativ: <username>:<password>@toplink/<username> "toplink" ist der Trunk Name oder auch "Context", der in den Outgoing Parameters definiert wurde.

o2

Funktioniert noch nicht!

Die Outgoing Parameter:

Trunk Name
alicesip
PEER Details
type=peer
username=<Vollständige Nummer ohne +>
secret=<password>
insecure=port,invite
host=sip.alice-voip.de
fromuser=<Vollständige Nummer ohne +>
fromdomain=sip.alice-voip.de
qualify=no
caninvite=no
canreinvite=no
context=public

Die Incoming-Parameter:

USER Context
<leer>
USER Details
<leer>
Register String
<username>:<password>:<username>@alicesip/11~1800

Inbound Routes

Diese Regeln leiten die Anrufe an die korrekten Nebenstellen weiter. Es muss für jede extern erreichbare Nummer jeweils eine Inbound Route geben, in der die DID (komplette externe Nummer) gesetzt ist. "Set Destination" bestimmt dann die Nebenstelle, an die der Anruf gehen soll.

Für interne Anrufe muss es eine Inbound Route geben, in der die CID mit der internen Nebenstellennummer gesetzt ist und ebenfalls unter "Set Destination" die gewünschte Nebenstelle.

Outbound Routes

Eine Outbound Route wird anhand der gewählten Nummer aktiviert. Das "Dial Pattern" bestimmt, wie die gewählten Nummern erkannt und ggf. modifiziert werden.

Ein Pattern gilt dann als erfüllt, wenn prefix und [match pattern] mit der Nummer übereinstimmen. Danach wird allerdings prefix von der Nummer entfernt und (prepend) vorangestellt.

Default outgoing

So möchte man z.B., dass lokalen Nummern die Ortsvorwahl vorangestellt wird. Lokale Nummern beginnen hier in D. mit einer Zahl größer 1. Dafür steht der Buchstabe N. Gefolgt von beliebigen und beliebig vielen weiteren Nummern. Hierfür steht der Punkt. Daraus ergibt sich bei der Ortsvorwahl 02206 das folgende Pattern:

(+492206) | [N.] => Es wird nichts entfernt, aber +492206 vorangestellt. Aus 80105 wird so +49220680105

Aus Nummern, die mit Vorwahlen (also einer 0) beginnen, möchte man das Internationale Format machen. Das ist dann dieses Pattern:

(+49) 0 | [Z.] => Greift bei einer beliebigen Nummer, die mit 0 beginnt und mit 1...9 weitergeht, entfernt die 0 und setzt +49 davor. Aus 0220680105 wird so: +49220680105.

Aber auch beim internationalen Format soll unsere Regel greifen. Dafür sorgt dieses Pattern:

() | [+Z.] => Greift bei allen international formatierten Nummern und verändert nichts.

Internal

Werden 3-stellige Nummern gewählt, die mit 2 beginnen (110 und 112 müssen ausgehende Nummern sein!), soll das Gespräch intern geroutet werden. Dafür legt man eine eigene Route an, markiert sie als Intra-Company, ohne Trunk und legt das folgende Pattern dort an:

() | [NXX] => Greift bei allen 3-stelligen Nummern, die mit einer Zahl größer als 1 beginnen.

Special numbers

Sondernummern sind Notfallnummern, aber auch die Auskunft usw. Diese beginnen mit einer 1, ihnen soll aber nicht die Ortsvorwahl vorangestellt werden. Daher legt man eine neue Route an, markiert sie mit Emergency und legt das folgende Pattern an:

() | [[1].] => Greift bei allen beliebig langen Nummern, die mit einer 1 beginnen.

Email

Die Email-Konfiguration kann über die Oberfläche nur vorgenommen werden, wenn man "Sysadmin Pro" erworben hat. Ansonsten muss man das auf der Shell manuell tun:

edit /etc/postfix/main.cf:
relayhost = SMTP server address
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_generic_maps = hash:/etc/postfix/generic

edit /etc/postfix/sasl_passwd:
relayhost username:password

execute:
postmap hash://etc/postfix/sasl_passwd

edit /etc/postfix/generic:
<source> <real_email_address@real-comain.tld>
...

execute:
postmap /etc/postfix/generic

do a postfix reload:
service postfix restart

Update

Updates über das FreePBX WebUI sollten in der folgenden Reihenfolge vorgenommen werden:

  1. FreePBX Framework. Danach Apply Config
  2. Core. Danach Apply Config
  3. Process Management. Danach Apply Config
  4. Restliche Module. Danach Apply Config und Neustart.

Tampered Files

Wenn im Dashboard eine Meldung erscheint, die von "tampered files" erzählt, müssen über SSH diese Befehle ausgeführt werden:

amportal chown
amportal a ma refreshsignatures
amportal a reload

Backup directory placeholders

__AMPWEBROOT__
/var/www/html
__ASTETCDIR__
/etc/asterisk
__AMPSBIN__
/usr/sbin
__ASTVARLIBDIR__
/var/lib/asterisk
__ASTSPOOLDIR__
/var/spool/asterisk

Quellen und Tutorials

https://rogermayer.info/asterisk-konfiguration-fur-toplink-xpress-sip-trunk

https://www.toplink-xpress.de/wie-kann-ich-meinen-ip-anschluss-an-einer-asterisk-basierten-anlage-einrichten

https://www.voip-info.org/asterisk-config-sipconf

https://wiki.freepbx.org/display/FPG/PBX+GUI+Home

https://www.youtube.com/watch?v=77KzDLij8eQ

https://wiki.freepbx.org/display/PPS/Setup+Postfix+Manually