Prerequisiti e provisioning del canale voce
Il canale voce non è un modulo a sé: è costruito sopra Azure Communication Services e va acceso dentro l’ambiente prima di poter fare qualunque altra cosa. Il percorso è Copilot Service admin center > Customer support > Channels > Manage channels: selezioni i canali che ti servono e salvi. Il provisioning gira in background e può richiedere diversi minuti, quindi puoi chiudere la finestra e tornare più tardi; se fallisce, compare un messaggio di errore selezionabile per vedere i dettagli. Per la voce, nella sezione Voice il toggle Add voice va portato su Yes e va spuntata la casella Voice and SMS Terms.
I prerequisiti veri sono tre. Primo, il ruolo Dynamics 365 System Administrator sulla root business unit dell’organizzazione. Secondo, le licenze: se non le hai, le caselle dei canali corrispondenti restano semplicemente disabilitate. Terzo, per gestire il traffico in ingresso serve unified routing provisionato, perché le chiamate vengono distribuite dallo stesso motore che assegna le chat.
C’è poi un vincolo geografico che si dimentica facilmente. La doc è esplicita: il tenant Microsoft 365 deve essere collocato in una delle geografie supportate, e quella geografia si riferisce al tenant Microsoft 365, non al data center dove risiede l’ambiente Power Platform. I deployment globali coperti sono North America, Europe/Middle East/Africa e Asia Pacific, più una lista di deployment locali con disponibilità variabile.
Per provare senza spendere, il canale mette a disposizione fino a due trial phone numbers con un totale di 60 minuti di chiamata gratuiti: il primo assegnato automaticamente è un numero toll-free statunitense chiamabile solo dagli Stati Uniti. Il dettaglio da ricordare è che per i numeri di prova non serve connettersi ad Azure Communication Services, e che quei numeri non si possono riutilizzare né acquistare. Quando la prova finisce, o quando selezioni End trial nella pagina Phone numbers, si passa alla connessione vera a un resource Azure Communication Services, scegliendo fra un resource nuovo e uno esistente. Regola di igiene architetturale: un’istanza dell’applicazione va mappata su un solo resource, e i numeri acquistati tramite un resource legato a un ambiente Power Platform non si possono migrare su un altro ambiente.
Gestire i numeri di telefono
Tutto passa da Customer support > Channels > Manage su Phone numbers. Nell’elenco vedi carrier, calling plan, workstream associato e stato della connessione. Per comprare, Add ACS number apre la pagina Features: scegli Country/Region, il Number type fra Toll-free e Geographic, i Calling plans fra Receive calls e Make calls (o entrambi) e un SMS plan fra None, Send SMS e Send and receive SMS — l’SMS è disponibile solo sui numeri toll-free. Dopo Find numbers arrivi al Summary e a Purchase phone number; hai 15 minuti per completare l’acquisto prima che l’assegnazione scada. Il numero compare con stato Ready for setup.
Qui cade una delle differenze di prodotto che la doc unica tende a nascondere: in Customer Service puoi acquisire solo numeri statunitensi. Per altre geografie devi comprarli in Azure Communication Services e poi importarli con Advanced > Sync from Azure in Dynamics 365 Contact Center.
Un numero acquisito non serve a nulla finché non lo colleghi: da Setup workstream lo agganci a un voice workstream, e la relazione è uno a uno — un numero può stare su un solo voice workstream. Solo i numeri con chiamate in ingresso abilitate e non già associati compaiono nella lista di scelta. Attenzione ai vincoli di modifica: dopo che un numero è connesso a un workstream non puoi più cambiare i calling plan o gli SMS plan, e in generale le feature si possono solo aggiornare verso l’alto, mai togliere. Per rilasciare un numero devi prima staccarlo da workstream e outbound profile, e se è assegnato come numero personale a un representative — l’operatore umano — devi disabilitarlo; il rilascio equivale a una cancellazione da Dynamics 365. Nota: come numeri personali si possono assegnare solo numeri locali, mai toll-free.
L’IVR non Microsoft davanti al canale
Se l’azienda ha già un IVR di terze parti, non lo butti: lo metti davanti al canale con Azure direct routing. Colleghi il Session Border Controller (SBC) legato all’IVR al resource Azure Communication Services, registri il numero assegnato all’IVR con il flusso bring your own carrier (Advanced > Bring your own number via Azure Direct Routing, con Add number oppure l’import massivo via CSV, le cui colonne sono msdyn_phonenumber, msdyn_phoneinboundenabled e msdyn_phoneoutboundenabled), e poi trasferisci la chiamata emettendo una SIP INVITE verso quel resource.
Il punto d’esame è come viaggiano i dati raccolti dall’IVR. Non arrivano per magia: si mettono nell’header SIP UUI (User-to-User Information) come coppie chiave/valore separate da punto e virgola, in testo semplice oppure codificate in esadecimale con il suffisso ;encoding=hex o ;pd=4. Perché quel payload diventi leggibile, devi creare nel voice workstream, in Advanced settings > Add context variable, delle context variables con nomi identici ai parametri dell’header, scegliendo il Type fra Text e Number. La corrispondenza è per match esatto e case-sensitive. A quel punto il payload UUI viene convertito automaticamente in context data utilizzabile per il routing e per mostrare informazioni pertinenti al representative. Da sapere: con direct routing l’SMS non è supportato, le chiamate anonime in ingresso funzionano solo sui numeri configurati via direct routing, la registrazione e la trascrizione della parte di conversazione avvenuta sull’IVR esterno non sono disponibili ai representative, e in Dynamics 365 Contact Center il direct routing non supporta l’emergency calling.
Che cosa verifica l’esame
Le domande su questo obiettivo raramente chiedono “quali sono i passi”: chiedono la sequenza corretta e i vincoli. La confusione tipica è pensare che comprare un numero basti per riceverne le chiamate — manca l’associazione al workstream — oppure credere che un numero possa servire più workstream. L’altra trappola è l’IVR esterno: la risposta giusta non è “chiama un’API” ma “SIP UUI più context variables omonime dichiarate sul workstream”. Infine, distingui i numeri personali (legati al record utente) dai numeri dell’outbound profile, e ricorda che le trial number esistono senza alcuna connessione ad Azure Communication Services.