callforward

no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


callforward [2026/05/27 14:01] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +~~META:
 +title = Callforward: NPO-DTO TicketCoordinator & Bereikbaarheids Dienst Viewer
 +~~
 +{{htmlmetatags>
 +metatag-keywords=(callforward ticketcoordinator bereikbaarheidsdienst)
 +metatag-og:title=(Callforward: NPO-DTO TicketCoordinator & Bereikbaarheids Dienst Viewer)
 +metatag-og:description=(
 + Callforward is de NPO-DTO TicketCoordinator en Bereikbaarheids
 + Dienst Viewer.
 + Een simpel tool waarin teams automatische telefoondoorschakelingen
 + kunnen regelen zodat het team altijd onder 1 en hetzelfde
 + telefoonnummer bereikbaar is, maar er automatisch doorgeschakeld
 + wordt naar wie er op dat moment bereikbaarheidsdienst heeft.
 + )
 +}}
 +===== Callforward: NPO-DTO TicketCoordinator & Bereikbaarheids Dienst Viewer =====
 +  * https://callforward.npoict.nl/
 +
 +Bij meerdere teams leeft de wens of bestaat de noodzaak om ook buiten
 +kantoortijden bereikbaar te zijn.
 +Callforward kan daarbij helpen. Het biedt de mogelijkheid om naar buiten
 +een onveranderlijk telefoonnummer te publiceren, dat bijvoorbeeld door
 +je afnemers gebeld kan worden. En callforward zorgt er dan voor dat dit
 +nummer altijd doorgeschakeld staat naar de dienstdoende-du-jour, zodat
 +-als de dienstdoende z'n werk goed doet- het team in principe altijd
 +bereikbaar is.
 +
 +Callforward bestaat uit 2 helften:
 +  - Een website die door de aangesloten teamleden gebruikt kan worden om
 +  de contactgegevens van de teamleden in te stellen,
 +  bereikbaarheidsroosters mee te beheren en eventuele uitzonderingen
 +  daarop in te geven.
 +  - De machinerie aan de achterkant die op basis van de contactgegevens
 +  en het bereikbaarheidsrooster op het juiste moment het centrale team
 +  telefoonnummer doorschakelt naar de medewerker van dienst.
 +
 +===== Terminologie =====
 +Callforward kent 2 vormen van bereikbaarheid:
 +  * TC: "Ticket Coordinator", dat is degene die tijdens kantoortijden
 +  gebeld moet worden.
 +  * BD: "Bereikbaarheids Dienst", dat is degene die buiten kantoortijden
 +  gebeld moet worden
 +
 +Voor beide vormen kan een schema ingegeven worden; het "TC Schedule" en
 +het "BD Schedule".
 +Daarnaast kent callforward nog de volgende concepten:
 +  * Config: hier zit algemene config in, b.v. wat dit team verstaat
 +  onder kantoortijden.
 +  * Contacts: dit zijn de teamleden en de bijbehorende telefoonnummers
 +  * Overwrites: In praktijk gebeurt het weleens dat er diensten geruild
 +  worden ("Wil jij deze week op maandag TC zijn, dan ruil ik met jouw dinsdag")
 +  De Overwrites zijn er om dit soort eenmalige schema-aanpassingen in
 +  kenbaar te maken.
 +
 +===== Inloggen en Afscherming =====
 +De medewerkers van de aangesloten teams hebben ooit allemaal een mail
 +gehad om in te loggen op callforward. Als je je inloggegevens kwijt
 +bent, ga dan naar [[https://sso.npohosting.nl/auth/realms/chp/account|de inlogmodule]]
 +en klik op "Forgot Password". Daarna kan je je email adres of
 +gebruikersnaam (voornaam.achternaam in lowercase) invullen en op submit
 +drukken, waarna je van ons systeem een email met een password reset link
 +ontvangt.  Zodra je account in orde is kun je inloggen op
 +[[https://callforward.npoict.nl/|Callforward]]
 +
 +Eenmaal ingelogged kent callforward geen verdere afscherming.
 +Dat betekent dat het mogelijk is om alle schema's van alle teams aan te
 +passen.
 +Het wordt zeker op prijs gesteld als je dit gegeven gebruikt om jezelf
 +in te roosteren voor een weekje H&S bereikbaarheidsdienst!
 +
 +Als je ingelogged bent kom je uit in het hoofdscherm.
 +
 +{{::hoofdpagina.png?800|hoofdpagina}}
 +
 +===== De teampagina =====
 +Bij normaal gebruik kies je je team uit het hoofdscherm
 +en klikt op je teamnaam in de zwarte balk. Je komt nu op je teampagina uit.
 +Op de teampagina zie je de volgende blokjes:
 +  * Callforward: Dit is naar wie de telefoon op dit moment
 +  doorgeschakeld is. In de zwarte balk zit een drop-down menu om dit
 +  ad-hoc om te zetten naar een andere teamgenoot. Dit kan je
 +  bijvoorbeeld gebruiken als je even AFK bent en de doorschakeling
 +  zolang naar iemand anders wilt hebben.
 +  * Dienstdoende: Dit is wie op dit moment TC is volgens het schema.
 +  Buiten kantoortijden staat hier de betreffende BD medewerker vermeld.
 +  * Ticket Coordinator: Dit geeft een overzicht voor de huidige week wie
 +  er op welke dag TC is.
 +  * Bereikbaarheisdienst: Dit geeft een overzicht voor de huidige week
 +  wie er op welke dag BD is.
 +  
 +  {{::teampagina.png?800|teampagina}}
 +
 +===== Configuratie en Schema aanpassingen =====
 +Op de teampagina zie je rechts bovenin een "Edit" knop.
 +Als je daarop klikt dan kom je in het configuratiescherm terecht.
 +Je ziet voor elk van de 5 concepten ("Config", "Contacts",
 +"TC Schedule", "BD Schedule" en "Overwrites") een edit window,
 +met daarin de huidige instellingen.
 +Deze instellingen zijn in een serialisatietaal genaamd
 +[[https://en.wikipedia.org/wiki/YAML|YAML]].
 +
 +**Pas op**: YAML is heel gevoelig voor spaties en indentatie.
 +Haal ergens een spatie weg en je configuratie is geen valide YAML,
 +waardoor Callforward de configuratie niet meer opslaat en je de
 +configuratie in kwestie kwijt bent.
 +
 +Merk verder op dat elk yaml blokje begint met drie streepjes (''---'')
 +en eindigt met drie puntjes (''...''). Dat zijn de zogeheten YAML
 +"Opening" en "Closing" tags. Deze zijn verplicht in callforward!
 +
 +{{::editpagina.png?800|editpagina}}
 +
 +==== Config ====
 +Het config pane kent de volgende configuratie items:
 +
 +=== tc ===
 +Met ''tc'' geef je aan wat voor jouw team normale kantoortijden zijn,
 +waarop de TC geacht wordt bereikbaar te zijn. Dit kent een ''start'' en
 +een ''end'' welke beide in 24-uurs notatie aangegeven worden.
 +<code>
 +---
 +tc:
 +  start: <HHMM>
 +  end: <HHMM>
 +...
 +</code>
 +
 +Voorbeeld:
 +<code>
 +---
 +tc:
 +  start: 0900
 +  end: 1700
 +...
 +</code>
 +
 +=== pagerDuty ===
 +Dit is alleen relevant voor de teams die integratie met
 +[[https://www.pagerduty.com/|PagerDuty]] hebben.
 +Als je dat hebt dan kan je Callforward aan PagerDuty en je
 +monitoringsysteem koppelen, om zo alerst van je monitoringsysteem ook
 +door te kunnen sturen naar de dienstdoende.
 +<code>
 +pagerDuty:
 +  escalationiD: <pagerduty escalation ID>
 +</code>
 +
 +==== Contacts ====
 +In het contacts pane staan de teamleden vermeld, met per teamlid
 +een telefoonnummer en eventuele notificatie opties.
 +Er zijn <del>drie</del> twee notificatie integraties:
 +  * [[https://www.prowlapp.com|prowl]]
 +  * [[https://www.pushbullet.com/|pushbullet]]
 +  * [[https://www.reddit.com/r/Android/comments/8l0cim/notify_my_android_is_dead/|nma]] (niet meer beschikbaar)
 +Daarnaast kan er nog een pagerduty ID opgegeven worden als voor dit team
 +pagerduty integratie aanstaat
 +
 +Per teamlid kunnen de volgende velden ingesteld worden:
 +  * ''telnr'': (verplicht) het telefoonnummer, geschreven als +31-123456789>
 +  * ''notify'': (optioneel) eventuele notificatie integratie. Mogelijke
 +  waarden: ''prowl'', ''pushbullet'' en ''nma''. Indien er een notify
 +  ingesteld wordt, dan dient voor dat type notify het bijbehorende id
 +  ingesteld te worden:
 +    * ''prowl'':  (verplicht bij ''notify: prowl'') het
 +    prowl id van deze gebruiker
 +    * ''pushbullet'': (verplicht bij ''notify: pushbullet'') het
 +    pushbullet id van deze gebruiker
 +    * <del>''nma'': (verplicht bij ''notify: nma'') het
 +    nma id van deze gebruiker</del>
 +  * ''pagerduty'': (verplicht indien pagerduty integratie voor dit team
 +  aanstaat) het pagerduty id van deze gebruiker
 +
 +Oftewel:
 +<code>
 +---
 +naam1:
 +  telnr: <telefoonnummer, geschreven als +31-123456789>
 +  notify: <prowl|pushbullet|nma> [optioneel]
 +  prowl: <prowl id> [optioneel, invullen bij notify: prowl]
 +  pushbullet: <pushbullet id> [optioneel, invullen bij notify: pushbullet]
 +  nma: <nma id> [optioneel, invullen bij notify: nma]
 +  pagerduty: <pagerduty id> [optioneel, invullen bij PD integratie]
 +naam2:
 +  [enz]
 +...
 +</code>
 +Voorbeeld:
 +<code>
 +---
 +Willy:
 +  telnr: +31-70831700
 +  notify: none
 +Max:
 +  telnr: +54-531800834
 +Claire:
 +  telnr: +31-620031207
 +  notify: pushbullet
 +  pushbullet: 42
 +...
 +</code>
 +
 +==== TC & BD Schedule ====
 +De TC- en BD Schedulue panes werken op dezelfde wijze,
 +via ''type'' geeft je het het soort schema op, er is keuze uit 3
 +schema's:
 +  * ''day'': een schema waar je bij elke dag van de week een dienstdoende op
 +  kan geven. De dagen worden opgegeven als
 +  ''mon|tue|wed|thu|fri|sat|sun''
 +  Voor TC schedule geldt dat er in het weekend geen TC opgegeven hoeft
 +  te worden, dan staat de telefoon doorgeschakeld volgens het BD schema.
 +  * ''week'': een schema waar je voor elke week van het jaar een
 +  dienstdoende op kan geven; de weken van het jaar worden opgegeven
 +  ls ''jaar-weeknummer''
 +  * ''week-duo'': vergelijkbaar met schema ''week'', maar nu kan er
 +  naast elke primaire bereikbaarheidsdienst ook een secundaire
 +  opgegeven worden. Voor "regulier" doorschakelen heeft dit geen zin;
 +  het is niet zo dat als de primaire persoon niet opneemt de call
 +  dan doorgeschakeld wordt naar de secundaire persoon. (de gebruikte
 +  telefooncentrale ondersteunt die functionaliteit helaas niet) Voor
 +  integratie met pager duty heeft het wel zin, want als PD de primaire
 +  persoon niet kan bereiken dan zal deze de secundaire persoon gaan
 +  proberen.  Primair en secundair worden aangegeven middels ''pri'',
 +  resp ''sec''
 +
 +Voorbeelden:
 +<code>
 +---
 +type: day
 +schedule:
 +  mon: Max
 +  tue: Willy
 +  wed: Claire
 +  thu: Max
 +  fri: Claire
 +...
 +</code>
 +
 +<code>
 +---
 +type: week
 +schedule:
 +  2025-01: Max
 +  2025-02: Willy
 +  2025-03: Claire
 +...
 +</code>
 +
 +<code>
 +---
 +type: week-duo
 +schedule:
 +  2025-01:
 +    pri: Max
 +    sec: Willy
 +  2025-01:
 +    pri: Willy
 +    sec: Claire
 +  2025-03:
 +    pri: Claire
 +    sec: Max
 +...
 +</code>
 +
 +==== Overwrites ====
 +Het wil weleens voorkomen dat er diensten geruild worden. Dit kan in
 +Overwrites aangegeven worden en wordt per dag (''YYYYMMDD'') aangegeven.
 +Dit kan zowel voor TC (''tc:'') als BD (''bd:'') diensten gedaan worden.
 +Voorbeelden:
 +<code>
 +---
 +20250101:
 +  tc: Max
 +20250113:
 +  tc: Claire
 +  bd: Max
 +...
 +</code>
 +
 +Of, in geval van een ''week-duo'' schema, dan zien overrides er zo uit:
 +<code>
 +---
 +20250113:
 +  tc: Claire
 +  bd:
 +    pri: Max
 +    sec: Claire
 +...
 +</code>
 +
 +===== Tip voor het editen van YAML =====
 +Callforward is nooit bedoeld geweest als algemeen tool en zit geen
 +checking in op de validiteit van de YAML code die je intypt.
 +Probleem hierbij is dat als je invalide YAML intypt Callforward dit
 +interpreteert als lege data en in essentie je het betreffende stukje
 +configuratie leegmaakt. En je ziet dit pas als het eigenlijk al te laat
 +is, nl als je weer uit de editor bent en teruggaat naar de team pagina.
 +Nou valt dat in geval van nood wel terug te
 +halen van een backup, maar het is beter om dit te voorkomen.
 +Met onderstaande werkwijze kan je veel problemen voorkomen:
 +  * **Voordat** je gaat editen, sla de hele inhoud van het betreffende
 +  configuratiepane tijdelijk op in je paste buffer (ctrl-A ctrl-C op
 +  windows/linux, appeltje-A appeltje-C op Mac (oke, voor mensen die wat
 +  minder lang macs gebruiken is dit Command-A Command-C en voor mensen
 +  die daar tussenin zitten is dit ⌘-A ⌘-C 😃))
 +  * Doe je edits en klik op "Save"
 +  * Ga nu terug naar de teampagina via de "Back" knop rechtsbovenin
 +  * Klik in de teampagina vervolgens weer op "Edit", rechtsbovenin
 +  * Kijk nu of er nog data in je zojuist ge-edite pane zit. Zo nee?
 +  Oepsie! Maar als het goed is zit deze data nog in je paste buffer
 +  en kan je deze met ctrl-V (appeltje-V) weer terughalen. Vergeet niet
 +  op "Save" te klikken!
 +
 +Voor voldoende appeltaart zal er vast iemand bereid zijn om een patch
 +voor Callforward te schrijven, zodat ie betere errorcheckking op de
 +validiteit van YAML gaat doen...
  
  • callforward.txt
  • Last modified: 2026/05/27 14:01
  • by 127.0.0.1