Guida

Grandstream UCM e agente vocale AI: trunk SIP

Come collegare un centralino Grandstream UCM6300 all'agente vocale AI di Aptiva: Register SIP Trunk su TLS con SRTP, Inbound Route «By DID» per i trasferimenti agli interni, Outbound Route verso l'agente, Fail2ban e Geo-IP, errori tipici dell'UCM.

Redazione Aptiva17 min di lettura

In breve

  • Un Grandstream UCM6300 si collega all'agente vocale AI di Aptiva con un Register SIP Trunk su TLS con audio cifrato SRTP: il centralino si registra da noi con le credenziali che emettiamo, senza aprire porte né avere un IP statico.
  • I trasferimenti dell'agente arrivano sull'UCM come nuove chiamate sul trunk, con il numero dell'interno come numero chiamato: li accoglie una Inbound Route con Default Destination «By DID», un pattern che elenca solo gli interni e «Dial Trunk» disattivato.
  • Le chiamate verso l'agente partono da una Outbound Route dedicata al trunk Aptiva, raggiunta come «External Number» dalla Inbound Route del tuo operatore, da una Time Condition, da un tasto dell'IVR o dalla destinazione di Max Wait Time di una Call Queue.
  • Sull'UCM le chiamate SRTP simultanee sono meno di quelle in chiaro (50 su 75 per un UCM6301): tienilo presente nel dimensionamento. L'indirizzo Aptiva va nella Allowlist di Fail2ban e, se usi il filtro Geo-IP, il suo Paese va ammesso.

Un Grandstream UCM6300 si collega all'agente vocale AI di Aptiva con un Register SIP Trunk su TLS con audio cifrato SRTP: il centralino si registra da noi con le credenziali che emettiamo, tieni il tuo numero e il tuo centralino, e non devi aprire porte né avere un IP statico. Le chiamate che decidi di affidare all'agente escono su una Outbound Route dedicata; quando l'agente trasferisce a un interno, la chiamata rientra sul trunk e una Inbound Route «By DID» la porta all'interno giusto, con il numero del chiamante originale sul display.

Questa guida copre solo ciò che è proprio dell'UCM: menu, campi, vincoli di capacità e protezioni. Requisiti, credenziali e problemi comuni a tutti i centralini stanno nella guida generale al collegamento del centralino.

Perché su Grandstream UCM usiamo SIP su TLS#

Su Grandstream UCM il collegamento ad Aptiva si fa in SIP su TLS con SRTP, anche se l'UCM6300 supporta ancora IAX2. Il motivo è semplice: il manuale UCM630x documenta i trunk IAX («Register IAX Trunk» e «Peer IAX Trunk», con le impostazioni globali in PBX Settings → IAX Settings), ma non descrive la cifratura del traffico IAX2, e Aptiva accetta solo collegamenti cifrati. Per il SIP, invece, Transport TLS e SRTP sono documentati campo per campo. Se il tuo caso richiede IAX2, scrivici: lo verifichiamo insieme.

Per dimensionare, tieni presente che sull'UCM le chiamate SRTP simultanee sono meno di quelle in chiaro. Il manuale UCM630x le riporta per modello:

ModelloChiamate simultanee G.711Di cui con SRTP
UCM63017550
UCM6302150100
UCM6304300200
UCM6308450300

Come stima prudente: una chiamata affidata all'agente occupa due chiamate sull'UCM mentre il chiamante parla con l'agente (quella dal tuo operatore e quella verso Aptiva) e tre durante la conversazione trasferita, quando si aggiunge la chiamata di ritorno verso l'interno. Sul solo trunk Aptiva sono una e, durante il trasferimento, due: sono queste a rientrare nella quota SRTP. Per uno studio o una PMI il margine è ampio; per un contact center conviene fare due conti.

Prima di iniziare#

Istruzioni scritte sulla documentazione ufficiale di Grandstream UCM6300, firmware 1.0.33.42. Se la tua interfaccia è diversa, scrivici: ti aiutiamo noi. La Web UI dell'UCM esiste anche in italiano; le etichette di questa guida sono quelle della documentazione Grandstream, in inglese: se la tua interfaccia è in italiano, fai riferimento alla funzione descritta.

Ti servono:

  • le credenziali del collegamento emesse da Aptiva (utente, password, server, porta e l'indirizzo da autorizzare), da richiedere come descritto nella guida generale: indica «SIP», il modello di UCM e il firmware, il numero da collegare e gli interni o gruppi a cui l'agente dovrà trasferire. Copia server e porta dal foglio di configurazione, senza fidarti dei valori predefiniti dell'UCM;
  • il TLS abilitato sull'UCM: in PBX Settings → SIP Settings → TCP/TLS la voce «TLS Enable» è attiva di default; controlla che nessuno l'abbia spenta. Nella stessa pagina, «TLS Do Not Verify» vale Yes di default, cioè l'UCM non verifica il certificato del server a cui si collega, e il collegamento funziona così. Se preferisci che lo verifichi, imposta «TLS Do Not Verify» a No: il nostro certificato è pubblico, emesso da Let's Encrypt e rinnovato automaticamente ogni pochi mesi, e se l'UCM chiede una CA carica in «TLS Self-Signed CA» la radice ISRG Root X1, non il certificato del server, che cambierebbe al primo rinnovo;
  • l'accesso alla Web UI come amministratore e la possibilità di fare «Apply Changes» in una finestra tranquilla.

Nelle istruzioni i valori del foglio di configurazione compaiono come <UTENTE>, <PASSWORD>, <SERVER>, <PORTA> e <INDIRIZZO_APTIVA>.

Creare il trunk SIP verso Aptiva#

Il trunk verso Aptiva è un Register SIP Trunk, il tipo con cui l'UCM si registra presso il provider: si crea da Extension/Trunk → VoIP Trunks → «+ Add SIP Trunk», poi «Save» e «Apply Changes». La scheda base:

CampoValoreNote
Provider NameAptivaÈ il nome che sceglierai nelle rotte
Host Name<SERVER>Il manuale lo descrive come «IP address or URL» del server. Server e porta vanno copiati dal foglio di configurazione, senza fidarti dei valori predefiniti: se la tua versione mostra un campo separato per la porta, mettici <PORTA>; altrimenti prova la forma <SERVER>:<PORTA> in questo campo
TransportTLSDi default è UDP. Richiede «TLS Enable» attivo nelle impostazioni globali (vedi sopra)
SIP URI Scheme When Using TLSSIPCompare quando Transport è TLS; per il collegamento imposta SIP
Need RegistrationattivoDi default è disattivato: è la prima causa di trunk non registrato
Username<UTENTE>
Password<PASSWORD>
Auth ID<UTENTE>Stesso valore dello Username
Keep Original CIDattivoQuando una chiamata entrata dal tuo operatore viene mandata all'agente, l'UCM conserva il numero di chi chiama
From User, From DomainvuotiSovrascrivono il From: compilati, il numero del chiamante viene sostituito e, se il valore non è un numero di telefono, Aptiva rifiuta la chiamata
Auth TrunkdisattivoLascialo disattivato
NATdisattivoServe quando è l'UCM ad avere l'IP pubblico e i telefoni sono dietro NAT, non in questo scenario

Nella scheda Advanced Settings dello stesso trunk:

CampoValoreNote
Codec PreferencePCMA, poi PCMU; tutto il resto esclusoG.711 A-law e μ-law sono gli unici codec del collegamento; A-law per primo in Italia. Perché non Opus o G.722 lo spiega la guida generale, sezione Codec G.711 e perché non Opus
SRTPEnabled and EnforcedDi default è Disabled. Non scegliere Optional: con la cifratura opzionale la chiamata fallisce, perché sul collegamento non esiste un ripiego in chiaro. «SRTP Crypto Suite» resta sul valore predefinito
DID ModeRequest-line (default)Da qui l'UCM legge il numero chiamato dei trasferimenti; Aptiva mette l'interno sia nella Request-line sia nel To, quindi il default va bene
Enable Heartbeat Detectionattivo, Heartbeat Frequency 60 s (default)Manda OPTIONS periodici: lo stato del trunk nell'elenco VoIP Trunks resta affidabile
Send PPI Header, Send PAI Header, Send Anonymousdisattivi (default)Non servono al collegamento

Dopo «Apply Changes», in Extension/Trunk → VoIP Trunks lo stato del trunk Aptiva deve essere Registered. Se non lo è, i controlli sono nella sezione sui problemi tipici.

Rotta in entrata «By DID»: far arrivare i trasferimenti agli interni#

I trasferimenti dell'agente arrivano sull'UCM come nuove chiamate sul trunk Aptiva, con il numero dell'interno o del gruppo come numero chiamato: non usiamo SIP REFER, quindi il trasferimento funziona anche dove il REFER dal trunk non è accettato. Il trunk deve perciò accettare anche le chiamate che arrivano da Aptiva: di norma l'UCM le associa al trunk dall'indirizzo del server a cui è registrato e le consegna alle Inbound Route di quel trunk. Per accoglierle serve una Inbound Route sul trunk Aptiva con Default Destination «By DID».

Da Extension/Trunk → Inbound Routes, seleziona il trunk Aptiva e premi «+ Add»:

CampoValoreNote
TrunksAptiva
Inbound Route NameAptiva trasferimenti
Inbound Number Matching Patterngli interni e i gruppi in rubrica, uno per riga (es. _201, _205, _30X)Ogni pattern inizia con _; poi X (0-9), Z (1-9), N (2-9), […], . (una o più cifre), ! (zero o più). Evita _X., che aprirebbe la route a qualunque numero
CallerID PatternvuotoSe lo compili deve corrispondere anche lui, altrimenti la chiamata non passa; qui non serve
Default DestinationBy DID
Allowed DID DestinationExtensionAggiungi Ring Group o Call Queue solo se in rubrica ci sono gruppi o code
Dial TrunkdisattivoCompare solo con «By DID». Se attivo, chi entra dal trunk potrebbe chiamare fuori con i trunk dell'UCM: non serve al collegamento
Strip, Prepend0 e vuotoAptiva compone esattamente l'interno di rubrica
Prepend Trunk Namea sceltaMette «Aptiva» davanti al nome del chiamante sul display: utile per riconoscere le chiamate presentate dall'agente

Il numero sul display di chi risponde è quello del chiamante originale: l'UCM lo riceve da Aptiva e lo mostra così com'è, salvo che «Set Caller ID Info» o «CID Source» sulla stessa route lo riscrivano.

Con «Dial Trunk» disattivato e un pattern che elenca solo gli interni ammessi, le chiamate che arrivano dal trunk Aptiva raggiungono soltanto quegli interni, mai le rotte in uscita: è la stessa regola che si usa con qualunque operatore.

Un vantaggio dell'UCM: le Inbound Route sono per trunk. La route «By DID» sul trunk Aptiva vede solo le chiamate che arrivano da Aptiva, e le chiamate del tuo operatore hanno le loro route sul suo trunk. Una regola «tutte le chiamate → agente» sul trunk dell'operatore non intercetta quindi i trasferimenti. Cosa succede tra la richiesta di trasferimento e la risposta dell'interno lo racconta la guida sul trasferimento assistito.

Quando aggiungi una voce alla rubrica dell'agente, ricordati di aggiungere il numero al pattern: senza una route che corrisponda, la chiamata di ritorno viene rifiutata. Due attenzioni sugli interni e i gruppi che metti in rubrica:

  • Segreteria e Follow Me contano come risposta. Se sull'interno scatta la casella vocale o un inoltro prima della fine del tempo di squillo dell'agente, per l'agente «ha risposto qualcuno»: fa la presentazione alla segreteria ed esce. Tieni il tempo di squillo dell'agente (predefinito 30 secondi) più corto di quello della segreteria o del Follow Me dell'interno.
  • Un Ring Group o una Call Queue in rubrica non deve avere l'agente come destinazione di mancata risposta, né direttamente né attraverso un IVR: per il Ring Group la Default Destination, per la Call Queue sia la Destination di Max Wait Time sia la Failover Destination. Il trasferimento tornerebbe all'agente, che presenterebbe la chiamata a un'altra sessione dell'agente. Se ti servono entrambi i ruoli, usa gruppi distinti.

Rotta in uscita: mandare le chiamate all'agente#

Le chiamate verso l'agente escono dall'UCM su una Outbound Route dedicata al trunk Aptiva. Il numero composto non è vincolante — la chiamata arriva comunque al tuo agente — quindi puoi scegliere un numero breve comodo da usare nelle regole, per esempio 8800.

Da Extension/Trunk → Outbound Routes → «+ Add»:

CampoValoreNote
Outbound Rule NameAptiva
Outbound Number Matching Pattern_88X.Copre 8800 e simili; scegli un prefisso che non collida con interni e numerazione nazionale
Privilege LevelInternalÈ il livello più basso, così la rotta è usabile anche dalle destinazioni «External Number» di rotte, IVR e code, non solo dagli interni. La UI mostra un avviso sul livello Internal: questa rotta raggiunge solo Aptiva, che a sua volta raggiunge solo il tuo agente
Main Trunk → TrunkAptivaStrip 0, Prepend vuoto
Failover TrunknessunoUn failover verso l'operatore manderebbe 8800 sulla rete pubblica
Enable Source Caller ID AllowlistdisattivoSe attivo limita la rotta agli interni e ai gruppi scelti e disattiva il Privilege Level: qui la rotta deve servire anche le destinazioni «External Number»
Outbound Route CIDvuotoSostituirebbe il numero del chiamante

Se con il pulsante Outgoing Routing Priority, nella pagina Outbound Routes, è impostato «List Sorting Priority», metti la rotta Aptiva sopra la rotta generica verso l'operatore; con «Accuracy First» vince il pattern più specifico e la posizione non conta.

Con la rotta pronta, decidi quali chiamate affidare all'agente:

  • Tutte le chiamate in entrata. Sulla Inbound Route del trunk del tuo operatore imposta Default Destination = External Number con numero 8800. Oggi l'agente non gestisce le chiamate con numero nascosto (vengono rifiutate e dal centralino risultano occupato): instradale altrove, per esempio a un interno o alla casella vocale.
  • Solo fuori orario. La stessa Inbound Route ha una Time Condition: nelle fasce chiuse la Destination è External Number 8800, nelle altre la destinazione di sempre.
  • Quando nessuno risponde. Per una Call Queue la leva è Max Wait Time (default 60 secondi) con la sua Destination: è lì che va la chiamata quando gli operatori sono collegati ma non rispondono. La Failover Destination, che offre External Number, scatta invece solo con la coda vuota o con nessun agente collegato: impostala anch'essa su 8800, ma non basta da sola. Il manuale non elenca le destinazioni ammesse per Max Wait Time: se nella tua versione non compare External Number, fai puntare la Destination a un IVR il cui timeout porta a 8800. Il Ring Group non offre External Number come destinazione di mancata risposta: fai puntare la sua destinazione a un IVR o a una Call Queue da cui si arriva a 8800, oppure usa un interno con Follow Me verso 8800, tenendo «Use Callee DOD for Follow Me» disattivato perché il numero del chiamante non venga sostituito dal DOD dell'interno.
  • Da un tasto del menu vocale. In Basic Call Features → IVR, la destinazione del tasto (Key Pressing Events, standard o custom) offre External Number: impostala su 8800. Lascia disattivato «Dial External Number» nella sezione Dial Other Extensions (nelle versioni precedenti si chiamava «Dial Trunk»): non serve al collegamento e permetterebbe a chi chiama di comporre numeri esterni dall'IVR.

Le stesse scelte, viste dal lato dell'agente, sono descritte nella guida generale. Un interno che chiama direttamente l'agente è disponibile su richiesta.

Chiamate in uscita dell'agente#

L'agente vocale AI può anche chiamare i tuoi contatti, per campagne e richiami, mostrando il numero dell'azienda: la chiamata passa dal tuo UCM e da lì al tuo operatore. Sul centralino serve una rotta che lasci uscire solo cellulari, fissi e VoIP italiani (e i numeri verdi, se ti servono), con numero e nome dell'azienda come identificativo, e che limiti le chiamate contemporanee ai canali che il tuo operatore concede. La configurazione la verifichiamo insieme, su richiesta, sulla tua versione del firmware: scrivici. Il quadro generale è nella guida al collegamento, sezione Chiamate in uscita dal tuo numero.

Sicurezza sull'UCM: Fail2ban e Geo-IP#

Sul fronte della sicurezza il collegamento chiede poco. È il tuo UCM a collegarsi ad Aptiva, quindi non c'è nessuna porta da aprire; segnalazione e audio viaggiano cifrati, con SIP su TLS e SRTP; le credenziali le rilasciamo noi e, al minimo dubbio, le rigeneriamo; con «Dial Trunk» disattivato e il pattern stretto sulla Inbound Route, le chiamate dal trunk Aptiva raggiungono solo gli interni previsti. Verso Aptiva si usa solo TLS: i trasporti SIP in chiaro, UDP e TCP, non devono essere raggiungibili da Internet. Sull'UCM le impostazioni da curare stanno tutte in System Settings → Security Settings.

  • Fail2ban Allowlist. Fail2ban è attivo di default e le sue difese (SIP Defense, Login Attack Defense) bloccano per la «Banned Duration» gli indirizzi che superano «Max Retries». Inserisci <INDIRIZZO_APTIVA> nella Fail2ban Allowlist, che accetta IP, CIDR o host DNS: da quell'indirizzo arrivano i trasferimenti e i controlli del trunk, e un blocco li farebbe fallire.
  • Country/Region IP Defense (Geo-IP). Se usi il filtro geografico, ammetti il Paese dell'indirizzo Aptiva. In modalità Strict il traffico dei Paesi bloccati viene scartato senza alcuna risposta, in modalità Non-Strict viene rifiutato con una risposta di errore: in entrambi i casi il trunk non funziona, e la Allowlist di Fail2ban esenta dal ban di Fail2ban, non dal filtro geografico.

Se nella Static Defense hai regole personalizzate REJECT o DROP generiche, aggiungi una regola ACCEPT per <INDIRIZZO_APTIVA>; se hai attivato la Dynamic Defense (disattivata di default, disponibile con LAN mode «Route»), mettilo nella sua Dynamic Defense Whitelist. Il quadro completo è nella guida generale, sezione Sicurezza del collegamento.

Problemi tipici su Grandstream UCM#

I sintomi comuni a tutti i centralini — audio a senso unico, chiamata che cade con la cifratura, interno sbagliato — sono spiegati per sintomo nei problemi comuni della guida generale. Qui ci sono i controlli propri dell'UCM.

Il trunk non risulta «Registered» in VoIP Trunks. Nell'ordine: «Need Registration» attivo; server e porta del foglio di configurazione in Host Name e, se la tua versione lo mostra, nel campo separato della porta; Transport TLS e «TLS Enable» acceso in PBX Settings → SIP Settings → TCP/TLS; Username e Password identici al foglio di configurazione.

Il trunk non si registra e non c'è nemmeno un errore. Controlla la Country/Region IP Defense in modalità Strict: scarta il traffico senza rispondere, prima di Fail2ban. Poi la Blocklist di Fail2ban: se il nostro indirizzo è finito lì, rimuovilo e aggiungilo alla Allowlist.

Il trunk è registrato ma la chiamata verso l'agente cade subito. Quasi sempre SRTP diverso da «Enabled and Enforced» (con Disabled o Optional la chiamata fallisce), oppure un codec diverso da PCMA/PCMU in testa alla Codec Preference. Se il chiamante arriva con il numero del trunk invece del proprio, controlla che «From User» sia vuoto e «Keep Original CID» attivo.

La chiamata arriva all'agente, ma il trasferimento non squilla. Verifica che l'interno sia nel pattern della Inbound Route del trunk Aptiva, che Default Destination sia «By DID» con Allowed DID Destination che includa il tipo di destinazione (Extension, Ring Group o Call Queue), e che «CallerID Pattern» sia vuoto. Se il trasferimento viene rifiutato prima di arrivare alla route, lo vedi nel Syslog (Maintenance → Syslog) come risposta 401, 403 o 404: in quel caso controlla che il trunk sia registrato e che nulla blocchi l'indirizzo Aptiva, perché è dall'indirizzo del server che l'UCM riconosce le chiamate come provenienti dal trunk.

Squilla, ma sul display non c'è il numero del chiamante. Guarda «Set Caller ID Info» e «CID Source» sulla Inbound Route: sono i due campi che riscrivono l'identità in entrata.

Audio a senso unico dopo il trasferimento. Sull'UCM dietro NAT la leva è in PBX Settings → SIP Settings → NAT: «External Host» con il tuo IP pubblico o DDNS, «Use IP address in SDP» attivo e «Local Network Address» con le tue subnet interne. La casella «NAT» del trunk non è la soluzione in questo scenario.

Per vedere cosa succede davvero. Maintenance → Network Troubleshooting → Ethernet Capture produce una cattura .pcap da leggere con Wireshark: il campo «TLS Key» permette di decifrare la segnalazione TLS (la cattura deve contenere l'handshake) e la casella «Enable SRTP Debugging» serve per le chiamate cifrate. Affianca il Syslog (Maintenance → Syslog). La voce «Signaling Troubleshooting» riguarda le porte analogiche (FXO/FXS) e non serve per il SIP.

Quanto costa e passi successivi#

Il collegamento non ha costi di attivazione. Il tempo in cui l'agente è attivo costa 1 credito al minuto e, dal momento in cui il trasferimento è attivo, la conversazione fra le due persone costa 0,25 crediti al minuto. Dettagli nella guida generale e nella pagina Prezzi.

Per procedere:

  1. Richiedi le credenziali indicando «SIP», il modello di UCM e il firmware, il numero da collegare e gli interni o gruppi a cui trasferire.
  2. Rileggi la guida generale al collegamento per requisiti e sicurezza, e la guida sul trasferimento assistito per scrivere la presentazione che l'agente farà a chi risponde e il messaggio di mancata risposta (impostalo sempre: è ciò che fa riprendere la conversazione con il chiamante quando nessuno risponde).
  3. Se preferisci partire senza toccare l'UCM, la modalità con numero Aptiva e deviazione di chiamata è descritta nella pagina Centralino AI.

Fonti

  1. 1.Grandstream — UCM630x Series User Manual (aggiornato 10/09/2026)
  2. 2.Grandstream — Release Notes UCM63xx 1.0.33.42 (14/08/2026)
  3. 3.Grandstream — UCM6xxx SIP Trunks Guide
  4. 4.Grandstream — How to Manage Inbound/Outbound Routes
  5. 5.Grandstream — How to Manage Permission & Privilege Level
  6. 6.Grandstream — UCM6xxx Security Manual (12/03/2026)
  7. 7.Grandstream — UCM Remote Extensions Guide (impostazioni NAT)
  8. 8.Grandstream — Datasheet UCM6300 Series in italiano (6.2026)
  9. 9.Grandstream — UCM6300 Series FAQ
  10. 10.IETF — RFC 3711, The Secure Real-time Transport Protocol (SRTP)
Ap

A cura di Redazione Aptiva

Costruiamo e gestiamo in casa la piattaforma di agenti vocali AI di Aptiva: queste guide nascono dall'esperienza diretta sul prodotto e sulle chiamate reali dei clienti.

Domande frequenti

Le risposte in breve

L'UCM6300 ha ancora i trunk IAX (Register IAX Trunk e Peer IAX Trunk), ma la documentazione ufficiale non descrive la cifratura del traffico IAX2 sull'UCM. Poiché Aptiva accetta solo collegamenti cifrati, su Grandstream consigliamo SIP su TLS con SRTP, che la documentazione copre per intero.

Vuoi vederlo sul tuo flusso di chiamate?

Attiva il tuo agente vocale AI e provalo con meno di 10€, senza vincoli.