Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
archiv:4_x:server:installation [12.03.2024 16:50] (aktuell) richard.neubert
Zeile 1: Zeile 1:
 +====== Installation ======
  
 +Basis: Ubuntu Server LTS 14.04 (64bit empfohlen)
 +[[http://releases.ubuntu.com/14.04/]]
 +
 +<WRAP caution>
 +Bei einer Installation mit mehr als einem Netzwerkinterface (eth0,eth1) sollte das Haupt-Telefon-Netz immer auf eth0 liegen. Externe Verbindungen zu anderen Netzwerken oder das Interface mit der default-Route zum Hauptgateway sollte dann auf eth1 oder höher liegen.\\
 +Gründe dafür sind Eigenheiten vom Linux-Kernel bei der Behandlung z.B. von ausgehenden UDP-SIP Paketen die möglicherweise eine falsche Quelladresse beim Versenden erhalten und so nicht wieder korrekt beantwortet werden können. \\
 +Probleme die dadurch entstehen sind beispielsweise fehlende Displayinformationen bei den Endgeräten (verpasste Anrufe, ...). Falls es keine andere Möglichkeit gibt gilt es zwingend den sofia-bindhost vom ucwared auf eine feste IP zu konfigurieren. Bei Fragen zu dem Thema wenden Sie sich bitte an unseren Support.
 +</WRAP>
 +
 +<WRAP important>
 +Beim Einrichten des VM-Guest gibt es folgendes zu beachten:
 +  - Keine automatischen Updates, diese können dazu führen, dass Ubuntu wichtige Komponenten der UCware im laufenden Betrieb neustartet!
 +  - Etwa 4GB RAM sind ausreichend
 +  - Beim Einsatz von VMware sollten die VMware Tools installiert sein. Das lässt ich problemlos im Gast erledigen mit ''sudo apt-get install open-vm-tools''
 +  - Ebenfalls beim Einsatz von VMware bitte unbedingt die Option ''Uhrzeit des Gastsystems mit Host synchronisieren'' **deaktiviert** lassen
 +</WRAP>
 +
 +===== Asterisk-Server mit UCware installieren =====
 +
 +
 +<WRAP important>
 +Hinweis: Viele der folgenden Befehle lassen sich nur als //root// ausführen. Ubuntu sieht vor, dafür den Befehl ''sudo'' zu nutzen!
 +</WRAP>
 +==== Den UCware Paketserver in die /etc/apt/sources.list hinzufügen ====
 +<code># echo deb https://user:pass@packages.ucware.de/ubuntu/ucware-4.2 trusty main > /etc/apt/sources.list.d/ucware.list
 +# echo deb https://user:pass@packages.ucware.de/ubuntu/ucware-firmware trusty main >> /etc/apt/sources.list.d/ucware.list</code>
 +<code># apt-get install curl</code>
 +<code># curl https://user:pass@packages.ucware.de/ubuntu/ucware-4.2/pubkey.gpg | apt-key add -</code>
 +
 +<WRAP important>
 +Die Zugangsdaten //user:pass// müssen ersetzt werden durch die Zugangsdaten des jeweiligen Endkunden. Die Zugangsdaten können für jeden Endkunden im Partnerportal eingetragen werden.
 +</WRAP>
 +==== Pakete auf den neuesten Stand bringen ====
 +<code># apt-get clean && apt-get update && apt-get upgrade</code>
 +
 +**WICHTIG: wenn der Kernel upgedated wurde: Neustarten**
 +(da sonst bei der weiteren Installation u.U. die
 +Kernelmodule für DAHDI nicht richtig compiliert werden)
 +
 +==== UCware installieren ==== 
 +<code># apt-get install postfix ntp ntpdate bind9 isc-dhcp-server ucware dahdi-dkms ucware-core</code>
 +
 +ITU-T telephone code: 49 (für Deutschland)\\
 +Postfix Configuration: Internet Site oder lokaler Smarthost
 +
 +Sollte bei der Installation eine der beiden Fehlermeldungen
 +
 +  /etc/default/astbuttond not found. Please install astbuttond and rerun ucware-setup-asterisk
 +  /etc/default/asterisk not found. Please install asterisk and rerun ucware-setup-asterisk
 +
 +auftauchen, ist Asterisk noch nicht vollständig oder nicht korrekt installiert. Sobald Asterisk korrekt installiert ist, können notwendige Änderungen an den genannten Dateien mit ''/usr/sbin/ucware-setup-asterisk'' nachgeholt werden.
 +
 +==== Datenbank einrichten ====
 +
 +Datenbanknutzerrechte eintragen:
 +
 +<code>$ mysql -uroot -p</code>
 +
 +  [...]
 +  mysql> GRANT ALL ON `asterisk`.* TO 'ucware'@'localhost' IDENTIFIED BY 'geheim';
 +  Query OK, 0 rows affected (0.00 sec)
 +
 +  mysql> GRANT ALL ON `asterisk`.* TO 'ucware'@'%' IDENTIFIED BY 'geheim';
 +  Query OK, 0 rows affected (0.00 sec)
 +
 +  mysql> SHOW GRANTS FOR 'ucware'@'localhost';
 +  +---------------------------------------------------------------------------------------------------------------------+
 +  | Grants for ucware@localhost                                                                                         |
 +  +---------------------------------------------------------------------------------------------------------------------+
 +  | GRANT USAGE ON *.* TO 'ucware'@'localhost' IDENTIFIED BY PASSWORD '*462366917EEDD1970A48E87D8EF59EB67D2CA26F'       |
 +  | GRANT ALL PRIVILEGES ON `asterisk`.* TO 'ucware'@'localhost'                                                        |
 +  +---------------------------------------------------------------------------------------------------------------------+
 +  2 rows in set (0.00 sec)
 +  
 +  mysql> SHOW GRANTS FOR 'ucware'@'%';
 +  +-------------------------------------------------------------------------------------------------------------+
 +  | Grants for ucware@%                                                                                   |
 +  +-------------------------------------------------------------------------------------------------------------+
 +  | GRANT USAGE ON *.* TO 'ucware'@'%' IDENTIFIED BY PASSWORD '*462366917EEDD1970A48E87D8EF59EB67D2CA26F' |
 +  | GRANT ALL PRIVILEGES ON `asterisk`.* TO 'ucware'@'%'                                                  |
 +  +-------------------------------------------------------------------------------------------------------------+
 +  2 rows in set (0.00 sec)
 +  
 +  mysql> FLUSH PRIVILEGES;
 +  Query OK, 0 rows affected (0.01 sec)
 +  
 +  mysql> exit
 +  Bye
 +
 +Datenbanknutzerrechte überprüfen:
 +
 +  $ mysql -u ucware -p -e 'SELECT "ok"'
 +  Enter password:
 +  +----+
 +  | ok |
 +  +----+
 +  | ok |
 +  +----+
 +
 +==== Datenbank installieren ====
 +  cat /usr/share/ucware/db/asterisk.sql | mysql -uroot -p
 +  
 +==== Nameserver konfigurieren ====
 +Den lokalen Nameserver in der ''/etc/resolv.conf'' vor den vorhandenen Eintrag schreiben:
 +
 +  [...]
 +  nameserver 127.0.0.1
 +  [...]
 +
 +In der ''/etc/bind/named.conf.local'' folgende Zeile hinzufügen/Auskommentieren:
 +  [...]
 +  include "/etc/bind/zones.rfc1918";
 +  [...]
 +
 +In der ''/etc/bind/named.conf.options'' werden die firmeninternen DNS Server bei Forwarders eingetragen
 +
 +  [...]
 +  forwarders {
 +     10.0.200.3;
 +     10.0.200.2;
 +  };
 +  [...]
 +  
 +Falls die eingetragenen Forwarder kein **DNSSEC** unterstützen, muss hier zusätzlich die Option ''dnssec-validation'' von ''auto'' auf ''no'' gestellt werden.
 +
 +Nameserver neu starten:
 +  service bind9 restart
 +
 +Nameserver überprüfen:
 +  nslookup www.belnet.de
 +
 +==== NTP Server konfigurieren ====
 +
 +NTP Dienst stoppen:
 +  service ntp stop
 +
 +Einen gültigen NTP-Server die ''/etc/ntp.conf'' hinzufügen.
 +  server ptbtime2.ptb.de
 +  server pool.ntp.org
 +  server 10.0.200.2
 +
 +<WRAP important>
 +Manche Telefone akzeptieren nur korrekt konfigurierte NTP-Server. Dazu muss der Upstream bis zum Stratum 0 stimmen. Überprüfen lässt sich das mit ''ntpdate -d <IP des NTP-Servers>''. Frisch gestartete NTP-Server benötigen einige Zeit (> 15 Minuten) bis die Synchronisation stabil ist.
 +</WRAP>
 +
 +Initial Zeit setzen:
 +  ntpdate pool.ntp.org
 +
 +NTP Dienst starten:
 +  service ntp start
 +
 +Überprüfen welcher NTP Server benutzt wird:
 +  ntpq -p
 +
 +==== DHCP-Server konfigurieren ====
 +
 +**10.04**: ''/etc/dhcp3/dhcpd.conf''\\
 +**14.04**: ''/etc/dhcp/dhcpd.conf''\\
 +\\
 +Die DHCP-Konfiguration anhand passender Beispielkonfiguration von UCware anpassen.
 +(z.B.: ''/usr/share/doc/ucware-core/misc/dhcpd-3-example.conf.gz'')\\
 +\\
 +**10.04**
 +  service dhcp3-server restart
 +
 +**14.04**
 +  service isc-dhcp-server restart
 +
 +==== Postfix konfigurieren ====
 +
 +**Wenn nur an interne Adressen versendet werden soll reicht es einen relayhost einzutragen**
 +
 +
 +Die Grundkonfiguration wird in der Datei ''/etc/postfix/main.cf'' festgehalten. Wird ein Smart-/Relayhost eingesetzt, müssen dort noch einige Zeilen ergänzt werden:
 +
 +  smtp_sasl_auth_enable = yes
 +  smtp_sasl_security_options = noplaintext noanonymous
 +  smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
 +
 +Falls das Versenden nur per Klartext-Übermittlung des Kennworts funktioniert, muss das Wort ''noplaintext'' aus der zweiten Zeile entfernt werden.
 +Die Datei ''sasl_password'' exisitiert noch nicht, sie muss angelegt werden. Man kann sie in einem normalen Editor erstellen und dann nach ''/etc/postfix/'' hochladen. In ihr müssen folgende Werte für das Authentifizieren am Smarthost vorkommen:
 +Name des Ziel-SMTP-Servers, der Benutzername, das Kennwort. Das sieht dann etwa so aus und muss mit diesem Syntax hinterlegt sein:
 +
 +  Smtp.bel.local mail.benutzer@belnet.de:Passwort
 +
 +Anschliessend muss Postfix neu gestartet und die Datenbank erzeugt oder erneuert werden. Sie nennt sich ''sasl_password.db'' und wird mit folgendem Befehl erzeugt:
 +
 +  service postfix restart
 +  postmap /etc/postfix/sasl_password
 +
 +Danach nicht vergessen, Postfix neu zu starten und das war es dann eigentlich schon.
 +
 +
 +
 +==== Dahdi installieren und konfigurieren ====
 +  modprobe dahdi_dummy
 +  dahdi_genconf
 +Jetzt kann ''/etc/dahdi/system.conf'' editiert werden und für loadzone und defaultzone der Wert "de" eingestellt werden.
 +  service dahdi restart
 +
 +==== Vorhandene pre-4.0 Datenbank updaten ====
 +Falls die Datenbank einer bereits vorhandenen Installation übernommen werden soll, müssen die folgende Datenbank-Updates ausgeführt werden. Bei einer Neuinstallation kann dieser Abschnitt übersprungen werden.
 +
 +  cat /usr/share/ucware/db/UPGRADE-DB-post-v3.sql | mysql -u root -p -f
 + 
 +Wenn KWS Provisioning verwendet wird, muss zusätzlich folgendes Datenbank-Update installiert werden
 +
 +  cat /usr/share/ucware/db/UPGRADE-DB-post-v3_1_0.sql | mysql -u root -p -f
 +
 +Seit **UCware 4.2** werden Datenbank-Updates mithilfe des Scripts ''/opt/ucware/sbin/update-db'' durchgeführt.
 +
 +==== Konfigurationsdateien editieren ====
 +
 +  nano /etc/ucware/ucware.php
 +
 +  INSTALLATION_TYPE
 +Hier kann zwischen "single" und "cluster" gewählt werden. Bei einer Installation mit einem
 +Server kann die Voreinstellung single beibehalten werden.
 +  DB_MASTER_HOST
 +Bei einem entfernten Datenbankserver muss hier die IP-Adresse des Servers eingetragen werden,
 +ansonsten 127.0.0.1.
 +  DB_MASTER_PWD
 +Hier muss das Kennwort des MySQL-Benutzers ucware eingetragen werden.
 +  DB_SLAVE_PWD
 +Hier muss ebenfalls das Kennwort des MySQL-Benutzers ucware eingetragen werden.
 +  PROV_HOST
 +Hier muss die IP-Adresse des Servers eingetragen werden.
 +
 +  $CANONIZE_INTL_PREFIX   = '000'; 
 +Die 3 0en sind wichtig, da das + durch diesen Wert ersetzt wird.
 +
 +  $NTP_SERVER
 +  $NTP_OFFSET
 +  $NTP_USE_DST
 +Für Telefone die ihre NTP Informationen nicht per DHCP beziehen können (Samsung, Polycom, Panasonic) müssen diese Werte ebenfalls gesetzt werden.
 +
 +  $VLAN_USE
 +  $VLAN_PHONE_ID
 +  $VLAN_PHONE_PRIORITY
 +  
 +  $VLAN_PC_ID
 +  $VLAN_PC_PRIORITY
 +Wenn VLans verwendet werden müssen die entsprechenden Parameter ebenfalls angepasst werden.
 +
 +  CALL_INIT_FROM_NET
 +Hier müssen alle lokal verwendeten Subnetze eingetragen werden.
 +  EMAIL_ADDRESS und EMAIL_NAME
 +Hier müssen die gewünschten Absenderdaten für die Voicemailbenachrichtigung eingetragen werden.
 +Falls der UCwared mit installiert wurde, sind noch folgende Variablen zu konfigurieren:
 +  BUTTONDAEMON_USE
 +Variable auf "true" setzen, wenn der UCwared verwandt wird
 +  BUTTONDAEMON_HOST
 +Hier muss die IP-Adresse des Servers eingetragen werden.
 +Falls der Server im Cluster mit anderen UCware Servern laufen soll, muss außerdem in /opt/ucware/etc/listen-to-ip
 +die IP-Adresse des lokalen UCware Servers eingetragen werden.
 +......
 +
 +==== Globale Variablen erzeugen ====
 +Wenn der Datenbankzugriff eingerichtet und in die Konfigurationsdatei ''ucware.php'' eingetragen ist, muss einmal das Skript
 +  /opt/ucware/sbin/gs-lua-globals-gen
 +ausgeführt werden. Danach mit
 +  chown asterisk.asterisk /opt/ucware/etc/asterisk/lua/e-globals.lua
 +die Datei ''/opt/ucware/etc/asterisk/lua/e-globals.lua'' für den Benutzer ''asterisk'' schreibbar machen.
 +
 +==== UCware Daemon installieren und konfigurieren ====
 +
 +[[archiv:4_x:ucware:ucwared:installation|Installationsanleitung UCware Daemon]]
 +
 +Jetzt muss der UCware Daemon [[archiv:4_x:ucware:ucwared:installation|installiert und konfiguriert]] werden. Der UCware Daemon wird für Display-Benachrichtigungen und für bestimmte Tastenprovisionierungen benötigt. 
 +
 +==== Webinterface testen ====
 +Nun können wir die Weboberfläche testen indem wir ''<nowiki>http://[IP-Adresse des Servers]/ucware</nowiki>'' im Web-Browser aufrufen.
 +Standardbenutzer ist ''supervisor'' mit Passwort ''123''.
 +
 +==== Manager-API konfigurieren ====
 +Unter Administration->Asterisk-Manager folgende Punkte aktivieren:
 +
 +  extstated.conf
 +  gscc.conf
 +  ucwared.conf
 +  uevg.conf
 +
 +Dann die Dateien unter ''/etc/ucware/asterisk/manager.conf.d-enabled'' jeweils prüfen ob in den Konfigurationsdateien für das jeweilige Netzwerk bzw. die IP eine passende ''permit= '' Zeile existiert! 
 +
 +==== Hosts konfigurieren ====
 +Bevor der UCware Server richtig funktionieren kann, müssen der Hostname und die IP-Adresse des
 +installierten Systems in der UCware Weboberfläche konfiguriert werden. Hierzu wählt man im Abschnitt System der Web-GUI den Punkt
 +Hosts und trägt dort den Hostnamen und die IP-Adresse des Servers im Eintrag mit der ID 1 ein.
 +
 +<WRAP important>
 +Die Konfiguration dieser IP-Adresse ist zwingend wichtig! Bitte berücksichtigen Sie diese Änderung ebenfalls bei nachträglich notwendigen IP-Adressänderungen des Servers.
 +</WRAP>
 +==== Dialplan generieren und laden ====
 +Zum Schluss kann der Dialplan neu geladen werden, indem man die Buttons "Dialplan neu laden" und "Asterisk neu laden" im
 +Hauptmenü Administration, Untermenüpunkt Reload verwendet oder auf der Konsole folgender Befehl ausgeführt.
 +  /opt/ucware/sbin/gs-ast-dialplan-reload --generate
 +
 +Um später aus der Weboberfläche den Dialplan neu laden zu können, muss für den user **root** mit ''ssh-keygen'' ein SSH-Key erzeugt werden und in die ''authorized_keys'' des users **root** eingetragen werden:
 +
 +  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
 +  
 +==== Gateways konfigurieren ====
 +
 +Unter //Routen// lassen sich Gateways anlegen und zu Gruppen hinzufügen. Innerhalb einer Gruppe lassen sich mit regulären Ausdrücken Teile ein- und ausgehender Rufnummern ersetzen.
 +
 +=== SIP-Gateways ===
 +
 +{{ucware:server:sip_gateway.png}}
 +
 +Die Zuordnung zu einer Gateway-Gruppe wird in den Einstellungen des zuzuordnenden Gateways vorgenommen, die entsprechende Einstellung heißt //Gruppe//.
 +
 +=== Gateway-Gruppen ===
 +
 +{{ucware:server:gateway_gruppen.png}}
 +
 +Die Suchen/Ersetzen-Muster folgen [[http://perldoc.perl.org/perlre.html|PCRE]]-Regeln. Die in diesem Zusammenhang wichtigste Funktion ist die Möglichkeit, Teile des gefundenen Musters in der ersetzten Zeichenkette wiederzuverwenden: Teile des Suchmusters, die sich in runden Klammern befinden, lassen in die //Ersetzen//-Zeichenkette als $1 für die erste Klammergruppe, $2 für die zweite Klammergruppe usw. einsetzen.
 +
 +In dem gezeigten Beispiel sind alle drei Suchen/Ersetzen-Muster gesetzt. Wird ein Muster nicht gesetzt, findet auch keine Ersetzung statt. Die drei Beispiele nutzen als Vorwahl //531//, als Kopfnummer //2144// und drei- bis vierstellige Durchwahlen.
 +
 +**Ausgehende Caller-ID**: Bei abgehenden Anrufen wird die vom Telefon signalisierte, drei- oder vierstellige (Quell-)Durchwahl durch <Vorwahl><Kopfnummer><Durchwahl> ersetzt.
 +
 +**Eingehende Durchwahl**: Diese Regel wird angewendet auf die Zielrufnummer bei eingehenden Anrufen. Im Beispiel wird vom Gateway die Rufnummer ohne Vorwahl (also <Kopfnummer><Durchwahl>) signalisiert. Die ist aber intern nicht erreichbar, die Telefone hören nur auf die Durchwahl. Deshalb wird die Rufnummer ersetzt durch die Durchwahl.
 +
 +**Eingehende Caller-ID**: Diese Regel wird angewendet auf die Quellrufnummer bei eingehenden Anrufen. In unserem Beispiel muss externen Nummern eine Null vorangestellt werden (Amtsholung). Damit externe eingehende Nummern direkt weiterverarbeitet werden können (z.B. verpasste Anrufe zurückrufen), werden diese Rufnummern ersetzt durch 0<Rufnummer>.
 +
 +==== Zusätzliche snom Provisionierungs-Optionen ====
 +Alternative Optionen die noch bei BEL NET genutzt werden sind:
 +
 +  transfer_on_hangup_non_pots on
 +  use_backlight always
 +  
 +<WRAP info>
 +Je nach Telefontyp wird die Einstellung ''use_backlight'' ignoriert. Stattdessen lässt sich das gewünschte Ziel mit Kombinationen der folgenden Einstellungen erreichen:
 +
 +| ''backlight''      | Helligkeit wenn aktiv (3 bis 15)          |
 +| ''backlight_idle'' | Helligkeit wenn untätig (0 bis 15)        |
 +| ''dim_timer''      | Timeout bis Display gedimmt wird (in Sek) |
 +</WRAP>
 +
 +Die erste Konfiguration verändert das HOLD-TRANSFER Verhalten zum gewohnten Standard (neue Firmware-Versionen von Snom reagieren "seltsam"), die zweite lässt das Display dauerhaft leuchten damit kein An-Aus blinken stattfindet.
 +
 +Dazu unter Provisionierung->Parameter ein neues Profil anlegen (falls noch nicht vorhanden).
 +Anschließend für die jeweiligen Telefon-Typen die o.g. Optionen als Parameter (bei Parameter und Wert) eintragen.
 +
 +Anschließend muss (auch da falls nicht vorhanden) unter Provisioning->Provisioning-Grp. eine neue Gruppe mit dem Provisionierungs-Parameter-Profil angelegt werden.
 +Dieses Profil kann bzw. muss dann bei allen betreffenden Benutzern über Administration->Benutzer->Provisionierungs-Gruppe ausgewählt werden. Nach einem Neustart der Telefone sind die Optionen aktiviert.
 +
 +==== Panasonic-DECT Provisionierung ====
 +
 +Für die Panasonic-DECT Provisionierung ist der ucware-tftpserver als Dienst notwendig und muss aus dem Repository installiert werden.
 +
 +  apt-get install ucware-tftpserver
 +
 +Dieser Dienst lässt sich per
 +
 +  service ucware-tftpserver start
 +  
 +starten (oder je nach Parameter auch stoppen).\\
 +  
 +Für die Aktivierung der Provisionierung ist es nötig in der Datei /etc/ucware/ucware.php den Parameter 
 +
 +  $PANASONIC_DECT_PROV_ENABLED          = true;
 +
 +zu erweitern. \\
 +
 +Um in der Weboberfläche unter "Provisionierung->Panasonic DECT" die Funktion "DECT Handgeräte Telefonbuch aktualisieren" nutzen zu können, legen Sie bitte einen User mit dem Benutzernamen "panasonic-dect-master" an.
 +Als Rufnummer bietet sich z.B. die "999998" an. 
 +\\
 +Dieser Benutzer ist für die Synchronisierung der Telefonbücher zwingend notwendig und wird in der Provisionierung automatisch an die DECT-Master-Station gebunden.
 +
 +Ist der Punkt "Panasonic DECT" nicht in der Navigationsleiste zu finden, muss er erst aktiviert werden. Dazu unter "Administration->GUI" die Gruppe "admin_gui" bearbeiten und in der Gruppe "Provisioning" den Punkt "Panasonic DECT" aktivieren.