comtel
Goto Top

PfSense DHCP Option für Unify IP-Telefone

Hallo,
ich möchte gerne über die DHCP Optionen in der pfSense eine Option an Unify IP-Telefone übergeben.
Sehr schön erklärt für Windows Server auf der Unify Wiki Seite. Nur leider funktionieren diese Einträge in der pfSense nicht.
Unify-Wiki-DLS-DHCP

Erklärung: Die Option soll den Management DLS-Server dem Telefon übergeben. Hier beziehen sich die IP-Telefone dann Automatisch alle benötigten Daten.

pfSense:
Services -> DHCP Server -> VoIP-LAN
Other Options
Additional BOOTP/DHCP Options
Hier habe ich folgendes Eingetragen:

unify-dhcp

So funktioniert es aber nicht (Ich habe auch schon den Code: 3 sowie 03 ausprobiert!)

Hat hier jemand einen Tipp für mich?

Content-ID: 357579

Url: https://administrator.de/forum/pfsense-dhcp-option-fuer-unify-ip-telefone-357579.html

Ausgedruckt am: 26.12.2024 um 11:12 Uhr

aqui
Lösung aqui 09.12.2017 aktualisiert um 10:06:48 Uhr
Goto Top
Sehr wichtig zu wissen ist welche DHCP Option Nummer die Unify Telefone verlangen zur Übergabe der DLS Server IP oder FQDN Namen. Ohne diese Options Nummer probierst du dir einen Wolf denn es gibt schon einige:
http://www.networksorcery.com/enp/protocol/bootp/options.htm

Das kann man entweder im Handbuch nachlesen oder indem du ganz einfach mal einen DHCP Requests eines solchen Telefons mit dem Wireshark mitsnifferst. Dort im Paket steht ganz genau welche Options Nummer dafür verwendet wird !
Ein Cisco Telefon (und diverse andere) macht das z.B. über die Option 66 und 150
Zusätzlich noch Option 42 für den NTP Server.

Du verwendest oben die Option 3 die für die Router IP verwendet wird. Das kann so eigentlich nie klappen wenn sich Unify hier nur annähernd Standard konform verhält.
Laut hier sind es auch in der Option 3 und auch 4 ein paar Einträge mehr:
http://wiki.unify.com/wiki/Configuring_the_DHCP_Server_for_DLS
Mit dem Wireshark oder Handbuch gehst du auf Nummer sicher.

Früher hat wohl mal Option 43 funktioniert. Siehe hier:
http://telofax.de/cgi-bin/yabb2/YaBB.pl?num=1339702358
Sucht man nach "dhcp option unify dls" findet man diverses dazu wie
http://wiki.unify.com/wiki/VLAN_ID_Discovery_over_DHCP
Arbeitest du in deinem Voice Umfeld mit einem Voice VLAN ?
comtel
comtel 09.12.2017 um 11:35:29 Uhr
Goto Top
aqui, dein Beitrag hat mir natürlich den Denkanstoß gegeben!
Ich habe die DHCP Optionen vor lauter testen natürlich durcheinander geworfen!
Natürlich ist es die DHCP Option 43!

Bei der pfSense muss man die DHCP Option 43 allerdings vorher zusammensetzen, damit das Unify Telefon auch die erwartete Option erhält!
Diese habe ich in HEX umgerechnet und dann in der pfSense eingetragen

Durch den DHCP tag 43 auf der Unify Seite: http://wiki.unify.com/wiki/VLAN_ID_Discovery_over_DHCP
Habe ich mir dann meinen passenden Eintrag erstellt.


Hex Tool: http://www.asciitohex.com

In die DHCP-Option habe ich nun den HEX Wert kopiert.
01:07:53:69:65:6D:65:6E:73:02:04:00:00:00:00:03:18:73:64:6C:70:3A:2F:2F:31:30:2E:32:30:32:2E:30:2E:31:3A:31:38:34:34:33:00:FF

Bedeutet:
Siemens
Tag 03 specifies IP address of DLS-Server (10.202.0.1:18443)
End of record (FF)

Jetzt funktioniert es wie gewünscht!
aqui
aqui 09.12.2017 aktualisiert um 14:21:02 Uhr
Goto Top
Klasse, hört sich gut an und danke fürs Feedback der Lösung face-wink

P.S.: Geht auch direkt online face-wink
https://www.rapidtables.com/convert/number/ascii-to-hex.html
https://www.rapidtables.com/convert/number/hex-to-ascii.html
flyingmichael
flyingmichael 24.10.2018 um 15:01:26 Uhr
Goto Top
Hallo,

bei dem Thema würde ich mich gerne nochmal einmischen :D

Wir bekommen auch bald eine neue VoIP Anlage und haben Unify Telefone. Telekom und Swyx haben 0 Ahnung ...

https://wiki.unify.com/wiki/VLAN_ID_Discovery_over_DHCP

Unter "Example configuration for Option 43" habe ich mich genau an die Anleitung gehalten.
Habe nur unsere VLAN ID für VOIP und den DLS Server getauscht.

Bei mir ist dann folgendes rausgekommen: 01:07:53:69:65:6D:65:6E:73:02:04:00:31:36:30(160):03:1A:73:64:6C:70:3A:2F:2F:31:37:32:2E:32:30:2E:36:35:2E:38:30:3A:31:38:34:34:33:FF

lt. dem Converter kommt dann folgendes raus:
Siemens160sdlp://172.20.65.80:18443ÿ (IP Adressen mache ich mal kein Geheimnis draus.)

Das Port ist Konfiguriert mit dem Data VLAN Untagged und dem VOIP Tagged. Soweit ich das lese zieht er sich also erst eine aus dem Data VLAN und konfiguriert sich dann für VOIP auf das VLAN 160 um.

Leider funktioniert das bei uns nicht.
Auch wenn ich wie in dem Link beschrieben nur Siemens und VLAN ID (01:07:53:69:65:6D:65:6E:73:02:04:00:31:36:30) angebe bekommt das Telefon eine IP aus dem Data Netz.

Wir nutzen einen DHCP auf Windows Server 2016.

Habt Ihr noch einen Tipp für mich?

VG

Michael
aqui
aqui 26.10.2018 aktualisiert um 13:18:09 Uhr
Goto Top
Das Port ist Konfiguriert mit dem Data VLAN Untagged und dem VOIP Tagged
Ist der Port nicht ein Mann ? https://www.duden.de/rechtschreibung/Port_Hafen_Heimstatt
zieht er sich also erst eine aus dem Data VLAN und konfiguriert sich dann für VOIP auf das VLAN 160 um
Ja, das ist richtig, denn beim Booten ist das Telefon ja nackig und weiss nix über VLANs.
Leider funktioniert das bei uns nicht.
Dann musst du mal ins Eingemachte gehen und sehen wer hier der böse Buhmann ist.
Setze auf dem Switch mal einen Mirrorport auf den Telefonport und schliesse an den Mirror Port einen Wireshark an.
Alternativ schleifst du den Wireshark ins Telefon Anschlusskabel.
Dann snifferst du mal den DHCP Prozess beim Booten mit und siehst dir den Request mal genau an:
  • Ist hier die Option 43 gesetzt
  • Wenn ja welcher Wert.
Hilfreich dazu ein Online Hex To ASCII Konverter:
https://www.rapidtables.com/convert/number/ascii-to-hex.html
wie er hier beschrieben ist:
http://blog.schertz.name/2012/05/understanding-dhcp-option-43/
Hier ist die gesamte Prozedur nochmal erklärt wie es abläuft bei der DHCP Vergabe und wie der String genau aussehen muss:
https://wiki.unify.com/wiki/VLAN_ID_Discovery_over_DHCP

So wie es aber aussieht ist dein String FALSCH !
Nach diesem Muster soll er ja generiert werden:
Tag Len Content (Example)
01  07  5369656d656e73
02  04  00000065
03  1a  73646c703a2f2f39332E3132322E3131342E39363a3138343433
ff 
Sieht man sich das Beispiel auf einem Cisco DHCP Server mal an:
Tag: 01; Länge: 07; Wert: Siemens
Tag: 02; Länge: 04; Wert: 65 (Hex=VLAN ID 101) (bei dir A0)
Tag: 03; Länge: 1a; Wert: sdlp:93.122.114.96:18443 (Hex)
Ende: ff (Hex)
Cisco Konfig:
option 43 hex 0107.5369.656d.656e.7302.0400.0000.6503.1a73.646c.703a.2f2f.3933.2e31.3232.2e31.3134.2e39.363a.3138.3434.33ff
Und vergleicht das mit deinem String fällt auf das dein Wert für das VLAN vollkommen falsch ist !!
Die VLAN ID für 160 wäre hex A0 !

Folglich müsste dann das dabei rauskommen für deinen Option 43 String mit VLAN ID 160:
0107.5369.656d.656e.7302.0400.0000.A0.03:1A:73:64:6C:70:3A:2F:2F:31:37:32:2E:32:30:2E:36:35:2E:38:30:3A:31:38:34:34:33:FF
Wie du da auf sowas Gruseliges wie
"00:31:36:30"// kommst ist vollkommen unverständlich ??
Denn das gäbe eine Zahl weit über 4095 dem Maximalwert einer VLAN ID die dann syntaktisch vollkommen falsch ist und der Switch dann vermutlich ignoriert !!
Dieser Fehler hätte dir aber auch sofort selber beim Vergleichen deines Strings mit dem Beispielstring auffallen müssen !!
flyingmichael
flyingmichael 26.10.2018 um 13:31:42 Uhr
Goto Top
Der Port werde ich mir merken danke :-P

Ich hatte noch die Befürchtung dass das Telefon dann kurzzeitig ein Lease aus dem Data Netz zieht, dem ist aber nicht so. Top.

Und mit dem String hast du vollkommen Recht.. Mit etwas mehr Mühe hätte ich das selber finden müssen. Ich kam auf "00:31:36:30" nachdem ich auf dem ASCII to Hex Converter einfach 160 als ASCII eingegeben habe (Respekt...)

Ich hatte mich beim Vergleich auch start gewundert.

Aber mit dem Hinweis von dir funktioniert es jetzt Problemlos. Tausend Dank!
aqui
aqui 26.10.2018 um 13:50:41 Uhr
Goto Top
Immer gerne wieder face-smile

P.S.: Du (oder der Konverter) hast fälschlicherweise den Zeichencode von 1, 6 und 0 umgerechnet aber nicht "160" als Ziffer face-wink
https://www.torsten-horn.de/techdocs/ascii.htm
http://www.peterzintl.de/hextab.htm