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:

  1. 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.
  2. 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.

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.

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 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 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

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

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 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

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: <HHMM>
  end: <HHMM>
...

Voorbeeld:

---
tc:
  start: 0900
  end: 1700
...

pagerDuty

Dit is alleen relevant voor de teams die integratie met 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: <pagerduty escalation ID>

In het contacts pane staan de teamleden vermeld, met per teamlid een telefoonnummer en eventuele notificatie opties. Er zijn drie twee notificatie integraties:

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: <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]
...

Voorbeeld:

---
Willy:
  telnr: +31-70831700
  notify: none
Max:
  telnr: +54-531800834
Claire:
  telnr: +31-620031207
  notify: pushbullet
  pushbullet: 42
...

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
...

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
...

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