Vai al contenuto
Strategia Informatica
  1. Inizio
  2. Competenze
  3. Fonia e contact center

Fonia, comunicazioni unificate e contact center

Progettiamo, sviluppiamo e teniamo in esercizio la parte operatore di un contact center: barre telefoniche WebRTC su misura, stati e code, integrazioni con gestionali e help desk. Installiamo e correggiamo centralini (Asterisk anche compilato da sorgenti, FreePBX, NethVoice, Yeastar), lavoriamo su Cisco Unified CM attraverso le sue API e curiamo il disaster recovery della fonia.

Il punto più forte è la diagnosi: cadute e instabilità ricostruite chiamata per chiamata incrociando più fonti, fino alle catture SIP e RTP. E una regola che non cambia: le versioni nuove arrivano alle postazioni solo quando il cliente lo chiede, dopo una postazione pilota.

Barre telefoniche WebRTC per operatori

Sviluppiamo su commissione e manteniamo barre telefoniche desktop che si integrano con l’agente web delle piattaforme di contact center: ne pilotano la pagina e l’SDK SIP, aggiungono le funzioni che mancano e rendono affidabili trasferimenti ciechi e con consultazione, attesa e pause. Funzionano anche su postazioni datate e in VDI, si ancorano al bordo dello schermo e scrivono per ogni postazione un registro strutturato, che è la base di ogni diagnosi.

Tecnologie e prodotti

  • Electron e Node.js
  • Moduli nativi in C++ (N-API)
  • JsSIP, WebRTC, SIP su WebSocket sicuro
  • Cisco AXL
  • SQL Server
  • Registri NDJSON

Esempi

  1. Contact center della distribuzione, alcune decine di postazioni In esercizio

    La barra che mancava a un contact center con più sedi

    Il problema
    L’agente web standard della piattaforma non bastava: il microfono restava bloccato nella cornice della pagina e gli eventi delle chiamate non erano accessibili.
    Cosa abbiamo fatto
    Una barra con una vista web isolata e un’integrazione approfondita con la piattaforma. Nel tempo ha aggiunto l’inoltro automatico del telefono fisico all’interno virtuale, la scheda del cliente alla risposta, la presa delle chiamate dalla coda (con conteggi identici ai contatori nativi), la pausa comandata dal supervisore e il passaggio al sito di disaster recovery.
    Risultato
    In esercizio quotidiano, con sviluppo continuo nel 2026.
  2. Contact center in VDI In esercizio

    Una barra che partiva ma non si vedeva

    Il problema
    Su alcune postazioni la barra risultava avviata ma non compariva sullo schermo.
    Cosa abbiamo fatto
    Il registro della postazione mostrava registrazioni SIP senza alcun clic dell’operatore. La causa: un’immagine VDI con la composizione del desktop disattivata, che non disegna le finestre trasparenti.
    Risultato
    Ora la barra si apre opaca quando la composizione manca e lo annota nel registro.

Code, ACD e chiamate in uscita

Ricostruiamo la macchina a stati dell’operatore (disponibile, prenotato, in pausa, in conversazione, in post-chiamata, in uscita) dal protocollo del distributore automatico e dal confronto con il client originale, e correggiamo collisioni, pause non confermate e prenotazioni rimaste appese. Sui centralini scegliamo strategie e tempi delle code in base alle postazioni.

Tecnologie e prodotti

  • Comandi ed eventi ACD su WebSocket
  • Code di Asterisk (rrmemory, ringall)
  • Code Yeastar
  • Asterisk AMI
  • SQL Server

Esempi

  1. Contact center della distribuzione In esercizio

    Chiamate assegnate a operatori già al telefono, ridotte del 97%

    Il problema
    Il distributore automatico assegnava chiamate in ingresso a operatori già impegnati in una chiamata in uscita.
    Cosa abbiamo fatto
    Osservando il protocollo abbiamo visto che l‘88% delle collisioni partiva dallo stato di pausa, per un meccanismo di recupero della barra, e che prima dell’avvio della chiamata mancava il comando che segnala «in chiamata uscente». Due correzioni, poi la misura con un osservatore lato server indipendente dalla barra.
    Risultato
    Sovrapposizioni scese da 23.600 al giorno, nel giorno di picco, a 608: meno 97%.
  2. Contact center della distribuzione Consegnato

    Chiamate in uscita che cadevano a 90 secondi esatti

    Il problema
    Alcune chiamate in uscita si interrompevano sempre dopo 90 secondi.
    Cosa abbiamo fatto
    Abbiamo scartato con prove le piste del session timer, del telefono e della rete, e dimostrato sui log del server che un timer non azzerato rimetteva l’operatore in attesa a chiamata ancora in corso.
    Risultato
    Causa corretta e verificata.

SBC e accesso WebRTC degli operatori

Gestiamo gli SBC a cui si collegano gli operatori WebRTC: registrazioni e verifiche di raggiungibilità, buffer del kernel, spazio disco, ripartenze. Gli interventi passano da script idempotenti che fanno un backup e si fermano se il risultato non è quello atteso.

Tecnologie e prodotti

  • Kamailio
  • Asterisk con PJSIP
  • coturn (STUN e TURN)
  • WebRTC (ICE, DTLS-SRTP)
  • podman, systemd, SELinux

Esempi

  1. Contact center della distribuzione In esercizio

    Due registrazioni per postazione dove ne era ammessa una

    Il problema
    Le registrazioni degli operatori risultavano «irraggiungibili» a raffica (2.722 in 14 ore su 64 interni), con interruzioni dell’audio.
    Cosa abbiamo fatto
    Abbiamo dimostrato, anche con il client web ufficiale, che ogni postazione apre due agenti SIP sullo stesso interno mentre la configurazione ne accettava uno solo. Prova pilota su due interni, poi estensione a 112.
    Risultato
    Segnalazioni ridotte del 97% nel monitoraggio a 5 minuti, interruzioni audio azzerate, ingresso verificato con una cattura SIP: nessun doppio squillo.
  2. Contact center della distribuzione Consegnato

    Un disco pieno sull'SBC di disaster recovery

    Il problema
    L’SBC del sito di disaster recovery aveva il disco pieno.
    Cosa abbiamo fatto
    Spazio liberato togliendo 12 milioni di righe di un registro di debug, senza perdere un solo record delle chiamate, e disco esteso a caldo.
    Risultato
    Spazio recuperato e disco più grande, senza fermare il servizio.

Diagnosi delle cadute di chiamata e della qualità audio

Ricostruiamo ogni chiamata incrociando il registro della postazione, i log del server applicativo e dell’SBC e i dettagli delle chiamate dei centralini. Nelle catture SIP e RTP le domande sono sempre tre: chi chiude la chiamata, con quale causa, e se l’audio si era fermato prima.

Tecnologie e prodotti

  • SIP, RTP, cause Q.850
  • tcpdump e pcap
  • CDR e CEL di Asterisk
  • CDR e PerfMon di Cisco
  • Statistiche WebRTC

Esempi

  1. Contact center della distribuzione Consegnato

    Duecentotrenta «sospette cadute» al giorno, nessuna di rete

    Il problema
    Un indicatore contava circa 230 sospette cadute al giorno, il 4,9% delle chiamate servite, e si pensava a un problema di rete.
    Cosa abbiamo fatto
    Abbiamo ricostruito 147 casi uno per uno: tutte le richiamate erano chiamate nuove e nessuna era una caduta di rete. Le cause erano soprattutto tre comportamenti della postazione: microfono senza segnale, attesa premuta prima del collegamento, doppio clic su rispondi e riaggancia.
    Risultato
    Misure e protezioni aggiunte alla barra, da attivare dopo un periodo di misura.
  2. Contact center della distribuzione Consegnato

    Clienti in attesa che cadevano, o forse no

    Il problema
    Si stimavano circa 200 clienti al giorno persi durante l’attesa per una consultazione.
    Cosa abbiamo fatto
    Abbiamo contato i casi veri dal registro degli eventi del centralino.
    Risultato
    Erano 7 in 14 giorni su 12.076 consultazioni: la prima stima contava anche i trasferimenti riusciti.
  3. Impianto Cisco con più trunk Consegnato

    Un trunk che completava meno chiamate degli altri

    Il problema
    Le chiamate in uscita cadevano pochi secondi dopo la risposta.
    Cosa abbiamo fatto
    Dai contatori di prestazione del centralino, un trunk completava il 77% delle chiamate contro l‘89% e il 97% degli altri; esclusi uno per uno client, piattaforma, SBC e controllo di banda.
    Risultato
    Causa ricondotta all’operatore telefonico e documentata in un dossier.

Disaster recovery della fonia

Progettiamo e collaudiamo il passaggio di client e server di fonia sul sito di disaster recovery senza toccare il DNS, con procedure scritte di riavvio e di ripristino.

Tecnologie e prodotti

  • Electron
  • Flask
  • coturn
  • Asterisk FastAGI
  • PowerShell e WinRM

Esempi

  1. Contact center della distribuzione In esercizio

    Un interruttore per passare al disaster recovery

    Il problema
    In caso di guasto le postazioni dovevano passare al sito di DR senza riconfigurazioni e senza toccare il DNS.
    Cosa abbiamo fatto
    La barra legge lo stato da un portale e, se serve, rimappa server, STUN e database sul DR con gli stessi nomi, così i certificati restano validi; se il portale non risponde si resta in produzione. Nel collaudo abbiamo trovato e corretto STUN e dialplan ancora legati alla produzione, che davano audio a una via.
    Risultato
    Passaggio validato da capo a fondo in ingresso, compreso il riavvio del nodo DR (circa 2 minuti di fermo).
  2. Contact center della distribuzione In esercizio

    Riavvio ordinato della piattaforma

    Il problema
    Riavviare i tre server della piattaforma senza sorprese per gli operatori.
    Cosa abbiamo fatto
    Una procedura nell’ordine database, SBC, web, con 13 controlli finali.
    Risultato
    Eseguita più volte, anche prima dell’apertura del servizio, sempre con esito positivo.

Centralini IP: Asterisk, FreePBX, NethVoice, Yeastar

Installiamo Asterisk anche compilandolo da sorgenti, senza interfaccia web e con la configurazione versionata; analizziamo e correggiamo impianti FreePBX, PBXact e NethVoice; installiamo Yeastar P-Series su server virtuali e lo configuriamo attraverso le sue API. Dialplan, IVR, code, orari e festivi, messaggi, sicurezza di base e dati per le statistiche.

Tecnologie e prodotti

  • Asterisk 18 e 22, PJSIP
  • FreePBX e PBXact
  • NethVoice e NethServer
  • Yeastar P-Series (OpenAPI)
  • MariaDB e ODBC
  • nftables e fail2ban

Esempi

  1. Servizio di assistenza per un ente pubblico Consegnato

    Un centralino per l'assistenza al pubblico, compilato da sorgenti

    Il problema
    Serviva un centralino per 16 postazioni su un sistema operativo che non distribuisce più Asterisk.
    Cosa abbiamo fatto
    Asterisk 22 compilato su Debian 13; IVR con informativa, tre code a rotazione con memoria, festivi fino al 2035 nel database del centralino, dieci messaggi con la stessa voce sintetica, nftables e fail2ban, trigger SQL per il cruscotto statistico già in uso, documentazione in 12 capitoli.
    Risultato
    Centralino consegnato e collaudato con chiamate generate nel dialplan.
  2. PMI con reception Consegnato

    Il messaggio notturno che si sentiva di giorno

    Il problema
    Di giorno chi chiamava sentiva il messaggio della notte.
    Cosa abbiamo fatto
    Abbiamo confrontato 31 backup giornalieri del centralino: 84 moduli su 88 identici, una sola modifica rilevante, con la sua data.
    Risultato
    Modifica individuata e annullata.
  3. PMI con dieci interni Consegnato

    Uscite bloccate da una rotta senza trunk

    Il problema
    Su un centralino nuovo le chiamate in uscita non partivano.
    Cosa abbiamo fatto
    La rotta creata dalla procedura guidata non aveva un trunk associato: corretta via API. La diagnosi SIP si è fatta con tcpdump dall’hypervisor, perché l’accesso diretto al centralino era spento.
    Risultato
    Centralino in servizio con coda, orari e messaggio notturno.

Cisco Unified CM, gateway e DECT

Lavoriamo su Cisco Unified CM attraverso AXL e PerfMon e lo integriamo con Asterisk e FreePBX con trunk SIP e dialplan. Modifichiamo l’instradamento su federazioni e gateway Innovaphone e scriviamo strumenti di lettura per i gateway IP-DECT.

Tecnologie e prodotti

  • Cisco Unified CM (AXL, PerfMon)
  • Trunk SIP e FreePBX
  • Innovaphone
  • Ascom IP-DECT
  • Python

Esempi

  1. Contact center della distribuzione In esercizio

    Telefono fisico e interno virtuale, senza pensarci

    Il problema
    Gli operatori avevano un telefono Cisco sulla scrivania e un interno virtuale sulla piattaforma: le chiamate dovevano arrivare al posto giusto.
    Cosa abbiamo fatto
    Al login la barra imposta via AXL l’inoltro di tutte le chiamate all’interno virtuale e lo toglie al logout, con un recupero automatico dopo un’eventuale chiusura anomala.
    Risultato
    Inoltri sempre coerenti con lo stato dell’operatore.
  2. Gruppo con più sedi Consegnato

    Numeri principali spostati in una federazione di centralini

    Il problema
    I numeri principali di due sedi dovevano arrivare al centralino della sede principale.
    Cosa abbiamo fatto
    Modificate le mappe di instradamento in ingresso, con le vecchie regole come ripiego, configurazioni salvate prima e dopo e ritorno indietro documentato.
    Risultato
    Provato e funzionante.

Integrazioni CTI con gestionali e help desk

Colleghiamo gli eventi telefonici ai sistemi aziendali: scheda del cliente alla risposta, apertura di ticket, esiti della chiamata registrati a database, eventi da piattaforme di contact center esterne.

Tecnologie e prodotti

  • HTTP e SOAP
  • SQL Server
  • Electron
  • .NET 8 e WebView2
  • Flask-SocketIO

Esempi

  1. Call center di prenotazioni sanitarie Consegnato

    Gli esiti delle chiamate, registrati alla fine di ognuna

    Il problema
    La finestra di fine chiamata, scritta anni prima, andava rifatta.
    Cosa abbiamo fatto
    Riscritta da C# WinForms a Electron: mostra il contatto dalla rubrica (circa 8.300 voci), registra uno di sette esiti in SQL Server con query parametrizzate e si aggiorna da sola.
    Risultato
    Collaudata sul database reale.
  2. Contact center della distribuzione In esercizio

    La scheda del cliente alla risposta

    Il problema
    La scheda del cliente nel gestionale e nell’help desk non si apriva dopo la presa di una chiamata dalla coda.
    Cosa abbiamo fatto
    Corretto il difetto e aggiunti il codice dell’operatore e il filtro delle chiamate interne; verifica dal vivo.
    Risultato
    La scheda si apre alla risposta e alla presa dalla coda.

Report e misure di contact center

Rielaboriamo cruscotti e dettagli delle chiamate in report affidabili e in tabelle «una riga per chiamata» costruite da più fonti, documentandone le trappole: fusi orari, rotazione dei log, giorni di carico ridotto.

Tecnologie e prodotti

  • Excel e CSV
  • MariaDB e SQL Server
  • Python

Un esempio

  1. Gruppo con più società Consegnato

    Livello di servizio pesato sui volumi veri

    Il problema
    I cruscotti giornalieri per coda non davano una misura mensile affidabile.
    Cosa abbiamo fatto
    132 cruscotti giornalieri, da ottobre 2025 a febbraio 2026, rielaborati in un report mensile di chiamate servite e livello di servizio pesato sul volume.
    Risultato
    Un report mensile su decine di migliaia di chiamate al mese, ripetibile.

Presenza e comunicazioni unificate Microsoft

Amministriamo Skype for Business Server e la coesistenza con Teams; leggiamo e scriviamo la presenza di Teams attraverso Microsoft Graph.

Tecnologie e prodotti

  • Skype for Business Server 2019
  • Microsoft Teams
  • Microsoft Graph ed Entra ID
  • PowerShell

Esempi

  1. Organizzazione con oltre mille utenti Consegnato

    Popup di autenticazione a ogni ricerca, eliminati

    Il problema
    A ogni ricerca di un contatto comparivano richieste di autenticazione, e un utente non riusciva ad accedere.
    Cosa abbiamo fatto
    L’accesso era bloccato da un attributo mancante in Active Directory; i popup venivano dall’autenticazione OAuth del server e dalle foto lette da Exchange Online.
    Risultato
    Accesso e ricerche senza interruzioni; documentata anche la scelta di non ricostruire un’integrazione basata su tecnologia ritirata.
  2. Organizzazione con oltre mille utenti Consegnato

    Federazione con l'esterno sbloccata

    Il problema
    Alcuni utenti non riuscivano a comunicare con organizzazioni esterne in Teams.
    Cosa abbiamo fatto
    Abbiamo individuato la causa nella modalità di coesistenza fra Skype for Business e Teams.
    Risultato
    Due utenti portati alla modalità solo Teams, con un aggiramento documentato.

Messaggi vocali e fuori orario

Produciamo i messaggi dei centralini con sintesi vocale neurale, scritti per la linea telefonica a 8 kHz, e progettiamo la risposta automatica a centralino chiuso tenendo insieme tecnica, dimensionamento delle linee e regole (AI Act e GDPR).

Tecnologie e prodotti

  • Sintesi vocale neurale
  • Asterisk (AudioSocket, ARI)
  • Erlang B

Un esempio

  1. Servizio di assistenza aperto 49 ore a settimana Studio

    Le sette strade per il fuori orario

    Il problema
    Il servizio era chiuso 119 ore su 168 e le chiamate fuori orario andavano perse.
    Cosa abbiamo fatto
    Sette opzioni messe a confronto, dalla segreteria trascritta all’IVR collegato al gestionale fino all’assistente vocale con IA: budget di latenza di 800 ms, linee dimensionate con Erlang B, obblighi di trasparenza dell’AI Act e del GDPR.
    Dove siamo arrivati
    Studio consegnato come proposta.

Raccontateci il problema

Una rete da rimettere in ordine, un incidente da gestire, dati da far parlare: la prima conversazione serve a capire se e come possiamo essere utili.