# Centralino con agente AI: 5 soluzioni provate, costi al minuto, latenze e linea fissa WindTre > Fonte: https://francescogruner.it/centralino-ai-agente-vocale/ Un **centralino AI** è un centralino telefonico normale a cui è stato aggiunto un collega in più: un agente che risponde a voce, capisce cosa gli chiedi e, se serve, ti passa a una persona. Non devi cambiare numero, non devi cambiare telefoni e, quasi sempre, non devi nemmeno cambiare centralino. Nelle ultime settimane ho collegato lo stesso agente al mio centralino in **cinque modi diversi**, dal più semplice (ElevenLabs) al più «fatto in casa» (trascrizione, modello e voce separati, su server Microsoft in Italia). Poi l’ho portato anche sulla **linea fissa WindTre di casa**. Qui trovi cosa cambia tra le soluzioni, quanto costano al minuto, quanto ci mettono a rispondere e come si collega il tutto a un centralino che hai già. Indice dei contenuti [Toggle](#) - [Cosa fa un agente vocale, in tre mosse](#Cosa_fa_un_agente_vocale_in_tre_mosse) - [Le cinque soluzioni che ho provato](#Le_cinque_soluzioni_che_ho_provato) - [Quanto costa un minuto di telefonata](#Quanto_costa_un_minuto_di_telefonata) - [Dove vanno i soldi](#Dove_vanno_i_soldi) - [Quanto fa al mese](#Quanto_fa_al_mese) - [Quanto ci mette a rispondere: le latenze misurate](#Quanto_ci_mette_a_rispondere_le_latenze_misurate) - [Come si collega l’agente al centralino](#Come_si_collega_lagente_al_centralino) - [Come linea: il centralino chiama l’agente](#Come_linea_il_centralino_chiama_lagente) - [Come interno: l’agente si registra come un telefono](#Come_interno_lagente_si_registra_come_un_telefono) - [La linea fissa WindTre di casa, e come ci sono arrivato](#La_linea_fissa_WindTre_di_casa_e_come_ci_sono_arrivato) - [I parametri: dal router, tranne uno](#I_parametri_dal_router_tranne_uno) - [Il vincolo che non ti dicono: funziona solo da dentro la linea](#Il_vincolo_che_non_ti_dicono_funziona_solo_da_dentro_la_linea) - [La soluzione: un centralino piccolo in casa, uno in cloud](#La_soluzione_un_centralino_piccolo_in_casa_uno_in_cloud) - [Chi chiama chi](#Chi_chiama_chi) - [Sette inciampi che ti risparmio](#Sette_inciampi_che_ti_risparmio) - [Privacy: cosa guardare prima di metterlo in produzione](#Privacy_cosa_guardare_prima_di_metterlo_in_produzione) - [Quale scegliere](#Quale_scegliere) - [Il video: costruirne uno da zero con ChatGPT ed ElevenLabs](#Il_video_costruirne_uno_da_zero_con_ChatGPT_ed_ElevenLabs) - [Domande frequenti](#Domande_frequenti) - [Fonti e riferimenti](#Fonti_e_riferimenti) ## Cosa fa un agente vocale, in tre mosse Al telefono un’AI deve fare tre cose, una dopo l’altra: **ascoltare** (trasformare la tua voce in testo), **pensare** (decidere cosa rispondere, magari consultando un gestionale o un catalogo) e **parlare** (trasformare la risposta in voce). Più queste tre mosse sono veloci, più la conversazione sembra naturale. [![Schema: telefono, centralino e intelligenza artificiale che ascolta, pensa e parla](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-come-parla.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-come-parla.webp)Il telefono parla con il centralino, il centralino passa la voce all’AI. Tutto il resto dell’articolo è una variazione su questo schema. Le differenze tra le soluzioni stanno tutte in **chi fa queste tre mosse**: - **Pipeline «a pezzi»**: tre servizi diversi in fila, uno per ascoltare, uno per pensare, uno per parlare. Scegli tu ogni pezzo e dove gira. - **Modello «realtime»**: un solo modello che riceve audio e risponde con audio, senza passare dal testo. È quello che dà la sensazione più simile a una persona. - **Piattaforma pronta**: un servizio come ElevenLabs che fa tutto e ti dà anche il pannello per configurare l’agente, la voce e gli strumenti. ## Le cinque soluzioni che ho provato Stesso telefono, stesso centralino (Asterisk 20), stesse domande. Cambia solo cosa c’è dietro. [![Quattro modi di costruire un agente vocale: pipeline con Azure Speech e GPT-5.4 mini, ElevenLabs Agents, Realtime con LiveKit, Realtime collegato direttamente](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-quattro-modi.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-quattro-modi.webp)Le quattro architetture. La quinta prova è la variante «mini» dell’ultima. SoluzioneChi ascolta, pensa e parlaDove passano i datiPer chi è **1. Pipeline «a pezzi»**Azure AI Speech per trascrivere (Italia, Milano), `gpt-5.4-mini` su Azure OpenAI per rispondere, voce neurale Azure in italiano. In mezzo, LiveKit Agents.Unione EuropeaChi vuole spendere poco e tenere i dati in Europa, e ha qualcuno che gestisce un server. **2. ElevenLabs Agents**Tutto ElevenLabs: nella mia prova modello Gemini Flash-Lite e voce Eleven Flash v2.5.Stati Uniti (di base)Chi vuole partire in un pomeriggio, con voci molto naturali e un pannello pronto. **3. Realtime con un server in mezzo**`gpt-realtime-2.1` su Azure, voce «marin», collegato tramite LiveKit.Unione Europea (Svezia)Chi vuole la conversazione più fluida e ha bisogno di logica propria sul server. **4. Realtime collegato diretto**Lo stesso modello, ma il centralino lo chiama direttamente via SIP. Un piccolo servizio web accetta la chiamata e sceglie istruzioni e voce.Unione Europea (Svezia)Chi vuole la soluzione 3 con meno pezzi da mantenere. **5. Realtime «mini» diretto**`gpt-realtime-2.1-mini`, stesso collegamento della 4.Global: i dati possono uscire dall’UEChi guarda prima di tutto al prezzo e non tratta dati delicati. Una nota sulla variante mini: nel listino Azure esiste anche in zona dati europea, ma sulla mia risorsa, il giorno della prova, si poteva attivare solo come «Global». È un dettaglio che cambia nel tempo: controllalo prima di decidere. ## Quanto costa un minuto di telefonata Ho fatto una telefonata di circa due minuti per soluzione, con le stesse domande, e ho letto il costo dove era scritto: nei registri dei token per i modelli realtime, nell’account per ElevenLabs. Per la pipeline non avevo un contatore e l’ho stimata dal listino. [![Grafico del costo per minuto: Realtime mini 0,021 euro, pipeline circa 0,025 euro, ElevenLabs 0,070 dollari, Realtime diretto 0,098 euro, Realtime con server 0,10 euro](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-costo-al-minuto.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-costo-al-minuto.webp)Solo il consumo dell’AI. Sono prove singole, non un test di laboratorio: servono a capire gli ordini di grandezza. SoluzioneDurataCostoAl minutoDa dove viene il dato 5. Realtime mini (Global)129 s0,045 €**0,021 €**registro dei token 1. Pipeline «a pezzi» (UE)122 s≈ 0,05 €**≈ 0,025 €**stima dal listino 2. ElevenLabs124 s0,144 $**0,070 $**account ElevenLabs 4. Realtime diretto (UE)121 s0,198 €**0,098 €**registro dei token 3. Realtime con server (UE)120 s0,207 €**0,10 €**registro dei token ### Dove vanno i soldi Nei modelli realtime si paga a **token**, cioè a pezzetti di audio e di testo. La parte che pesa è la **voce generata**: nella mia chiamata valeva il 72% del conto, contro il 15% dell’audio ascoltato e il 13% del testo. Tradotto: un agente che parla tanto costa di più di uno che va al punto. In ElevenLabs è il contrario di quello che ci si aspetta: il modello linguistico pesava il 4%, il resto è piattaforma e voce. [![Ripartizione del costo di una chiamata e simulazione a 1.000 minuti al mese per le soluzioni provate](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-dove-vanno-i-soldi-1.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-dove-vanno-i-soldi-1.webp)Cosa c’è dentro il costo di una chiamata e quanto fa in un mese da 1.000 minuti. I prezzi di listino che ho usato nei conti, il 14 novembre 2026: - **`gpt-realtime-2.1`, zona dati UE**: 31,60 € per milione di token di audio ascoltato, 63,20 € per l’audio generato, 3,95 € e 23,70 € per il testo in entrata e in uscita. - **`gpt-realtime-2.1-mini`, Global**: 8,98 € e 17,95 € per l’audio, 0,54 € e 2,15 € per il testo. - **Pipeline**: trascrizione Azure circa 0,015 € al minuto, voce neurale circa 0,006 €, modello circa 0,004 €. ### Quanto fa al mese Soluzione300 minuti1.000 minuti3.000 minuti Realtime mini (Global)≈ 6 €≈ 21 €≈ 63 € Pipeline «a pezzi» (UE)≈ 8 €≈ 25 €≈ 75 € ElevenLabs (piano che copre i minuti)≈ 24 $≈ 99 $≈ 299 $ Realtime 2.1 (UE)≈ 30 €≈ 100 €≈ 300 € Per le soluzioni su Azure è il costo al minuto delle mie prove moltiplicato per i minuti. **ElevenLabs invece funziona a piani**: i minuti si comprano con il canone mensile (15 nel piano gratuito, 75 con Starter a 6 $, 275 con Creator a 22 $, 1.238 con Pro a 99 $, 3.738 con Scale a 299 $) e ogni minuto in più costa 0,08 $. Nella tabella ho messo il piano che copre quei minuti: Creator più 25 minuti extra, Pro e Scale. Il modello linguistico si paga a consumo in aggiunta, e nelle mie prove è rimasto sotto il centesimo al minuto. Per questo il conto mensile esce un po’ più alto dei 0,070 $ al minuto letti nell’account durante la prova. **A parte** restano: la linea telefonica (le chiamate si pagano come sempre), il server per le soluzioni che ne hanno bisogno (per le mie prove basta un VPS europeo da 15-30 € al mese) e il tempo di chi lo tiene in ordine. Con pochi minuti al mese, il costo vero non è l’AI: è la manutenzione. ## Quanto ci mette a rispondere: le latenze misurate Al telefono un secondo di silenzio sembra lungo. Per questo ho misurato il tempo che conta davvero per chi chiama: **dalla fine della domanda al primo suono della risposta**. Il centralino ha chiamato da solo ogni agente, gli ha fatto tre domande brevi con una voce registrata («Quanto fa due più due?») e ha registrato l’audio dei due lati. Sul file ho poi misurato il silenzio tra domanda e risposta. [![Grafico delle latenze misurate: Realtime 2.1 diretto 1,74 secondi, Realtime 2.1 con server 1,81 secondi, Realtime mini 1,82 secondi, pipeline 1,89 secondi](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-latenze.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-latenze.webp)Tempi misurati il 14 novembre 2026 sull’audio registrato dal centralino in cloud. SoluzioneMedianaPiù velocePiù lentaMisure 4. Realtime 2.1 collegato diretto (UE)**1,74 s**1,42 s2,32 s6 3. Realtime 2.1 con un server (UE)**1,81 s**1,64 s2,06 s6 5. Realtime mini diretto (Global)**1,82 s**1,46 s2,62 s9 1. Pipeline «a pezzi» (UE)**1,89 s**1,80 s2,20 s6 2. ElevenLabsnon misurata con questo metodo (vedi sotto) Tre cose da leggere in questi numeri. - **Le quattro soluzioni sono vicine**: tra la più rapida e la più lenta ci sono circa 150 millisecondi di mediana, meno di quanto cambia la stessa soluzione da una domanda all’altra (da 1,42 a 2,62 secondi). Sulla velocità, da sola, non sceglierei. - **Dentro quel tempo c’è una pausa voluta**: prima di rispondere l’agente aspetta qualche decimo di secondo per essere sicuro che tu abbia finito di parlare. Accorciarla lo rende più scattante, ma comincia a interromperti. - **La rete pesa poco**: tra il centralino di casa e quello in cloud ci sono circa 20 millisecondi. Nella pipeline, in una prova fatta a parte, il modello iniziava a rispondere dopo circa 0,8 secondi e il primo audio della voce arrivava in circa 0,7. Anche il saluto iniziale ha il suo tempo: dopo la risposta alla chiamata, la prima parola è partita tra 0,4 e 1,4 secondi, con la pipeline più pronta dei modelli realtime. **Cosa manca.** Nelle chiamate automatiche l’agente ElevenLabs ha risposto ma è rimasto in silenzio: la piattaforma le ha registrate come «agente non disponibile», e il mio account di prova era sul piano gratuito da 15 minuti al mese. Quindi qui non ha un numero: lo aggiungo appena ripeto la prova. Inoltre le domande erano semplici: quando l’agente deve consultare un gestionale o un catalogo, ai tempi qui sopra si aggiunge quello dello strumento. E dal cellulare di chi chiama c’è in più la rete telefonica. ## Come si collega l’agente al centralino Questa è la parte che di solito spaventa, ed è più semplice di quanto sembra. Un centralino sa fare due cose: gestire **interni** (i telefoni dei colleghi) e gestire **linee** verso l’esterno, che in gergo si chiamano *trunk SIP*. L’agente AI può entrare da tutte e due le porte. [![Due modi di collegare un agente AI al centralino: come linea trunk SIP oppure come interno tramite un ponte](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-trunk-o-interno.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-trunk-o-interno.webp)Come linea oppure come interno: per chi chiama non cambia niente. ### Come linea: il centralino chiama l’agente È il modo più pulito. Nel centralino crei un trunk SIP che punta al servizio dell’agente e gli assegni un numero interno: chi compone quell’interno, o sceglie una voce del menu, parla con l’AI. È quello che ho fatto su Asterisk con ElevenLabs e con il Realtime di Azure. Con **ElevenLabs** il collegamento ha tre parti: nel loro pannello importi un «numero SIP» (anche inventato, serve solo come indirizzo), autorizzi l’indirizzo del tuo centralino e gli associ l’agente. Nel centralino aggiungi il trunk. Sul mio Asterisk è così, con i segnaposto al posto dei dati veri: ``` ; pjsip.conf - linea verso l'agente ElevenLabs [elevenlabs] type=endpoint transport=transport-tls ; segnalazione cifrata media_encryption=sdes ; audio cifrato (SRTP) disallow=all allow=g722,ulaw,alaw aors=elevenlabs [elevenlabs] type=aor contact=sip:sip.rtc.elevenlabs.io:5061;transport=tls ; extensions.conf - l'interno 500 è l'agente exten => 500,1,Dial(PJSIP/+39NUMERO_SIP@elevenlabs,60) ``` Con il **Realtime via SIP** il principio è lo stesso: il centralino chiama un indirizzo SIP del servizio, e un piccolo programma web (un *webhook*) riceve l’avviso «sta arrivando una chiamata», controlla che sia davvero lui a chiedere e risponde con il modello, la voce e le istruzioni da usare. Niente server audio da mantenere. ### Come interno: l’agente si registra come un telefono Molti centralini in cloud non ti lasciano aggiungere linee esterne a piacere, ma un interno in più lo danno sempre. In quel caso metto in mezzo un piccolo Asterisk che fa da **ponte**: si registra sul centralino con utente e password di un interno, come farebbe un telefono da scrivania, e passa le chiamate all’agente. Per il centralino è un collega qualsiasi: lo puoi mettere in una coda, in un gruppo di risposta o dopo l’orario di chiusura. L’ho fatto così su un centralino **Kalliope** aziendale: l’interno dell’agente ha risposto con l’audio nei due sensi, e ho provato anche i trasferimenti verso un collega e verso una coda. Lo stesso schema l’ho usato su **3CX**. Due cose da sapere prima di cominciare: - Chiedi al gestore del centralino **indirizzo, porta e protocollo** per gli interni che si collegano da fuori: spesso sono diversi da quelli usati in ufficio. - Su 3CX, se preferisci la strada della linea, ElevenLabs indica il **trunk SIP generico**: serve un’installazione dedicata e un indirizzo IP pubblico fisso da autorizzare. CentralinoCome ho collegato l’agenteCosa serve **Asterisk / FreePBX**Come linea (trunk SIP) verso ElevenLabs e verso Azure RealtimeAccesso alla configurazione, TLS, porte audio aperte verso il servizio **Kalliope**Come interno, tramite un Asterisk ponteCredenziali di un interno e parametri di registrazione dal gestore **3CX**Come interno; in alternativa trunk SIP genericoUn interno libero, oppure installazione dedicata con IP fisso ## La linea fissa WindTre di casa, e come ci sono arrivato Fin qui l’agente rispondeva agli interni. Io però volevo usare anche il **numero fisso di casa**, quello che WindTre fornisce insieme alla fibra. Oggi quel numero è una linea VoIP: il «telefono» è dentro il router. Per portarlo su un centralino servono i **parametri della linea** e una cosa che non sta scritta da nessuna parte: da dove ti colleghi. ### I parametri: dal router, tranne uno Quasi tutti i dati erano già nel pannello del router: il dominio, il server a cui registrarsi, il nome utente (che è il numero con il 39 davanti). Mancava solo la **password della linea voce**, che il router non mostra. L’ho chiesta a WindTre: ci sono volute due settimane, ma è arrivata. Non è una cortesia. La [delibera AGCOM 348/18/CONS](https://www.agcom.it/provvedimenti/delibera-348-18-cons), quella del «modem libero», dice che puoi usare apparecchi scelti da te e che l’operatore deve fornirti «le specifiche e tutti i parametri necessari per la corretta configurazione del servizio», senza costi aggiuntivi (articolo 3, comma 3). Vale anche per i servizi in più che viaggiano sulla stessa rete, come la voce (comma 4), e l’operatore non può imporre «ritardi ingiustificati» (articolo 1, comma 3). Se te li negano, cita la delibera. ### Il vincolo che non ti dicono: funziona solo da dentro la linea Con i parametri in mano ho provato a far partire una telefonata dal centralino in cloud. Risposta del server WindTre: `IP association no match, user not registered`. In italiano: «non ti conosco, non arrivi dalla linea giusta». WindTre accetta la registrazione del numero **solo da un dispositivo collegato alla sua stessa linea**, quella di casa. Da un server su Internet, anche con utente e password corretti, non passa. Per questo il centralino (o almeno il pezzo che registra il numero) deve stare **fisicamente in casa**, dietro quel router. C’è una seconda conseguenza: il numero si registra **su un apparecchio per volta**. Se lo registri sul tuo centralino, il telefono attaccato alla presa del router resta senza linea. A me andava bene: un telefono fisso attaccato al muro non lo usavo più. ### La soluzione: un centralino piccolo in casa, uno in cloud [![Schema: rete voce dell'operatore, router di casa, mini PC con centralino, rete privata, centralino in cloud e agente AI](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-linea-fissa-casa-cloud.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-linea-fissa-casa-cloud.webp)Il mini PC in casa tiene registrato il numero. Tutto il resto vive in cloud. In casa ho messo un **mini PC** con Asterisk che fa una cosa sola: tiene registrata la linea fissa. Il centralino vero, con interni e agenti, sta su un server in cloud. Tra i due c’è una **rete privata cifrata** (una VPN): si riconoscono dall’indirizzo privato e nessuna porta del telefono è aperta su Internet. Dal punto di vista del centralino in cloud, la linea di casa è una linea qualsiasi; dal punto di vista di quello di casa, il cloud è un altro centralino a cui passare le chiamate. Questa è la parte del centralino di casa che registra il numero. I valori sono quelli della mia linea: i tuoi li leggi nel router o li chiedi all’operatore. ``` ; pjsip.conf sul mini PC di casa - linea fissa WindTre [linea-fissa-reg] type=registration transport=transport-udp outbound_auth=linea-fissa-auth server_uri=sip:windtre.it client_uri=sip:39NUMERO@windtre.it contact_user=39NUMERO outbound_proxy=sip:voip.windtre.it:5060\;lr expiration=300 retry_interval=60 [linea-fissa-auth] type=auth auth_type=userpass username=39NUMERO password=PASSWORD_DELLA_LINEA ; quella che dà l'operatore [linea-fissa] type=endpoint transport=transport-udp context=da-linea-fissa disallow=all allow=alaw,ulaw outbound_auth=linea-fissa-auth aors=linea-fissa from_user=39NUMERO from_domain=windtre.it outbound_proxy=sip:voip.windtre.it:5060\;lr direct_media=no rtp_symmetric=yes force_rport=yes rewrite_contact=yes send_pai=yes ; il collegamento con il centralino in cloud, sulla rete privata [centralino-cloud] type=endpoint transport=transport-vpn context=dal-cloud disallow=all allow=g722,ulaw,alaw aors=centralino-cloud [centralino-cloud] type=aor contact=sip:INDIRIZZO_PRIVATO:5070 qualify_frequency=60 ``` Quando tutto è a posto, il centralino di casa lo dice chiaramente: [![Terminale di Asterisk: la registrazione verso windtre.it risulta Registered e il collegamento con il centralino in cloud risponde in 20 millisecondi](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-terminale-linea-fissa.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-terminale-linea-fissa.webp)Uscita reale del centralino di casa, accorciata: la linea risulta registrata e il centralino in cloud risponde in circa 20 millisecondi. Numeri e indirizzi sono oscurati. ### Chi chiama chi [![Due flussi: chiamata da un interno verso l'agente AI, e richiamata dell'agente sul cellulare dalla linea fissa](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-chi-chiama-chi.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-chi-chiama-chi.webp)I due percorsi che ho provato davvero. Da un telefono collegato al centralino di casa compongo l’interno dell’agente: la chiamata passa dal mini PC al cloud e l’agente risponde. Il caso più divertente è l’altro: **l’agente che chiama me**. Un comando fa partire dal centralino di casa una telefonata verso il mio cellulare, usando la linea fissa. Quando rispondo, la chiamata viene unita all’agente. Sul cellulare vedo il numero fisso di casa. ``` ; dal centralino di casa: chiama il cellulare dalla linea fissa ; e, alla risposta, collega l'interno dell'agente channel originate PJSIP/NUMERO_CELLULARE@linea-fissa application Dial PJSIP/500@centralino-cloud,60 ``` Le chiamate **in arrivo** sul numero fisso farebbero la stessa strada al contrario. Per ora le ho lasciate chiuse apposta: prima di far rispondere un’AI a chiunque componga il numero di casa voglio decidere bene cosa può dire e a chi. ## Sette inciampi che ti risparmio - **Il router dell’operatore non fa da centralino.** La porta per i telefoni IP, sulla rete di casa, è chiusa: non puoi «attaccarti» al router, devi registrare tu la linea. - **Segnalazione sì, audio no.** La chiamata verso ElevenLabs si collegava ma restava muta finché non ho aperto le porte dell’audio (RTP) sul server. Aprile solo verso gli indirizzi del servizio. - **Il saluto con le variabili.** Il primo messaggio dell’agente conteneva campi come il nome dell’utente, che una chiamata dal centralino non passa: risultato, silenzio. Con un saluto fisso ha parlato subito. - **La voce che parla solo inglese.** Non tutti i modelli di voce conoscono l’italiano: in ElevenLabs serve Flash v2.5, non il v2. - **Asterisk dentro un contenitore senza DNS.** Non riusciva a trovare l’indirizzo del servizio: ho dovuto indicarlo a mano. Se il fornitore cambia indirizzo, la linea cade. - **Il primo squillo muto.** Con il Realtime diretto, la prima chiamata è rimasta in silenzio una ventina di secondi perché l’avviso al mio servizio web è arrivato tardi. Alla seconda, tutto regolare. - **Il server condiviso.** Su un VPS con processore condiviso la pipeline a pezzi rallenta, perché il riconoscimento di quando hai finito di parlare gira sul tuo server. Realtime ed ElevenLabs quasi non se ne accorgono. ## Privacy: cosa guardare prima di metterlo in produzione Un agente al telefono tratta dati personali: come minimo la voce e il numero di chi chiama. Non è un motivo per rinunciare, è un motivo per scegliere con criterio. - **Dillo subito.** Dal 2 agosto 2026 il regolamento europeo sull’AI chiede che chi parla con una macchina lo sappia. Basta una frase all’inizio: «Sono un assistente virtuale». - **Guarda dove finiscono i dati.** Le soluzioni su Azure che ho provato girano in zona dati europea, tranne la variante mini. ElevenLabs di base conserva negli Stati Uniti; la residenza europea è riservata ai piani Enterprise. - **Chiedi solo quello che serve.** Per un negozio o uno studio, nome, numero d’ordine e CAP sono giustificati dal servizio. Scrivilo nell’informativa, insieme ai tempi di conservazione. - **Sanità, servizi critici, finanza.** Non c’è un divieto automatico, ma serve una valutazione specifica con chi segue privacy, NIS2 o DORA, prima e non dopo. Sul metodo ho scritto una guida a parte: [governance dell’AI in azienda](https://francescogruner.it/governance-ai-aziendale/). ## Quale scegliere Se ti serve…Guarda…Perché Partire subito, senza server**ElevenLabs**Pannello pronto, voci molto naturali, widget per il sito e telefono con lo stesso agente. Spendere poco con i dati in Europa**Pipeline «a pezzi»**Circa 2-3 centesimi al minuto, scegli tu regione e modello. In cambio gestisci un server. La conversazione più naturale**Realtime 2.1**Un solo modello da voce a voce. Costa circa quattro volte la pipeline. Il prezzo più basso in assoluto**Realtime mini**Circa 2 centesimi al minuto, ma oggi con i dati fuori dall’UE. Usare il numero fisso di casa o dell’ufficio**Due centralini**Uno piccolo sulla linea dell’operatore, uno in cloud con gli agenti. ## Il video: costruirne uno da zero con ChatGPT ed ElevenLabs Questo articolo racconta il confronto e la parte centralino. La parte pratica più semplice la faccio vedere in video: **si apre ChatGPT, si collega ElevenLabs e si chiede a parole di creare l’agente**. Poi lo metto su un sito con il widget e gli insegno a usare un negozio online di prova: cerca i prodotti, controlla taglie e disponibilità, legge lo stato di un ordine e aggiunge al carrello, sempre chiedendo conferma. [![Negozio online dimostrativo con il widget dell'agente vocale in basso a destra](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-negozio-widget.webp)](https://francescogruner.it/wp-content/uploads/2026/11/centralino-ai-negozio-widget.webp)Il negozio dimostrativo del video: prodotti e ordini sono inventati, l’agente in basso a destra è vero. Lo stesso agente, una volta creato, si collega al centralino con il trunk SIP che hai visto sopra: sito e telefono, una sola configurazione. Il video esce sul [mio canale YouTube](https://youtube.com/@FrancescoGruner). ## Domande frequenti Quanto costa un centralino AI? Nelle mie prove il consumo dell’AI va da circa 0,02 € a circa 0,10 € per minuto di conversazione, a seconda della soluzione. Con 1.000 minuti al mese sono tra 21 e 100 €. A parte restano la linea telefonica, l’eventuale canone della piattaforma, il server e la manutenzione. Devo cambiare centralino per avere un agente AI? Quasi mai. Se il centralino accetta un trunk SIP, l’agente entra come linea. Se non lo accetta, si può registrare come un interno qualsiasi tramite un piccolo ponte. In entrambi i casi numeri, telefoni e code restano dove sono. Funziona con 3CX, Kalliope, Asterisk e FreePBX? Sì. Su Asterisk e FreePBX si usa un trunk SIP verso il servizio dell’agente. Su Kalliope e 3CX l’ho collegato come interno. Per 3CX, ElevenLabs indica anche il trunk SIP generico, che richiede un’installazione dedicata e un IP pubblico fisso. Posso usare il numero fisso WindTre con il mio centralino? Sì, ma il numero si registra solo da un apparecchio collegato alla linea WindTre stessa: serve un centralino, anche piccolo, in casa o in ufficio. I parametri si leggono nel router; la password della linea voce va chiesta all’operatore, che per la delibera AGCOM 348/18/CONS deve fornirla senza costi. Meglio ElevenLabs o OpenAI Realtime? ElevenLabs è più semplice da mettere in piedi e ha un pannello completo per voce, conoscenze e strumenti. Il Realtime dà una conversazione molto fluida e, su Azure, può restare in zona dati europea, ma va integrato da chi sa mettere mano a un centralino e a un servizio web. Quanto ci mette a rispondere un agente vocale? Misurando l’audio al centralino, dalla fine della domanda all’inizio della risposta passano in mediana tra 1,74 e 1,89 secondi nelle quattro soluzioni misurate, con punte da 1,42 a 2,62. Dentro c’è anche la pausa con cui l’agente si assicura che tu abbia finito di parlare. I dati delle telefonate restano in Europa? Dipende dalla soluzione. La pipeline e il Realtime 2.1 che ho provato su Azure lavorano in zona dati europea. La variante mini era disponibile solo come Global. ElevenLabs, di base, conserva negli Stati Uniti e offre la residenza europea ai piani Enterprise. ## Fonti e riferimenti Costi e tempi sono misure mie del 14 novembre 2026, su prove singole. Le regole e i parametri vengono dalle pagine ufficiali qui sotto. [Norma**AGCOM, delibera 348/18/CONS** Libertà di scelta delle apparecchiature e obbligo di fornire i parametri di configurazione. Apri fonte ↗](https://www.agcom.it/provvedimenti/delibera-348-18-cons) [Documentazione**ElevenLabs, SIP trunking** Come collegare un agente a un centralino con un trunk SIP. Apri fonte ↗](https://elevenlabs.io/docs/eleven-agents/phone-numbers/sip-trunking) [Documentazione**Azure OpenAI, Realtime via SIP** Chiamate SIP dirette al modello realtime e webhook di accettazione. Apri fonte ↗](https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/realtime-audio-sip) [Listino**Prezzi Azure OpenAI** Tariffe a token dei modelli realtime, per zona dati. Apri fonte ↗](https://azure.microsoft.com/en-us/pricing/details/azure-openai/) [Listino**Prezzi ElevenLabs** Piani e minuti inclusi per gli agenti vocali. Apri fonte ↗](https://elevenlabs.io/pricing/agents) [Documentazione**Asterisk, configurare PJSIP** Registrazioni, endpoint e trunk usati negli esempi. Apri fonte ↗](https://docs.asterisk.org/Configuration/Channel-Drivers/SIP/Configuring-res_pjsip/) **Vuoi vederlo costruire passo per passo?** Sul canale YouTube trovi il video con ChatGPT, ElevenLabs e il negozio di prova. [Vai al canale YouTube](https://youtube.com/@FrancescoGruner)