Betriebsaufwand reduzieren mit Cisco Unified Communications

XML Layer API optimiert Rollout und Management



TU Chemnitz, Universitätsrechenzentrum, Ronald Schmidt



24. Oktober 2006 - Dorint Novotel Dresden


Sachsenstammtisch

Angenda




  • VoIP an der TU Chemnitz
  • Managementaufgaben VoIP
  • Schnittstellen Cisco Callmanager
  • Cisco XML Layer API und pyAXL
  • konkrete Beispiele
  • Gegenüberstellung Betriebsaufwand

VoIP an der TU Chemnitz


Managementaufgaben VoIP

AnzahlTask
13+xBerechtigungsänderungen
14 Vorzimmerschaltungen
17 Labornummern
25 Rufnummernbeantragungen
46 Privatgespräche
39 Fax, Analog
50 Mehrbenutzerprofile
58 Rollout, Umsetzungen
116 Störungsmeldungen
201 formlose Anforderungen


Beispiel Vorzimmerschaltung

Chef Sekretärin
  • Daten zusammensuchen (2x Nummer, 2x Name)
  • 1x Profil anlegen
  • 1x Partition erstellen
  • ggf. 1x Phonebuttontemplate anlegen
  • 3 Lines konfigurieren (Name, Ring, Rechte, ...)
  • 1 Speeddial setzen
  • 3 Services konfigurieren
  • einem Nutzer zuordnen
  • Chef informieren
  • Nummer im LDAP aktualisieren
  • Daten zusammensuchen
  • 1x Profil anlegen
  • ggf. 1x Phonebuttontemplate anlegen
  • 4 Lines konfigurieren (Name, Ring, Rechte, ...)
  • 1 Speeddial setzen
  • 3 Services konfigurieren
  • einem Nutzer zuordnen
  • Chef informieren
  • Nummer im LDAP aktualisieren

Dauer: zwischen 20 und 45 Minuten, hohe Fehleranfälligkeit

Schnittstellen Cisco Callmanager (1)





Schnittstellen Cisco Callmanager (2) - AXL



 1: <axl:getLine    ...  >
 2:    <pattern>31377</pattern>
 3:    <routePartitionName>p-intern</routePartitionName>
 4:    <routeFilterId></routeFilterId>      
 5: </axl:getLine>

pyAXL (1)


pyAXL (2) - Beispiel


 1: from pyAXL import *
 2: 
 3: # Device-Objekt erzeugen
 4: device=CCMDevice(name="SEP0015F960531E",model="7961")
 5: 
 6: # Directory-Number im Callmanager anlegen
 7: dirn=CCMDirNumber(dn_pattern="31377",partition="p-intern")
 8: dirn.set_alertingName("Ronald Schmidt, URZ")
 9: dirn.update()
10: 
11: # Line konfigurieren
12: line=CCMLine(label="Ronald Schmidt 31377")
13: line.set_dirn(dirn)
14: line.set_ringSetting("Ring")
15: line.set_display("Ronald Schmidt")
16: 
17: # Line an erste Stelle im Device konfigurieren
18: device.set_line(1,line)
19: 
20: # Device im CCM erstellen
21: device.update()

VoIP-Administration an der TUC

 1: $ ./TraceDN.py 35555
 2: 35555/p-intern 'Otto Nörmälverbraucher' [css-intern-otto] 
      -> 983848 ( SEP00170E43AE19 team_35555_otto_7960 user_35555_
      otto test_35555_otto_a team_35555_otto  )
 3: 983848/p-intern 'Raum Na62/B204' [css-intern] -> ADP0017954A
      4EFF SEP0017954A4EFF 
 4: 
 5: SEP0017954A4EFF -> Na62/B204;1B/204-17/18 (l)
 6: ADP0017954A4EFF -> Na62/B204;1B/204-17/18 (l)
 7: SEP00170E43AE19 -> Na62/B204;1B/204-15/16 (l)

 1: $ ./addUser.py oba
 2: oba 36565 Otto Bäshtester user_36565_oba
 3: send to oba ( otto.bashtester@hrz.tu-chemnitz.de )


 1: $ ./enablePrivatgespraech.py otto
 2: +  user_35555_otto 35555
 3: activating
 4: +  team_35555_otto 35555
 5: activating
 6: send to otto.normalverbraucher@hrz

 1: $ ./enableSpeiseplan.py otto
 2: ==> user_35555_otto 35555
 3: activating
 4: ==> team_35555_otto 35555
 5: activating
 1: $ ./EnableAnalogportNG.py 23449
 2: FILTER vg2-3t-003-1/43
 3: ==> vg2-3t-003-1/43
 4: ---------------------------------------------------------
 5: 1251 -> VGC1647668D8343 @vg2-3t-003-1
 6: DN auf Endpoint: 23449
 7: Weiterleitungen an 23449 : ['2349', '800075']
 8: CreateDN 23449 p-intern
 9: 2349 -> 23449
10: CreateDN 2349 p-intern
11: 800075 -> 23449
12: CreateDN 800075 p-intern



Automatisierung Chef/Sek-Profile




Chef 1 2x Sek. Chef 2



Workflow



 1: spec={  'lines': [{  'type'  : 'line', 
 2:                      'dn'    : '31552',
 3:                      'part'  : 'p-intern',
 4:                      'label' : 'Lothar Kempe 31552',
 5:                      'name'  : 'Lothar Kempe',
 6:                      'ring'  : 'on'},
 7:                   {  'type'  : 'line',
 8:                      'dn'    : '13410',
 9:                      'label' : 'URZ GF 13410',
10:              ... 
11:                   {  'type'  : 'sd',
12:                      'dn'    : '13410',
13:                      'name'  : '->Sek. URZ GF',},
14:              ...
15:                      ],
16:       'nkz':         'lke',
17:       'profilename': 'team_31552_lke',
18:       'type':        '7961G-GE'}

Konfiguration Spezialkonfigurationen

 1: ...
 2: std_static1('29562','IBF Labor Ergonomie C106',             
            sep='SEP0017594f0556' ),
 3: ...

    {'lines': [
               {
                'dn': '19100',
                'name': 'Fa. Götz',
                'part': 'p-intern',
                'ring': 'on',
                'type': 'line'},
               {
                'dn': '44111',
                'name': 'Uni.Notruf/Wache',
                'part': 'p-intern',
                'ring': 'on',
                'type': 'line'},
            ],
     'profilename': 'static_19100',
     'type': '7941',
     'phone':'2220',
     'dn':  '19100',
   },
   

Weitere Möglichkeiten


Auslagerung von Aufgaben per Web

Berechtigungsänderung ausschließlich im Dezernat für Haushalt


Gegenüberstellung Betriebsaufwand


Task herkömmlich Cisco CCM + pyAXL
Berechtigungsänderungen bis zu 5 Min 10 Sek
Vorzimmerschaltungen bis zu 45 Min 10 Sek
Labornummern bis zu 10 min 10 Sek
Rufnummernbeantragungen bis zu 10 min 0-10 Sek
Privatgespräche bis zu 5 Min 10 Sek
Fax, Analog bis zu 5 Min 0 Sek
Mehrbenutzerprofile bis zu 10 Min 10 Sek
Nutzer bearbeiten bis zu 5 Min kein Aufwand
neues Telefon bis zu 10 Min 10 Sek


extrem hohe Senkung des Aufwands beim Daily Business

Fazit




Das Ganze ist nur möglich durch:



Ende





Danke für die Aufmerksamkeit

Fragen?