Categories
Lync Server Windows

Lync/Skype4B: Nummern filtern in der Dialin-Page

Angenommen Sie haben in Ihrer Lync-/Skype for Business-Umgebung mehrere Dialin-Nummern, die aber zum Teil nicht von jedem gesehen werden sollen. Nun ist es aber so, dass auf der Dialin-Seite standardmäßig alle Einwahlnummern angezeigt werden. Um das zu unterbinden, kann man die Nummern in der PhoneList-Datei filtern. Diese finden wir wie folgt:

  • Melden Sie sich am Server an und öffnen Sie den IIS Manager
  • Navigieren Sie in der linken Baumstruktur auf folgenden Pfad:
    <Servername> → Sites → <Lync-/Skype-Version> External Web Site → dialin
  • Nun können Sie rechts in den Actions Explore auswählen, um im entsprechenden Dateiverzeichnis zu landen
  • Dort können Sie die Datei PhoneList.xslt finden. Diese können Sie erstmal nehmen und an den selben Ort nochmal kopieren mit dem Präfix “OLD_”. Somit haben Sie die originale Datei auf jeden Fall gesichert.
  • Nun öffnen Sie die PhoneList.xslt-Datei mit Hilfe des Notepads. (Zum anschließenden Speichern in den Pfad muss Notepad eventuell als Admin gestartet werden!)

Nun sollte sich in etwa ein solcher Eintrag öffnen:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
 <xsl:output method="xml" indent="yes"/>
 <xsl:template match="/PhoneList">
  <xsl:for-each select="Region/PhoneNumber">
   <tr>
    <td class="region">
     <xsl:value-of select="@Name"/>
    </td>
    <td class="number">
     <xsl:value-of select="@Value"/>
    </td>
    <td class="language">
     <span class="defaultLanguage">
      <xsl:value-of select="@Primary"/>
     </span>
     <xsl:value-of select="@Secondary"/>
    </td>
   </tr>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

Interessant für uns ist eigentlich nur eine Zeile, an welche wir den Filter anbringen werden:

<xsl:for-each select="Region/PhoneNumber">

Mit Filter sieht das Ganze dann folgendermaßen aus:

<xsl:for-each select="Region/PhoneNumber[<Variable>='<Wert>']">

Als Variable sind folgende Elemente verwendbar:

  • @Name – Das ist der Name der Dialin-Nummer, der in der Tabelle auf der Seite unter der Spaltenüberschrift “Region” zu finden ist.
  • @Value – Das ist die tatsächliche Telefonnummer, auch in der Tabelle unter “Nummer” zu finden.
  • @Primary – Die primäre Region, in der Tabelle dick abgebildet unter “Verfügbare Sprachen”
  • @Secondary – Die sekundären Regionen, in der Tabelle rechts von der primären Sprache unter “Verfügbare Sprachen” zu finden.

Der einzutragende Wert ist dann eben das, was man sehen möchte. Statt dem ‘=’ können auch noch die Operatoren ‘!=’ (ist nicht gleich), ‘&lt’ (kleiner als) und ‘&gt’ (größer als) verwendet werden.

Ein fertiger Filter kann dann zum Beispiel so aussehen:

<xsl:for-each select="Region/PhoneNumber[@Name!='Geheime Einwahl']">

Nach dem Speichern ist der Filter sofort aktiv und bereits beim nächsten Aktualisieren der Seite ist die Änderung zu sehen.

Leave a Reply

Your email address will not be published. Required fields are marked *