- Inizio
- Competenze
- 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
-
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.
-
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
-
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%.
-
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
-
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.
-
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
-
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.
-
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.
-
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
-
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).
-
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
-
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.
-
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.
-
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
-
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.
-
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
-
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.
-
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
-
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
-
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.
-
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
-
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.