Einleitung
Eines Tages genehmigte die GeschĂ€ftsleitung ein Experiment zur EinfĂŒhrung von IP-Telefonie in unserem Unternehmen. Da meine Erfahrung auf diesem Gebiet minimal war, weckte die Aufgabe mein groĂes Interesse und ich tauchte ein in das Studium verschiedener Aspekte des Themas. Nach dem Studium beschloss ich, mein erworbenes Wissen zu teilen â in der Hoffnung, dass es fĂŒr jemanden nĂŒtzlich sein wird. AlsoâŠ
Stammdaten
FĂŒr die IP-Telefonanlage wurde Asterisk ausgewĂ€hlt und implementiert. Der Telefonpark besteht aus GerĂ€ten von Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 und Dlink DPH-150S(E)/F3, Yealink T19 und T21. Diese Vielfalt ist darauf zurĂŒckzufĂŒhren, dass im Rahmen des Experiments beschlossen wurde, alles ein wenig auszuprobieren, um sich eine eigene Meinung ĂŒber das VerhĂ€ltnis von Preis/Leistung/Komfort zu bilden.
Aufgabe
Den Prozess der Einrichtung neuer GerĂ€te so einfach und einheitlich wie möglich zu gestalten. Alle Telefone mĂŒssen zeitlich synchronisiert sein und ein Telefonbuch haben, das von Server geladen wird und den Zugriff auf die Einstellungen fĂŒr den Administrator ermöglicht.
Die Lösung dieser Aufgabe ist einfach â die automatische Konfiguration der Telefone, bekannt als Provisioning, umzusetzen. TatsĂ€chlich wird es um meine Umsetzung dieser groĂartigen Funktion gehen.
Einrichtung von tftpd, dhcpd
FĂŒr die Bereitstellung der Einstellungen an die Telefone habe ich tftp als universelle Option gewĂ€hlt, die von allen Plattformen unterstĂŒtzt wird und einfach einzurichten und zu verwalten ist.
Eine spezifische Konfiguration fĂŒr tftp war nicht erforderlich. Ich habe den standardmĂ€Ăigen tftpd installiert und alle benötigten Dateien in seinem Stammverzeichnis abgelegt.
Die Konfigurationsdateien habe ich in Verzeichnissen entsprechend dem Hersteller des Telefons abgelegt. Allerdings wollte das GerÀt von Cisco nicht in seinen Ordner zugreifen, sodass ich es im Stammverzeichnis aufbewahren musste.
Um den Telefonen den Standort des tftp-Servers anzugeben, habe ich option-66 verwendet. Zudem habe ich sie in separate Klassen nach Hersteller unterteilt. Jede Klasse erhielt ein eigenes Segment von Adressen und einen individuellen Ordner fĂŒr die Konfigurationsdateien. Ăbrigens musste ich die GerĂ€te von D-Link anhand ihrer MAC-Adressen ermitteln, da sie keine Herstellerinformationen in der dhcp-Anfrage bereitstellen.
Ausschnitt aus dhcpd.conf
# ĐŁĐșазŃĐČĐ°Đ”ĐŒ ĐœĐ”ĐŸĐ±Ń
ĐŸĐŽĐžĐŒŃĐ” ĐŸĐżŃОО
option option-66 code 66 = text;
class "panasonic" {
match if substring (option vendor-class-identifier,0,9) = "Panasonic";
option option-66 "10.1.1.50/panasonic/";
}
class "cisco" {
match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906";
option option-66 "10.1.1.50/cisco/";
}
class "grandstream" {
match if substring (option vendor-class-identifier,0,11) = "Grandstream";
option option-66 "10.1.1.50/grandstream/";
}
class "dlink" {
match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") or
(binary-to-ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72");
option option-66 "10.1.1.50/dlink/";
}
class "yealink" {
match if substring (option vendor-class-identifier,0,7) = "Yealink";
option option-66 "10.1.1.50/yealink/";
}
Die Telefone mussten zwangsweise aus dem allgemeinen Pool ausgeschlossen werden. Ansonsten wollten sie nicht in ihren "Froschteich" zurĂŒckkehren.
Beispiel fĂŒr die Einstellungen des Subnetzes
Subnet 10.1.1.0 Netzmaske 255.255.255.0 {
Option Router 10.1.1.1;
Pool {
verweigern Mitglieder von "cisco";
verweigern Mitglieder von "panasonic";
verweigern Mitglieder von "dlink";
Bereich 10.1.1.230 10.1.1.240;
}
Pool {
erlauben Mitglieder von "cisco";
Bereich 10.1.1.65 10.1.1.69;
}
Pool {
erlauben Mitglieder von "panasonic";
Bereich 10.1.1.60 10.1.1.64;
}
Pool {
erlauben Mitglieder von "dlink";
Bereich 10.1.1.55 10.1.1.59;
}
}
Nach dem Neustart aller beteiligten Dienste haben die Telefone sicher die Einstellungen vom vorgesehenen TFTP-Server abgerufen. Es blieb nur noch, sie dort abzulegen.
Cisco 7906
Diese GerĂ€te habe ich in derOriginalverpackung erhalten. Ich musste sie umflashen, um sie mit Asterisk kompatibel zu machen. Aber das ist eine eigene Geschichte. In diesem speziellen Fall habe ich gemÀà der Anleitung im Wurzelverzeichnis des TFTP-Servers die Datei SEPAABBCCDDEEFF.cnf.xml erstellt. Wo AABBCCDDEEFF â die MAC-Adresse des GerĂ€ts ist.
Es wurde bereits mehrmals ĂŒber die Konfiguration von Cisco-Telefonen geschrieben, daher lasse ich einfach die funktionierende Datei mit den Einstellungen hier.
Einstellungen fĂŒr Cisco
true
SIP
root
ADMIN_PWD
D-M-Y
Zentralpazifische Zeit
10.1.1.4
Unicast
10.1.1.50
2000
5060
5061
10.1.1.50
Deaktivieren
120
true
x-cisco-serviceuri-cfwdall
x-cisco-serviceuri-pickup
x-cisco-serviceuri-opickup
x-cisco-serviceuri-gpickup
x-cisco-serviceuri-meetme
x-cisco-serviceuri-abbrdial
false
2
true
true
2
2
0
true
false
6
10
180
3600
5
120
120
5
500
4000
70
true
Keine
1
false
true
false
false
none
101
3
avt
3
false
false
Cisco Phone
2
false
15000
10
true
false
16384
32766
9
10.1.1.50
5060
2
3
false
3
4
5
true
true
false
true
Benutzer #103
103
103
SIP_PWD
$num
5060
184
0
dialplan.xml
*0#
true
2
false
false
1
0
1
0
0
0
1
0
1,7
09:00
12:00
01:00
1
2
10.1.1.50
0
100
50
0
0
5
1
10.1.1.50
0
0
0
0
0
0
1
1
1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37
Russisch_Russische_Föderation
ru_RU
utf-8
1
0
http://10.1.1.50/provisioning/cisco-services.xml
http://10.1.1.50/provisioning/cisco-services.xml
96
0
96
2
0
0
3804
<!-- 10.1.1.50 -->
false
1
D-Link DPH-150S/F3
Wenn Sie gerade erst ein Telefon dieser Serie erwerben möchten, achten Sie darauf, dass die automatische Konfiguration nur bei den GerĂ€ten 150S/F3 unterstĂŒtzt wird. Bei dem GerĂ€t 150S/F2, das mir in die HĂ€nde fiel, konnte ich diese FunktionalitĂ€t nicht feststellen.
Die Konfigurationsdatei kann sowohl im XML-Format als auch in einfachem Textformat vorliegen. FĂŒr XML gibt es eine Vorgabe: Das Tag muss am Zeilenanfang stehen, andernfalls ignoriert der Parser es, und der Wert des entsprechenden Parameters bleibt unverĂ€ndert.
FĂŒr die Einrichtung des Telefons werden zwei Dateien verwendet. f0D00580000.cfg â zur Speicherung der Einstellungen aller Telefone und 00112233aabb.cfg (MAC-Adresse in Kleinbuchstaben) fĂŒr individuelle Einstellungen. Individuelle Einstellungen haben natĂŒrlich einen höheren PrioritĂ€tsgrad.
Der vollstĂ€ndige Satz an Einstellungen umfasst ĂŒber tausend Zeilen. Um den Artikel nicht zu ĂŒberfrachten, beschreibe ich nur das minimal notwendige Set an Einstellungen.
Pflichtfelder sind der Wurzelknoten VOIP_CONFIG_FILE und der darin enthaltene Knoten version. Die Einstellungen werden nur angewendet, wenn die Version der Datei höher ist als die der aktuellen Einstellungen im GerĂ€t. Dieser Wert kann ĂŒber das Web-Interface des Telefons im Abschnitt Wartung (Systemverwaltung) abgerufen werden. FĂŒr Telefone mit Werkseinstellungen betrĂ€gt dieser in beiden FĂ€llen 2.0002. DarĂŒber hinaus muss die Version der individuellen Datei höher sein als die der allgemeinen Datei.
Zuerst fĂŒhre ich die Datei mit der allgemeinen Konfiguration fĂŒr alle Telefone an. Im Wesentlichen speichert sie alle Einstellungen, die individuelle Datei ist nur fĂŒr die Rufnummer und den Bildschirmtext verantwortlich.
In den beiden unten aufgefĂŒhrten Blocken werden die Parameter der Zeitzone und der Zeitsynchronisation, der Ausgangsport fĂŒr RTP sowie die NetzbrĂŒcke zwischen den WAN- und LAN-AnschlĂŒssen des GerĂ€ts festgelegt.
Fragmentâ1
DHCP 2 1 1 0 VOIP 10000 200 10.1.1.4 1 0 60 12 1500 1 1
Die Bezeichnungen der Konfigurationsparameter sind eigentlich ziemlich âaussagekrĂ€ftigâ, sodass sie nicht ausfĂŒhrlich beschrieben werden mĂŒssen.
SIP fĂŒr eine Leitung
5060 SIP1 10.1.1.50 5060 3600 1 10.1.1.50 1 0 G711A,G711U,G722
Einstellungen fĂŒr die Fernsteuerung
23 80 0 443 1 0 Item1 10.1.1.152 10.1.1.160 Account1 admin ADMIN_PWD 10 Account2 guest GUEST_PWD 5
Telefoneinstellungen
123 0 112 Firma 5 1 30 0 1 0,,1 0 0 1 XML-PBook1 Telefonbuch http://10.1.1.50/provisioning/dlink-phonebook.xml : 0 0 freund,heim,arbeit,geschÀft,kommilitone,kollege
Alle anderen Einstellungen bleiben âstandardmĂ€Ăigâ. Jetzt wird jedes Dlink-Telefon, das mit dem Netzwerk verbunden ist, sofort eine gemeinsame Set von Parametern ĂŒbernehmen. Um individuelle Einstellungen fĂŒr das GerĂ€t festzulegen, ist eine separate Datei erforderlich. In dieser mĂŒssen nur die erforderlichen Einstellungen fĂŒr den einzelnen Abonnenten angegeben werden.
Abonnenteneinstellungen
2.0006 SIP1 Benutzer #117 117 5060 117 SIP_PWD 3600 1 5060 117 SIP_PWD
Panasonic UT-KX123B
Diese GerĂ€te erhalten ihre Einstellungen nach einem etwas anderen Schema. Die Konfiguration wird in Textdateien gespeichert. Die maximale GröĂe der Konfigurationsdatei betrĂ€gt 120 KB. UnabhĂ€ngig von der Anzahl der Dateien sollte deren GesamtgröĂe 120 KB nicht ĂŒberschreiten.
Die Konfigurationsdatei besteht aus einer Reihe von Zeilen, auf die die nachstehenden Bedingungen angewendet werden:
- Immer an erster Stelle steht eine Kommentarzeile, die die folgende Zeichensequenz (44 Byte) enthÀlt:
# Panasonic SIP Phone Standard Format File #
Die hexadezimale Darstellung dieser Sequenz ist:
23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6E 65 20 53 74 61 6E 64 61 72 64 20 46 6F 72 6D 61 74 20 46 69 6C 65 20 23
Um eine unabsichtliche Ănderung der festgelegten Zeichensequenz zu verhindern, wird empfohlen, die Konfigurationsdatei mit der Zeile zu beginnen:
# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE! - Die Konfigurationsdateien mĂŒssen mit einer leeren Zeile enden.
- Jede Zeile muss mit der Sequenz "" enden.
- Die maximale ZeilenlĂ€nge betrĂ€gt 537 Byte, einschlieĂlich der Sequenz "".
- Die folgenden Zeilen werden ignoriert:
- Zeilen, die das Limit von 537 Byte ĂŒberschreiten;
- leere Zeilen;
- Kommentarzeilen, die mit dem Zeichen "#" beginnen;
- Die Zeile jedes Parameters wird in der Form XXX=«yyy» (XXX: Name des Parameters, yyy: sein Wert) geschrieben. Der Wert muss in AnfĂŒhrungszeichen eingeschlossen sein.
- Das Aufteilen der Parameterzeile in mehrere Zeilen ist nicht zulĂ€ssig. Dies fĂŒhrt zu einem Verarbeitungsfehler der Konfigurationsdatei und in der Folge zu einem Fehler bei der Initialisierung.
- Einige Parameterwerte mĂŒssen separat fĂŒr jede Leitung angegeben werden. Ein Parameter mit dem Suffix "_1" im Namen ist fĂŒr Leitung 1; "_2" fĂŒr Leitung 2 usw.
- Die maximale LÀnge des Parameternamens betrÀgt 32 Zeichen.
- Die maximale LĂ€nge des Parameterwerts betrĂ€gt 500 Zeichen, mit Ausnahme der AnfĂŒhrungszeichen.
- Leerzeichen in der Zeile sind nicht zulÀssig, es sei denn, der Wert enthÀlt ein Leerzeichen.
- Einige Parameterwerte können 'leer' angegeben werden, um einen leeren Parameterwert festzulegen.
- Die Parameter werden ohne feste Reihenfolge angegeben.
- Wenn derselbe Parameter in der Konfigurationsdatei mehrmals aufgefĂŒhrt ist, wird der zuerst angegebene Wert verwendet.
Eine so strenge Reihe von Anforderungen an die Konfigurationsdatei hat mich ehrlich gesagt enttĂ€uscht. Meiner Meinung nach ist die Implementierung der Interaktion mit Server der Verwaltung bei Panasonic-Telefonen Ă€uĂerst unpraktisch. In diesem Punkt ist das Telefon den anderen deutlich unterlegen.
Bei der ersten Einschaltung des GerĂ€ts (oder nach einem ZurĂŒcksetzen auf die Werkseinstellungen) versucht es, die sogenannte Produktdatei (in diesem Fall KX-UT123RU.cfg) zu laden, die die Pfade zu den anderen Konfigurationsdateien enthalten sollte.
Produktdatei# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!
CFG_STANDARD_FILE_PATH="tftp://10.1.1.50/panasonic/{mac}.cfg"
CFG_PRODUCT_FILE_PATH="tftp://10.1.1.50/panasonic/KX-UT123RU.cfg"
CFG_MASTER_FILE_PATH="tftp://10.1.1.50/panasonic/master.cfg"
Danach zeigt das Telefon eine Nachricht ĂŒber den erfolgreichen Abschluss der Vorbereitung an und wartet darauf, dass es neu gestartet wird. Nach dem Neustart beginnt es mit der Bearbeitung der vorgesehenen Konfigurationsdateien.
In der Datei master.cfg wird empfohlen, allgemeine Einstellungen fĂŒr alle Telefone anzugeben. Wie im Fall von Dlink werde ich nur einige Parameter angeben. Die Namen der anderen Parameter und deren Werte finden Sie in der Dokumentation auf der Website des Herstellers.
master.cfg############################################################
# System Settings #
############################################################
## Login Account Settings
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="user"
USER_PASS="USER_PWD"
## System Time Settings
NTP_ADDR="10.1.1.4"
TIME_ZONE="660"
DST_ENABLE="N"
DST_OFFSET="60"
DST_START_MONTH="3"
DST_START_ORDINAL_DAY="2"
DST_START_DAY_OF_WEEK="0"
DST_START_TIME="120"
DST_STOP_MONTH="10"
DST_STOP_ORDINAL_DAY="2"
DST_STOP_DAY_OF_WEEK="0"
DST_STOP_TIME="120"
LOCAL_TIME_ZONE_POSIX=""
## Syslog Settings
SYSLOG_ADDR="10.1.1.50"
SYSLOG_PORT="514"
SYSLOG_EVENT_SIP="6"
SYSLOG_EVENT_CFG="6"
SYSLOG_EVENT_VOIP="6"
SYSLOG_EVENT_TEL="6"
## Provisioning Settings
OPTION66_ENABLE="Y"
OPTION66_REBOOT="N"
PROVISION_ENABLE="Y"
CFG_STANDARD_FILE_PATH="tftp://10.1.1.50/panasonic/{mac}.cfg"
CFG_PRODUCT_FILE_PATH="tftp://10.1.1.50/panasonic/KX-UT123RU.cfg"
CFG_MASTER_FILE_PATH="tftp://10.1.1.50/panasonic/master.cfg"
############################################################
# Network Settings #
############################################################
## IP Settings
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""
## DNS Settings
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""
## HTTP Settings
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""
## XML Application Settings
XML_HTTPD_PORT="6666"
XMLAPP_ENABLE="Y"
XMLAPP_USERID=""
XMLAPP_USERPASS=""
XMLAPP_START_URL=""
XMLAPP_INITIAL_URL=" "
XMLAPP_INCOMING_URL=""
XMLAPP_TALKING_URL=""
XMLAPP_MAKECALL_URL=""
XMLAPP_CALLLOG_URL=""
XMLAPP_IDLING_URL=""
XMLAPP_LDAP_URL="»
XMLAPP_LDAP_USERID=""
XMLAPP_LDAP_USERPASS=""
In der individuellen Konfigurationsdatei des GerÀts bleiben traditionell nur die Benutzereinstellungen.
aabbccddeeff.cfgDISPLAY_NAME_1=âBenutzer #168â
PHONE_NUMBER_1=â168â
SIP_URI_1=â168â
LINE_ENABLE_1=âAktiviertâ
PROFILE_ENABLE_1=âAktiviertâ
SIP_AUTHID_1=â168â
SIP_PASS_1=âSIP_PWDâ
Grandstream GXP-1400
Die Parameter dieser Telefone werden in einer XML-Datei mit dem Namen cfg{mac}.xml gespeichert oder in einer normalen Textdatei mit dem Namen cfg{mac}. Dieses Telefon fordert nur die individuelle Konfigurationsdatei an, daher ist es nicht möglich, die Einstellungen zu optimieren, indem man sie in eine gemeinsame Datei auslagert. Eine weitere Besonderheit bei der Konfiguration von Grandstream-GerÀten ist die Benennung der Parameter. Alle sind nummeriert und werden als P### bezeichnet. Beispiel:
P1650 â verantwortlich fĂŒr das Web-Interface zur Verwaltung des Telefons (0 â HTTPS, 1 â HTTP)
P47 â Adresse des SIP-Servers fĂŒr die Verbindung.
Wenn die Konfiguration in einer Textdatei gespeichert ist, erfordert sie keine Gruppierung und kann in beliebiger Reihenfolge kommen. Zeilen, die mit # beginnen, werden als Kommentare betrachtet.
Falls die Einstellungen im XML-Format vorliegen, mĂŒssen sie in den Knoten eingebettet sein, der wiederum in eingebettet sein muss. Alle Parameter werden in Form entsprechender Tags mit dem Parameterwert innerhalb geschrieben.
Beispielkonfiguration
1
109
109
109
SIP_PWD
Benutzer# 109
10.1.1.50
2
10.1.1.50
0
ADMIN_PWD
USER_PWD
ru
0
10.1.1.50/grandstream
1
TZc-11
10.1.1.4
1
http://10.1.1.50/provisioning/grandstream
30
Yealink T19 und T21
Die GerĂ€te dieser Modelle unterstĂŒtzen individuelle Konfigurationsdateien fĂŒr GerĂ€te sowie allgemeine fĂŒr Modelle. In meinem Fall musste ich die allgemeinen Parameter in den Dateien y000000000031.cfg und y000000000034.cfg unterbringen. Individuelle Konfigurationsdateien sind nach der MAC-Adresse benannt: 00112233aabb.cfg.
Die Einstellungen fĂŒr Yealink-GerĂ€te werden im Textformat gespeichert. Das einzige zwingende Erfordernis ist, dass die erste Zeile die Version der Datei im Format #!version:1.0.0.1 enthĂ€lt.
Alle Parameter werden im Format Parameter = Wert geschrieben. Kommentare mĂŒssen mit dem Zeichen "#" beginnen. Die Namen der Parameter und deren Werte sind in der Dokumentation auf der Website des Herstellers zu finden.
allgemeine Einstellungen#!version:1.0.0.1
#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address;
network.internet_port.type = 0
#Configure the PC port type; 0-Router, 1-Bridge (default);
network.bridge_mode = 1
#Configure the access type of the web server; 0-Disabled, 1-HTTP & HTTPS(default), 2-HTTP Only, 3-HTTPS Only;
network.web_server_type = 3
#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800.
network.port.max_rtpport = 10100
#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = user
security.user_password = user:USER_PWD
#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech.
lang.wui = Russisch
#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese.
lang.gui = Russisch
#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8.
#The default time zone name is China(Beijing).
#Refer to Yealink IP Phones User Guide for more available time zones and time zone names.
local_time.time_zone = +11
local_time.time_zone_name = Wladiwostok
#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Configure the logo mode of the LCD screen; 0-Disabled (default), 1-System logo, 2-Custom logo;
phone_setting.lcd_logo.mode = 1
#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5.
remote_phonebook.data.1.url =
remote_phonebook.data.1.name = Telefonbuch
features.remote_phonebook.flash_time = 3600
Individuelle Einstellungen#!version:1.0.0.1
#Enable or disable the account1, 0-Disabled (default), 1-Enabled;
account.1.enable = 1
#Configure the label displayed on the LCD screen for account1.
account.1.label = Testtelefon
#Configure the display name of account1.
account.1.display_name = Benutzer 998
#Configure the username and password for register authentication.
account.1.auth_name = 998
account.1.password = 998
#Configure the register user name.
account.1.user_name = 998
#Configure the SIP server address.
account.1.sip_server_host = 10.1.1.50
#Specify the port for the SIP server. The default value is 5060.
account.1.sip_server_port = 5060
Dank der hervorragenden Auto-Provision-Funktion, die in den genannten Telefonen vorgesehen ist, gab es bei der Verbindung neuer GerÀte mit dem Netzwerk keinerlei Probleme. Es ging lediglich darum, die MAC-Adresse des Telefons zu ermitteln und die Konfigurationsdatei anhand der Vorlage zu generieren.
Ich hoffe, dass Sie bis zum Ende durchgelesen haben und Nutzen aus dem Gelesenen ziehen konnten.
Danke fĂŒr Ihre Aufmerksamkeit.
Quelle: habr.com
