~~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.
---
tc:
start:
end:
...
Voorbeeld:
---
tc:
start: 0900
end: 1700
...
=== 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.
pagerDuty:
escalationiD:
==== Contacts ====
In het contacts pane staan de teamleden vermeld, met per teamlid
een telefoonnummer en eventuele notificatie opties.
Er zijn drie 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
* ''nma'': (verplicht bij ''notify: nma'') het
nma id van deze gebruiker
* ''pagerduty'': (verplicht indien pagerduty integratie voor dit team
aanstaat) het pagerduty id van deze gebruiker
Oftewel:
---
naam1:
telnr:
notify: [optioneel]
prowl: [optioneel, invullen bij notify: prowl]
pushbullet: [optioneel, invullen bij notify: pushbullet]
nma: [optioneel, invullen bij notify: nma]
pagerduty: [optioneel, invullen bij PD integratie]
naam2:
[enz]
...
Voorbeeld:
---
Willy:
telnr: +31-70831700
notify: none
Max:
telnr: +54-531800834
Claire:
telnr: +31-620031207
notify: pushbullet
pushbullet: 42
...
==== 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:
---
type: day
schedule:
mon: Max
tue: Willy
wed: Claire
thu: Max
fri: Claire
...
---
type: week
schedule:
2025-01: Max
2025-02: Willy
2025-03: Claire
...
---
type: week-duo
schedule:
2025-01:
pri: Max
sec: Willy
2025-01:
pri: Willy
sec: Claire
2025-03:
pri: Claire
sec: Max
...
==== 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:
---
20250101:
tc: Max
20250113:
tc: Claire
bd: Max
...
Of, in geval van een ''week-duo'' schema, dan zien overrides er zo uit:
---
20250113:
tc: Claire
bd:
pri: Max
sec: Claire
...
===== 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...