Tags:
create new tag
, view all tags

Unified Messaging Service (UM)

Beteiligte Personen

  • Carmen Alonso
  • Mathias Füglistaler
  • Swen Vermeul
  • Adrian Lauener
  • Michel Grosjean

Ausgangslage (Info von Carmen)

UM is an Exchange feature that provides a telephone answering machine and voice access to the exchange mailbox. In our Nethz Tool it would be a Service, similar to Lync. Properties to consider are only three: mailbox, telephone number and PBX/VoIP connection. For this service there will be three main cases to consider for you:

  1. New UM Service (user/ISG request initiated):
    • Requirements: User has a mailbox and a valid telephone number
    • Process: Request
      • check requirements
      • check telephone PBX/VoIP/LyncTelephone (ICT web service/profile_name)
      • write start info in AD object
      • enable UM in mailbox
  2. Change UM Service (ICT initiated)
    • Requirements: UM enabled mailbox exists
    • Cases:
      • Change in telephone system (ICT web service/profile_name)
      • Change telephone number (ICT web service/rufnummer)
    • Process: Pushed Change Info (ICT, 1xday)
      • write changed info in nethz
      • change UM mailbox
  3. Remove UM Service (only if mailbox remains)
    • Requirements: UM enabled mailbox exists, Mailbox remains
    • Process
      • write remove info in AD object
      • disable UM in mailbox

You will find on the attached files who is for every step responsible. The tasks where ICT delivers the required information have to be discussed directly with them. They would initially prefer that the information regarding the PBX would be read from their DBs via web. For the changes they would deliver them every day to you and a batch service would perform the changes in our side once a day too.

Voraussetzungen und Randbedingungen für Unified Messaging

  • Person hat eine aktive ETH-Beziehung (kann ein ETH-Gast sein, muss eine PERSID haben)
    • nethz Gäste haben keine PERSID und reichen nicht aus
  • Rufnummer wurde von den Telefondiensten dieser Person zugewiesen
  • Person ist in nethz vorhanden und hat eine Adressbesitzer-ID (ABID)
  • AD Account mit Mailbox ist vorhanden
  • nethz Phone-Service wurde erteilt
    • dieser Service wird in der Regel automatisch erteilt
    • der cronjob update_rufnummer.pl ist zuständig für die Erteilung und Entziehung
    • eine Person mit Telefonnummer sollte immer einen Phone-Service aufweisen
    • der Phone-Service repräsentiert das Vorhandensein einer (oder mehrerer) Telefonnummer(n)
    • auf der Seite «meine Services» wird dieser Service aufgeführt und ermöglicht dem User, den UM-Dienst zu aktivieren
    • wenn eine Person die ETH verlässt, sollte das Löschen dieses Services zur Folge haben, dass die Telefondienste benachrichtigt werden
    • dieser Service sollte bei vorhandener Rufnummer beim primären User nicht manuell gelöscht werden können
  • Nummer sollte im AD-Attribut phoneNumber gespeichert sein und im Format E164 vorliegen
  • aktuell sind 2 Telefonanlagen sowie der Lync Telefondienst in Betrieb
    1. alte Telefonanlage (PBX-A4000)
      • tech_typ_name=tdm
      • keine Telefonbeantworter-Regeln möglich
      • eingeschränkter UM-Service
      • Informationsmail für User, welche an der alten Anlage sind, dass nicht alle UM-Funktionalitäten nutzbar sind
    2. neue Telefonanlage: OpenScape VOIP
      • tech_typ=voip/sip
      • UM ohne Einschränkungen
      • Infomail für User
    3. Lync Telefondienst
      • tech_typ=lync
      • Einige Postfächer habe ein Lync-Telefon in Rahmen des Lync Pilot Projekts (ca. 50)
  • die Zuweisung einer Rufnummer zu einer Mailbox wird in der Tabelle UNAME_RUFNUMMER registriert
  • eine Rufnummer kann jeweils nur genau einer Mailbox zugeteilt werden
  • bei mehreren Rufnummern für eine Person benötigt man entweder:
    • mehrere Mailboxen (und damit auch mehrere Usernamen)
    • eine Mailbox mit mehreren Einträgen im Attribut otherTelephone
  • bei mehreren Personen für eine Rufnummer (gemeinsamer Anschluss) wird eine «shared mailbox» eingerichtet
    • diese shared mailbox wird mit Vorteil einem technischen User zugewiesen
    • siehe auch Fall 2 (unten)
  • funktionelle Anschlüsse (Rufnummer für eine Organisationseinheit) können zunächst noch nicht abgehandelt werden

Variante 1: persönlicher Telefonanschluss (1 Nummer, 1 User)

  • kann von der Person selbständig mit UM versehen werden
  • wird der Mailbox des primären Users dieser Person zugeteilt

Geschäftsvorgang 1.1: UM einrichten

  • Information über Art der Telefonanlage wird aus ICT Networks ausgelesen
  • Anschliessend wird im nethz-Service «Phone» der Dienst «Unified Messaging» aktiviert.
    • AD-Attribut unifiedMessagingTask wird auf den Wert create service basic | enhanced gesetzt (je nach vorhandener Telefonanlage)
    • Info-Mail wird an User verschickt (Exchange, automatisch)
    • PIN für Anrufbeantworter kann via mail.ethz.ch eingestellt werden
  • periodisch laufendes Powershell-Skript (von Mathias programmiert)
    • wertet Attribut aus und richtet den Service ein
    • setzt die Exchange-Properties je nach Telefonanlage ( basic | enhanced)
    • setzt das Attribut unifiedMessagingTask auf den Wert service basic | enhanced created on MM.DD.YYYY
  • Fehler werden in demselben Attribut zurückgegeben (siehe unten)

Geschäftsvorgang 1.2: Telefon-Anlage wird erneuert

  • Nach und nach werden die Telefone auf die neue Anlage verschoben
  • Benutzer zügeln das Arbeitsplatz auf einen anderen Lokation mit einen anderen Telefonanlage
  • Mutationen werden regelmässig von ICT Networks gemeldet (welche Telefonnummern haben die Anlage gewechselt)
  • Mutationstabelle wird regelmässig von einem cronjob auf Seite nethz abgearbeitet
    • MOVED TO... Infomail an User, dass nun erweiterte Funktionalitäten möglich sind oder umgekehrt (User zügelt in ein Gebaude mit alter Telefonanlage)
    • Attribut unifiedMessagingTask wird auf den Wert update service basic | enhanced gesetzt
  • periodisch laufendes Powershell-Skript (von Mathias programmiert)
    • wertet das Attribut aus und passt den Service an
    • setzt die Exchange-Properties je nach Telefonanlage ( basic | enhanced)
    • setzt das Attribut unifiedMessagingTask auf den Wert service basic | enhanced updated on MM.DD.YYYY

Geschäftsvorgang 1.3: Telefonnummer ändert

  • seltener Geschäftsvorgang
  • Eine Reihe von Attributen ändert: MOVED TO... proxyAddresses, UMDtmfMap, Extensions, telephoneNumber
  • der nethz-Service wird komplett gelöscht und neu erteilt
  • beim neu Erteilen muss abgewartet werden, bis die UM-Service - Löschung (siehe Geschäftsvorgang 1.4) komplett erledigt ist
  • erneutes Einrichten dann wie Geschäftsvorgang 1

Geschäftsvorgang 1.4: Telefonnummer wird gelöscht

  • z.B. wenn ein Mitarbeiter zum normalen Student wird
  • Mutationstabelle RUFNUMMER_UP_NETHZ wird regelmässig von einem cronjob auf Seite nethz abgearbeitet
    • MOVED TO... Infomail an User, dass demnächst der Dienst abgestellt wird und allfällge Sprachnachrichten noch heruntergeladen werden sollten (und allfällge Sprachnachrichten noch heruntergeladen werden sollten- nicht nötig, Sprachnachrichten sind bereits im Postfach geliefert worden)
  • Attribut unifiedMessagingTask wird auf den Wert delete service gesetzt
  • periodisch laufendes Powershell-Skript (von Mathias programmiert)
    • wertet das Attribut aus und löscht den Service
    • entfernt die entsprechenden Exchange-Properties
    • entfernt das Attribut unifiedMessagingTask

Variante 2: gemeinsamer Anschluss (1 Nummer, mehrere Personen)

  • zur Zeit gibt es 722 Rufnummern, welche von insgesamt über 1900 Personen gemeinsam genutzt werden
  • für Unified Messaging aber darf die Rufnummer nur genau einer Mailbox zugeteilt werden
  • Username dieser shared mailbox sollte nach Möglichkeit keiner dieser Personen gehören
  • besser einen technischer Gast verwenden, bei diesem einen technischen User einrichten und diesem eine shared Mailbox zuweisen
  • die Personen dieses gemeinsamen Anschlusses haben nach wie vor den Phone-Service
  • der UM-Dienst kann bei einem gemeinsamen Anschluss nur von den Admins dieser technischen Person erteilt werden
  • die Suche nach der entsprechenden Nummer ist entweder ein Freitext-Feld oder geht über Gebäude/Geschoss/Raum - Suche
  • Eintrag in Tabelle UNAME_RUFNUMMER ist essentiell
  • wenn Personen hinzukommen oder weggehen, bekommen diese einen Phone Service wie alle anderen auch
  • wenn der Phone-Service durch einen cronjob entzogen wird
    • wird keine Meldung in die Schnittstellen-Tabelle RUFNUMMER_UP_KOM geschrieben
    • der primäre Username dieser Person entspricht nicht dem Eintrag in der Tabelle UNAME_RUFNUMMER

Variante 3: unpersönlicher Anschluss (1 Nummer, 1 Organisationseinheit)

  • Rufnummer zeigt auf einen Adressbesitzer vom Besitzertyp=3 (Organisationseinheit)
  • Mögliche (Adress-)Besitzertypen
    1. Person (im Fall 1 abgehandelt)
    2. Funktionsträger
    3. Organisationseinheit (hier abgehandelt)
    4. Externer Veranstalter
    5. Befristete Person
    6. Studiensekretariat
    7. Dienststelle
  • aktuell existieren mehr als 8300 unpersönliche Anschlüsse!
  • Anwendungsbeispiel: ein Studiensekretariat eines Departements
  • in der Regel wird die UM-Funktionalität einer «shared Mailbox» zugewiesen
  • UM-Zuteilung zu einer persönlichen Mailbox sollte vermieden oder gar verhindert werden
  • die Verwaltung des UM-Dienstes erfolgt durch die zuständige Admingruppe
  • die zuständige Admingruppe wird aufgrund der Organisationseinheit ermittelt
  • aufgrund der teilweise sehr vielen unpersönlichen Anschlüssen soll Angabe von Gebäude, Geschoss und Raumnummer der Auswahl-Einschränkung helfen
  • Freitextfeld für Rufnummer ebenfalls möglich
  • Ungefährer Zuweisungsvorgang
    1. Erstellen einer shared Mailbox (für einen technischen User eines technischen Gastes)
    2. Zuteilung des Phone-Service für diesen User
    3. in der Phone-Detailansicht: Eingabe der Telefonnummer (oder aber Gebäude/Raum/Geschoss Suchfunktion und Auswahl)
    4. Zuteilung abschliessen MOVED TO... UM Service wird eingeleitet

Variante 4: externe Telefonnummer

  • jede zu einer Mailbox zugeteilte UM-Policy bestimmt den Dial-Plan
  • interne Nummern (5-stellig) haben einen anderen Dial-Plan als Lync oder externe Telefonanschlüsse (wie z.B. Basel)
  • interne Nummern beginnen immer mit +414463
  • alle anderen Nummern sind als extern zu behandeln und haben entsprechend einen anderen Dial-Plan respektive Policy
  • dieser Fall wird entweder manuell oder erst in einem Folgeprojekt behandelt

Todos

  • alle Rufnummern einer Person im Show User anzeigen
  • Service::Phone::set_service_options überarbeiten / Logik aus dem Skript dorthin verschieben
  • Processing cronjob auf Seite nethz MOVED TO... Swen
    • abarbeiten der Tabelle RUFNUMMER_UP_NETHZ
    • bei Änderung der Telefonanlage entsprechende Aktionen ins AD schreiben
    • beim Löschen des Telefonanschlusses auch den UM-Dienst deaktivieren
  • DONE Registrierungs-Tabelle UNAME_RUFNUMMER in welcher jede Rufnummer sowie jeder Username nur 1x vorkommen darf
  • TODO Organisationseinheiten und ADRESSBESITZER_ID
  • TODO Info-Seite (Art der Telefonanlage, Features, Link zur Hilfeseite etc.) MOVED TO... Carmen
  • Processing bestehende Phone-Service durch UM-Dienst erweitern
    • DONE Status-Anzeige
    • DONE UM in Auftrag geben
    • DONE UM löschen
  • DONE Abfrage der Tabelle RUFNUMMER_ADRESSBESITZER optimieren
  • DONE Powershell-Skript auf Seite AD/Exchange MOVED TO... Mathias
    • programmieren
    • testen
    • als periodischer Job (Scheduled Task) einrichten
  • DONE Infomail an User formulieren MOVED TO... Swen / Carmen

Aufwandabschätzung

  • Falls auf Seite nethz kein «reverse engineering» bretrieben werden muss (Geschäftsvorgang 3), hält sich der Aufwand im Rahmen von max. 5 Tagen)
  • Aufwand auf Seite AD: 5 Tage MOVED TO... Mathias
  • Aufwand Dokumentierung: 2 Tage MOVED TO... Carmen

Implementationsdetails

Was bedeutet der Phone-Service?

  • er repräsentiert das Vorhandensein eines Telefonanschlusses für eine Person
  • wird durch den cronjob update_rufnummer.pl vergeben oder entzogen
  • kann manuell vergeben werden, um z.B. eine funktionelle Telefonnummer einer Organisationseinheit einer Mailbox zuzuweisen
  • erscheint in der Tabelle «meine Services», gibt Netstat-Informationen über einen bestimmten Anschluss zurück
  • ermöglicht das Einrichten von Unified Messaging. Voraussetzung dafür ist eine Mailbox.
  • kann manuell oder durch Ablauf des Services generell entzogen werden. In diesem Fall wird
    • der Dienst Unified Messaging entzogen (falls vorhanden)
    • in die Schnittstellentabelle rufnummer_up_kom ein Eintrag geschrieben, dass dieser Anschluss zu löschen ist
    • sofern keine ETH-Beziehung mehr vorhanden ist
    • sofern es sich bei dieser Rufnummer nicht um eine funktionelle Telefonnummer (Orgeinheit) handelt

Schnittstelle zwischen nethz und den Telefondiensten

Die Kommunikation zwischen den Telefondiensten (ICT Networks) und nethz geschieht über Tabellen und Views.

Tabellenname Beschreibung

Name Objekt-Typ in nethz Beschreibung
V_RUFNUMMER_ADRESSBESITZER View enthält für jede Rufnummer die ADRESSBESITZER_ID sowie die Angabe von Gebäude, Geschoss, Raum, Tech_Typ (lync/voip/tdm)
V_RUFNUMMER_ADRESSBESITZER2 View Beschleunigte und abgespeckte Variante der View RUFNUMMER_ADRESSBESITZER
RUFNUMMER_UP_NETHZ Tabelle Alle Änderungen an Telefonanlagen und Telefonnummern (INSERT/UPDATE/DELETE). Wird vom cronjob update_rufnummer.pl abgearbeitet   RUFNUMMER_UP_KOM Tabelle Fehlerhafte Einträge, Personen, welche immer noch eine Rufnummer haben, obwohl sie die ETH mittlerweile verlassen haben werden in diese Tabelle geschrieben
DLDB_ADRESSBESITZER View enthält die Zuweisung ADRESSBESITZER_ID zu BESITZERTYP (1=Person, 3=Orgeinheit)
DLDB_ORGEINHEIT View enthält Angaben über die Organisationseinheit und der ihr zugewiesenen ADRESSBESITZER_ID
UNAME_RUFNUMMER Tabelle Registrierungstabelle in nethz, welche alle Zuweisungen AD-Mailbox MOVED TO... Rufnummer festhält und Mehrfachzuweisungen verhindert. Sowohl Rufnummer als auch Username dürfen jeweils nur 1x in dieser Tabelle vorkommen.

Schnittstelle zwischen nethz und AD

Das Umbenanntes custom-Attribut unifiedMessagingTask dient als Schnittstelle zur Kommunikation zwischen nethz und AD. Weitere Attribute im AD werden von nethz ausgelesen und entsprechend interpretiert.

Attributsname Wert Beschreibung
unifiedMessagingTask
create basic 23456
create enhanced 27890
update enhanced 23456
update basic 27890
delete
mögliche Werte, die von nethz in das Attribut geschrieben werden
unifiedMessagingTask
SUCCESS! create basic 23456 on 06.12.2014
SUCCESS! update enhanced 23456 on 06.12.2014
FAILED! create enhanced 27890 on 07.12.2014
FAILED! create basic 29876 on 07.12.2014
mögliche Werte, die auf Seite AD in dieses Attribut geschrieben werden
proxyAddresses EUM:userxyz@ethz.ch;phone-context=DP10.d.ethz.ch
eum:21234;phone-context=DP10.d.ethz.ch
Ein weiterer Adresstyp neben SMTP:, SIP: und X500:
msExchUMTemplateLink CN=DP21 Default Policy,CN=UM Mailbox Policies,CN=ETHZ,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=d,DC=ethz,DC=ch uneingeschränkte UM-Funktionalität ( enhanced) für Telefonanlagen vom Typ SIP/VoIP
msExchUMTemplateLink CN=DP21 Restricted Policy,CN=UM Mailbox Policies,CN=ETHZ,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=d,DC=ethz,DC=ch eingeschränkte UM-Funktionalität ( basic) für ältere Telefonanlagen vom Typ TDM
msExchUMTemplateLink CN=DP10 Default Policy,CN=UM Mailbox Policies,CN=ETHZ,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=d,DC=ethz,DC=ch UM-Dienst im Zusammenhang mit einem Lync-Telefon (dieser Fall wird nicht von nethz behandelt)
msExchUMDtmfMap
firstNameLastName:322462667264
lastNameFirstName:266726432246
emailAddress:322462667264
Eingaben der Buchstaben übers Telefon: 2=a,b,c,2; 3=d,e,f,3 etc. Damit wird der Benutzer direkt gesucht.
Extensions    
telephoneNumber +41 44 632 07 70 vollständige Telefonnummer im Format E164

Weitere Attribute im Bereich Unified Messaging

Attributsname Wert Beschreibung
msExchAllowHeuristicADCallingLineIdResolution 1 oder 0 Anrufer soll aufgrund einer der gespeicherten Telefonnummern telephoneNumber, otherTelephone, homePhone, mobile, otherMobile, facsimileTelephoneNumber, otherFacsimileTelephoneNumber ausfindig gemacht werden. Kann sehr ineffizient sein!

Spezialfälle

funktionelle Telefonbeantworter

  • Telefon ist einer Organisationseinheit zugeordnet

Telefonbeantworter für Externe

  • für externe Personen ohne ETH-Beziehung
  • Anrecht auf ein Telefon?
  • Voraussetzung: ETH-Gast, damit eine Adressbesitzer_ID zugeordnet werden kann
  • Telefonie ordnet dieser Adressbesitzer_ID die Telefonnummer zu

-- SwenVermeul - 2014-12-06

Topic revision: r22 - 2015-05-12 - vermeul
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback