Differenze tra le versioni di "AdminGuide:Service:CallCampaign/en"

Da Kalliope Wiki.
Jump to navigation Jump to search
(Creata pagina con "A user with the required permissions can start (instantaneously or with a delay), suspend, or stop a call campaign, or view its status. A campaign will end the moment, for ea...")
(Creata pagina con "Campaigns active at a given time are sorted by priority, and in case of a tie, precedence is given to the campaign with an earlier start timestamp.<br> Starting with the highe...")
 
(15 versioni intermedie di 2 utenti non mostrate)
Riga 26: Riga 26:
* the number of call attempts for the recipient has been reached without satisfying the previous condition.
* the number of call attempts for the recipient has been reached without satisfying the previous condition.


Nel caso in cui tutti i destinatari (o il numero minimo richiesto per quella specifica campagna) siano stati contattati con successo, la campagna passa nello stato “Completata”; in caso contrario, al momento dell’esaurimento dei tentativi di chiamata verso tutti i destinatari, la campagna passa nello stato “Incompleta”. In quest’ultimo stato, l’utente può assegnare ulteriori tentativi di chiamata verso uno o più destinatari che non sono stati contattati con successo fino ad allora, oppure marcare come definitivamente chiusa la campagna, portandola nello stato “Terminata”. <br>
In the case that all recipients have been successfully reached (or the minimum number set for that specific campaign), the status of the campaign will be set to "completed"; otherwise, once the maximum number of call attempts have been reached for all recipients, it will be set to "incomplete". In the latter case, the user may assign further call attempts for one or more of the recipients that have not been successfully reached, or mark the campaign as permanently closed, setting its status to "terminated".
Oltre alla gestione in tempo reale delle singole campagne di esecuzione delle campagne di avviso (con visualizzazione dello stato per ciascun destinatario) è possibile accedere ad un registro storico di esecuzione delle campagne concluse: nel registro di queste esecuzioni sono salvati sia agli eventi relativi all’esecuzione della campagna che tutti i parametri di configurazione di esecuzione della stessa, così da poterli consultare anche in caso di modifica della configurazione della campagna o la sua eventuale cancellazione.


== Configurazione del Servizio ==
The web panel allows the user to manage individual campaigns in real time (with the ability to view the status for each recipient) as well as access a log with the details of concluded campaigns: this log displays the events and parameters relative to the execution of the campaign and all, so that they can be consulted even if the settings have been changed or the campaign has been deleted.


Il servizio delle Campagne di avviso viene configurato nel pannello '''“Applicazioni PBX” -> “Campagne di avviso”'''. La visibilità del pannello e dei relativi tab è condizionata ai permessi associati al ruolo dell’utente.<br>
==Configuration==
Il pannello delle Campagne di avviso prevede tre tab:
* '''''Lista Modelli e Lista Campagne''''' (associate all’abilitazione “Gestione delle Campagne di Avviso”)
* '''''Impostazioni generali''''' (associate all’abilitazione “Gestione delle Impostazioni generali delle Campagne di avviso”)
Nel pannello '''''“Impostazioni generali”''''' è possibile configurare i limiti globali del servizio, in termini di numero massimo di campagne attive simultaneamente, e di numero massimo di chiamate contemporanee (a interni, a esterni, e complessive) tra tutte le campagne attive ad un certo momento. I parametri di configurazione sono:
* '''''Numero massimo di campagne simultanee attive''''': indica il numero massimo di campagne che possono essere contemporaneamente nello stato “Attiva”. <br> Il parallelismo riguarda l’effettiva esecuzione delle chiamate delle campagne, per cui ad esempio con grado di parallelismo 1 è possibile avviare una campagna anche in caso di una altra campagna già in esecuzione. Le campagne saranno ordinate in base all’attributo “priorità”, ed in caso di parità in base all’ora di avvio, e il sistema effettuerà le chiamate  scegliendo i destinatari dalla campagna a priorità maggiore (entro i vincoli di contemporaneità di chiamata globali e di singola campagna). <br>Il valore vuoto indica illimitato.
* '''''Contemporaneità massima chiamate totali/interne/esterne''''': questi tre valori determinano il numero massimo di chiamate contemporanee che il sistema può effettuare tra tutte le campagne attive<br>Il valore vuoto indica nessun limite. <br>NOTA: La somma dei limiti impostati per le chiamate interne ed esterne può eccedere il limite totale, ma comunque il numero di chiamate effettivamente in esecuzione non lo potrà superare (Es. con i valori 10/8/6, possono esserci al più 8 chiamate interne, 6 chiamate esterne, ma complessivamente non più di 10 chiamate; se quindi ad un dato momento sono in esecuzione 7 chiamate interne, potranno essere attive al massimo 3 chiamate esterne)


Ogni volta che una chiamata di una campagna termina (con successo o meno), oppure quando viene attivata una nuova campagna, lo scheduler delle chiamate (che si occupa di determinare se è possibile effettuare una nuova chiamata e verso quale destinatario tra tutti quelli possibili per le varie campagne) opera utilizzando il valore corrente di tali limiti.
The call campaign services can be configured on the '''"PBX Applications" -> "Call Campaign"''' panel. Users may view the panel and its tabs if their role has the required permissions.
[[File:CampagneAvviso Impostazioni.jpg|centro]]
Per poter avviare una Campagna, è necessario che prima venga definito un Modello di campagna, a cui sono associati un insieme di parametri che determinano il comportamento delle campagne attivate a partire da quel modello, e quindi venga avviata (o programmata ad una certa data/ora nel futuro) la Campagna a partire da quel modello. Da uno stesso modello possono essere avviate più campagne, in tempi diversi, modificando per ciascuna di esse un sottoinsieme dei parametri di configurazione ereditati dal modello, come il file audio da riprodurre o l’elenco dei destinatari.


The call campaign panel has three tabs:
* '''''Models list''' and '''Campaigns list''''' (associated to the "Call Campaign Management" permission);
* '''''General settings''''' (associated to the "Call Campaign general settings management" permissions)


La prima operazione da fare per attivare una Campagna è quindi creare un Modello, dal pannello “Lista Modelli”, cliccando sull’azione “Aggiungi nuovo modello di campagna”. <br>
In the '''''"General settings"'''''' users you can configure the global limits of the service, i.e. the maximum number of simultaneous active campaigns and the maximum number of simultaneous calls (internal, external, or overall) between all active campaigns. the parameters that can be set are:
Il pannello di creazione (o modifica) di un Modello di Campagna permette la configurazione dei seguenti parametri:
* '''''Maximum number of simultaneous active campaigns''''': the maximum number of campaigns that can set as "active" at the same time.<br>
* '''''Abilitato''''': check-box che indica se il Modello è abilitato. Se un Modello è disabilitato non possono essere avviate o pianificate Campagne che lo utilizzano
This parallelism concerns the effective execution of the calls, so for instance so with a parallelism of 1 a campaign can be started even if another one is already being executed. The campaigns will be ordered according to their "priority" attribute, and if two campaigns are started at the same moment, the system will make the calls for the campaign with the highest priority (within the simultaneity constraints set both generally and for that campaign).<br>
* '''''Nome''''': nome della Campagna. Ammette caratteri alfanumerici, spazi, trattini, underscore. Questo attributo viene utilizzato come Display-Name per le chiamate effettuate dalla Campagna verso i destinatari
The empty value means unlimited.
* '''''Numero chiamante''''': è il numero chiamante utilizzato dal sistema per effettuare le chiamate della campagna. Viene utilizzato sia per le chiamate ad altri interni che per le chiamate a numeri esterni. Nel caso di chiamate esterne il numero chiamante effettivo sarà derivato da questo in base alle regole di manipolazione configurate per la linea di uscita che sarà impegnata.
* '''''Maximum number of simultaneous calls (total/internal/external)''''': these three values determine the maximum number of calls that the system can make among all active campaigns.<br>
* '''''Classe di instradamento in uscita''''': determina l’instradamento delle chiamate verso i destinatari esterni. Nel caso in cui la classe non permetta di chiamare uno o più dei destinatari configurati, le relative chiamate falliranno ma non viene effettuato un controllo preventivo.
The empty value means unlimited.<br>
* '''''Priorità''''': questo valore viene utilizzato dallo scheduler di generazione delle chiamate nel momento in cui si libera lo spazio per una nuova chiamata se sono presenti 2 o più campagne attive.  
N.B.: The sum of the values set for internal and external calls may exceed the total limit, but in this case the effective number of overall calls cannot exceed it (e.g. with the values 10/8/6, there can be at most 8 internal calls, 6 external calls, but no more than 10 calls in total; if at one moment 7 internal calls are active, only 3 external one can be made)
* '''''File audio''''': selezione del file audio da riprodurre a ciascun destinatario.
* '''''Soglia di completamento''''': questo parametro indica il numero di destinatari che è sufficiente contattare con successo per considerare la campagna completa.
* '''''Numero di tentativi di chiamata''''': questo parametro indica il numero massimo di tentativi di chiamata (senza successo) che possono essere effettuati verso il destinatario. Al raggiungimento di tale numero di chiamate senza che il destinatario abbia risposto e dato conferma (di risposta o ascolto, se richieste), il sistema non effettuerà più nuovi tentativi di chiamata verso questo destinatario, che risulterà quindi “non contattato” in modo definitivo. È facoltà dell’utente che gestisce la campagna di poter aggiungere nuovi tentativi di chiamata verso quei destinatari per i quali sia stato esaurito questo limite.<br>Questo valore non può essere illimitato (default 5).
* '''''Timeout per chiamata''''': il timeout di squillo (in secondi) per ciascuna chiamata effettuata dalla campagna
* '''''Richiedi conferma di risposta''''': questa check-box indica se il sistema deve richiedere al destinatario la digitazione del tasto 1 per confermare che abbia effettivamente risposto, prima di effettuare la riproduzione del messaggio. Questa impostazione vale sia per i destinatari interni che esterni, ed assicura che la chiamata non sia andata ad un risponditore o casella vocale.
* '''''Richiesta conferma ascolto''''': questa check-box indica se il sistema deve richiedere al destinatario la digitazione del tasto 9 al termine dell’ascolto del messaggio, a conferma dell’effettivo ascolto e comprensione di questo. La mancata conferma o la pressione di un tasto diverso da quello indicato causa la ripetizione del messaggio. Se la chiamata viene abbattuta senza conferma di ascolto, il sistema considererà il destinatario come “non contattato”, e se il destinatario ha ancora tentativi residui (perché non ha raggiunto il numero massimo di tentativi di chiamata configurati per la campagna) potrà essere nuovamente chiamato in seguito, in base alle politiche di scheduling del servizio.
* '''''Contemporaneità massima chiamate interne/esterne/totali''''': questi 3 valori determinano il numero massimo di chiamate che questa campagna può effettuare complessivamente, verso destinatari interni e verso destinatari esterni. Un valore “null” indica nessun limite. La somma dei limiti impostati per le interne e le esterne può eccedere il limite totale, ma comunque il numero di chiamate effettivamente in esecuzione non lo potrà superare.
* '''''Elenco destinatari''''': questo elenco viene popolato con destinatari interni o esterni. Nel caso di contatti inseriti manualmente, oltre al numero si possono specificare un nome ed un indirizzo mail (per l’invio del messaggio). L’elenco è ordinabile; lo scheduler delle chiamate utilizzerà tale ordinamento in fase di selezione della prossima chiamata da effettuare, a parità degli altri parametri.
[[File:CampagneAvviso NuovoModello.jpg|centro]]
Una volta creato il modello questo apparirà nel pannello “Lista Modelli”, da cui l’utente abilitato può effettuare le seguenti operazioni:
* '''Creare un numero arbitrario di Modelli di Campagne'''
* '''Cancellare uno o più Modelli di Campagna esistenti''' selezionando l’icona Cestino. <br>Nel caso di un Modello da cui siano state avviate o programmate una o più Campagne, la cancellazione è permessa, in quanto tutti i parametri necessari all’esecuzione della campagna di avviso sono stati già copiati dal modello nella configurazione operativa di quella campagna. All’utente viene comunque indicata l’esistenza di campagne in corso o schedulate associate a tale Modello, mediante pop-up di conferma cancellazione.
* '''Clonare un Modello esistente''' per crearne una nuova, che ne eredita le impostazioni
* '''Modificare la configurazione di un Modello di Campagna''' precedentemente creata; nel caso di una Campagna per la quale esistano una o più istanze in esecuzione o schedulata, la modifica è comunque permessa a seguito dell’indicazione mediante il pop-up di conferma.
* '''Visualizzare la lista dei destinatari''' della Campagna.
[[File:CampagneAvviso ListaModelli.jpg|1000px|centro]]


== Avvio e gestione di una campagna di avviso ==
Every time a call is terminated, whether successfully or not, or when a new campaign is started, the call scheduler (which determines whether or not a new call may be made and towards which recipient among all those for all campaigns) operates according to the current limits.


Dopo aver configurato un modello di campagna di avviso, l’utente può comandare l’avvio di una campagna, immediato o differito nel tempo. <br>
[[File:General Settings CallCampaign.JPG|centro]]
La creazione della Campagna si effettua cliccando sull’icona '''''“Avvia”''''' nella colonna '''''“Azioni”''''' della Lista Modelli. Viene aperto un pannello intermedio '''''“Avvio nuova campagna di avviso”''''' in cui è possibile assegnare un nome alla specifica campagna, effettuare l’eventuale modifica (rispetto al modello di origine) del file audio da riprodurre e dell’elenco dei destinatari. <br>
Infine, è possibile definire la programmazione della campagna secondo tre modalità:
* '''''Immediata''''': la campagna viene avviata immediatamente alla pressione del pulsante “Avvia”
* '''''Ritardata''''': selezionando il tempo (in minuti) dopo il quale la campagna viene avviata
* '''''Orario programmato''''': specificando una data ed ora a cui la campagna verrà avviata
[[File:CampagneAvviso AvviaCampagna.jpg|centro]]


Alla conferma, selezionando premendo sul tasto '''''“Avvia”''''', la nuova campagna (avviata o programmata) compare nel pannello '''''“Lista Campagne”'''''.<br>
To start a campaign, you must first set a Campaign model with the parameters that determine the behavior of the active campaigns and then start a campaign from that model (or set it to start at a later time). Multiple campaign may be started from the same model at different times, changing a subset of settings such as the audio file to be played or the list of recipients.
 
 
Models can be created from the "Models list" panel by clicking on "Add a new campaign model".
 
The panel for creating a new model or editing an existing one contains the following parameters:
* '''''Enabled''''': this checkbox determines whether the model is enabled or disabled. If a model is disabled new campaigns may not be started or scheduled from it.
* '''''Name''''': the name of the campaign. Can contain alphanumeric characters, spaces, dashes, and underscores. This attribute is used as the Display-Name for calls made by the campaign.
* '''''Caller number''''': the number used by the system to make the calls (both internal and external). For external calls, the effective caller number will be derived from this attribute based on the manipulation rules of the outbound line used.
* '''''Outbound Call Routing class''''': determines the routing of external calls. If the class does not allow one or more of the configured recipients, those calls will fail; no preemptive checks will be made.
* '''''Priority''''': the value used by the scheduler to make the calls if more than one campaign is active at the same time.
* '''''Sound file''''': the audio file played to each recipient.
* '''''Completion threshold''''': the number of recipients that must be successfully reached in order to to consider the campaign complete.
* '''''Number of call attempts per recipient''''': the maximum number of unsuccessful call attempts that will be made towards each recipient. Once this number has been reached for a recipient, the system will not make any new attempts and the recipient will be definitively considered "not reached". The user that manages the campaign may add new call attempts.<br>
This value cannot be unlimited (default 5).
* '''''Call timeout (seconds)''''': the ring timeout (in seconds) for each call
* '''''Request answer confirmation''''': this checkbox determines whether or not the system must require the recipient to dial 1 to confirm that they have actually answered before playing the message. This applies to both internal and external calls and ensures that the call was not sent to an answering machine or a voicemail box.
* '''''Request listening confirmation''''': this checkbox determines whether or not the system must require the recipient to dial 9 after the message has been played to confirm that they have actually listened and understood it. If 9 is not dialed, or if another button is dialed, the message will be repeated. If the call ends before confirmation is given, the system will consider the recipient to be "not reached", and if call attempts are still available a new one may be made depending on the policies of the scheduler.
* '''''Maximum number of simultaneous total/internal/external calls''''': these three values determine the maximum number of calls that the campaign cam make. The empty value means unlimited. The sum of the values set for internal and external calls may exceed the total limit, but in this case the effective number of overall calls cannot exceed it.
* '''''Recipients''''': the list of internal or external recipients. For contacts inserted manually, the user can specify a name and an email address along with the number. The list can be ordered; the scheduler will make calls according to the order if other parameters are equal.
 
[[File:New Call Campaign.JPG|centro]]
 
Once the model has been created, it will appear in the "models list", from which an enabled user can:
* '''Create any number of models'''.
* '''Delete one or more existing models''' by clicking on the thrash icon.
<br>Models from which one or more campaigns have been started or scheduled can be deleted, as the necessary parameters have already been copied to the campaign configuration. The user will still be alerted of the presence of such campaigns through a confirmation popup.
* '''Clone an existing model''' to create a new one with inherited settings.
* '''Edit the configuration of an existing model'''; models from which one or more campaigns have been started or scheduled can be edited after clicking a confirmation popup.
* '''View the list of recipients''' of the campaign.
 
[[File:Template List CallCampaign.JPG|1000px|centro]]
 
== Starting and managing a call campaign ==
 
After configuring a call campaign model, you can start a new campaign, immediately or with a delay.
 
You can create a campaign by clicking on the '''''"Start"''''' icon in the '''''"Actions"''''' column of the Models List. A new panel will open in which you can set the name of the campaign and change the audio file or the list of recipients if necessary.
 
Finally, you can configure the start of the campaign in three modes:
* '''''Immediate''''': the campaign will start immediately after you press "start";
* '''''Delayed''''': select the delay (in minutes) after which the campaign will start;
* '''''Set schedule''''': specify the time and date on which the campaign will start.
 
[[File:Start New CallCampaign Istance.JPG|centro]]
 
After clicking the '''''"Start"''''' button, the new campaign will appear in the '''''"Campaigns list"''''' panel.
 
This panel is a log of past and current campaigns through which you can view the details of the campaigns:
* The following configuration parameters: Name, Model, caller number, priority, ring timeout, maximum call attempts per recipient, completion threshold, answer and listing confirmation, simultaneity.
* Start time.
* Total number of recipients.
* Successfully reached recipients: the recipients that have been reached by the campaign according to its settings.
* Current calls: the number of calls that are currently active.
* Status: the status of the campaign, which can be one of the following:
** Scheduled: at the time of activation. The status will change to "Active" if the starting mode is immediate, or at the moment set in the configuration if the starting mode is immediate is delayed.
** Active: calls towards the recipients are currently being made.
** Paused: can be activated by the user by clicking the "Pause" button. New calls will not be made; current calls  will not be interrupted.
** Blocked: the number of simultaneous calls has been reached.
** Incomplete: all possible calls towards the recipients have been made but at least one has not been successfully reached.<br>
If the status of a recipient changes to "Failed" to "Idle" (because the user added new call attempts)the the campaign will switch to "Active" mode again.<br>
Alternatively, the user can permanently close the campaign by clicking the "STOP" icon.
** Terminated: the campaign has ended even if some recipients have not been successfully reached. If a campaign is "Incomplete", the user can switch it to this status.
** Completed: this status is automatically reached the moment all recipients have been successfully reached.


Questo pannello costituisce un registro delle campagne passate ed anche di quelle correnti, tramite il quale è possibile visualizzare lo stato istantaneo della campagna, il grado di avanzamento delle chiamate, oltre ad alcuni parametri di configurazione. La vista delle campagne mostra le seguenti informazioni:
* Come parametri di configurazione sono mostrati: Nome, Modello, numero chiamante, priorità, timeout di squillo, tentativi massimi per destinatario, valore della soglia di completamento, richiesta di risposta e conferma di ascolto, contemporaneità.
* Programmazione Avvio: l’ora prevista di inizio della campagna
* Destinatari totali: il numero totale dei destinatari della campagna
* Destinatari contattati con successo: Destinatari che hanno risposto alla campagna secondo le impostazioni della campagna stessa
* Chiamate in corso: numero delle chiamate attualmente in corso per quella campagna
* Stato: indica lo stato in cui si trova la campagna e può essere uno dei seguenti:
** Programmata: al momento dell’attivazione.  Da questo stato passa nello stato “In esecuzione” in caso di avvio immediato, o al momento previsto dalla schedulazione se avviata in modalità differita
** In esecuzione (o Attiva): quando vengono eseguite le chiamate verso i destinatari di questa campagna.
** Sospesa: attivabile dall’utente premendo il pulsante “Sospendi”. In questo stato non vengono generate nuove chiamate per i destinatari appartenenti a questa campagna; le chiamate in corso non vengono interrotte.
** Bloccata: quando si eccede il grado di parallelismo previsto per le campagne
** Incompleta: quando sono state eseguite tutte le chiamate possibili verso i destinatari ma almeno uno di questi non è stato contattato con successo. <br> Nel caso in cui un destinatario passi dallo stato “Fallito” allo stato “Idle” (perché un utente gli ha assegnato nuovi tentativi di chiamata) allora la campagna torna in stato “Attiva” assegnando nuovi tentativi di chiamata per uno o più destinatari. <br>In alternativa l’utente può chiuderla definitivamente portandola nello stato “Terminata” cliccando sull’icona “STOP”
** Terminata: quando la campagna è finita, anche con alcuni destinatari non contattati in via definitiva, e non possono essere più eseguite chiamate verso i suoi destinatari. L’utente, per una campagna Incompleta, può mettere la campagna in questo stato usando il tasto corrispondente.
** Completata: Si arriva in questo stato in modo automatico, nel momento in cui tutti i destinatari della campagna siano stati contattati con successo
[[File:CampagneAvviso ListaCampagne.jpg|1000px|centro]]
[[File:CampagneAvviso ListaCampagne.jpg|1000px|centro]]
Oltre a questo pannello di summary delle campagne presente un “Pannello di stato della campagna” che raccoglie tutte le informazioni relative allo stato ed allo storico della campagna. <br>


In questo pannello (a cui si accede cliccando sull’icona della lente di ingrandimento) viene visualizzato anche l’elenco dei destinatari e per ciascuno di essi lo stato corrente: ultima volta che è stato chiamato, esito, numero di tentativi di chiamata, timestamp di ultima risposta e di ascolto, l’elenco dei tentativi di chiamata con i relativi eventi e timestamp. All’interno di questo pannello è possibile per l’utente comandare azioni relative alla campagna (sospendi e termina) e al destinatario (interrompi tentativi di chiamata, assegna ulteriori N tentativi, ).<br>
There is also a "Campaign status" panel that displays all the data regarding the status and history of a campaign.
 
This panel, which can be accessed by clicking the magnifying glass icon, displays the list of recipients and the current status for each: time of last call, outcome, number of call attempts, timestamp of last answer or listening confirmation, list of call attempts and corresponding events and timestamps. Within this panel you can execute actions regarding the campaign (pause and terminate) and the recipients (stop call attempts, add more call attempts, etc.).


Nel pannello sono visibili i '''cambi di stato''' di un destinatario, che sono pilotati dall’avvio e termine delle chiamate dirette ad esso, e possono causare il cambio di stato della campagna a cui appartengono:
The panel shows the '''state changes''' of a recipient, which are driven by the initiation and termination of calls directed to it, and can cause the state of the campaign to which they belong to change:
* '''''Idle''''': inattivo, disponibile ad essere chiamato (se la campagna si trova in stato “Attiva”)
* '''''Idle''''': inactive, available to be called (if the campaign is in ''Active'' state).
* '''''Attivo''''': è in corso una chiamata
* '''''Active''''': a call is in progress
* '''''Contattato''''': è stato contattato con successo e sono state date le conferme richieste (risposta e ascolto, se previste)
* '''''Contacted''''': has been successfully contacted, and required acknowledgments have been given (answered and listened to, if provided)
* '''''Fallito''''': è stato fatto un numero di tentativi di chiamata pari al massimo previsto, senza che sia stato contattato con successo. Da questo stato l’utente può assegnare altri tentativi di chiamata a quel destinatario, che torna quindi nuovamente nello stato “Idle”
* '''''Failed''''': several call attempts equal to the maximum expected number have been made, without being successfully contacted. From this state, the user can assign further call attempts to that recipient, which then returns to the "Idle" state again
[[File:CampagneAvviso StatoCampagna.jpg|centro]]
[[File:CampagneAvviso StatoCampagna.jpg|centro]]


== Logica di scheduling delle chiamate ==
== Call scheduling logic ==


La logica con cui il sistema decide l’esecuzione di una nuova chiamata verso un destinatario appartenente ad una certa campagna dipende da numerosi parametri:
The logic by which the system decides on the execution of a new call to a recipient belonging to a certain campaign depends on several parameters:
* '''Contemporaneità massima delle campagne'''
* '''Maximum simultaneity of campaigns'''
* '''Contemporaneità massima delle chiamate complessive''' (totali/interne/esterne)
* '''Maximum simultaneity of total calls''' (total/internal/external)
* '''Contemporaneità massima delle chiamate per campagna''' (totali/interne/esterne)
* '''Maximum simultaneity of calls per campaign''' (total/internal/external)
* '''Priorità delle campagne'''
* '''Priority of campaigns'''
* '''Timestamp di avvio di ciascuna campagna'''
* '''Start timestamp of each campaign'''
* '''Timestamp dell’ultimo tentativo di chiamata verso ciascun destinatario''' (con esito negativo)
* '''Timestamp of last call attempt to each recipient''' (unsuccessful)


Le campagne attive ad un dato momento vengono ordinate in base alla priorità, ed in caso di parità viene data precedenza alla campagna con timestamp di avvio precedente.<br>
Campaigns active at a given time are sorted by priority, and in case of a tie, precedence is given to the campaign with an earlier start timestamp.<br>
Partendo dalla campagna a massima priorità, il sistema genera tante chiamate fino al raggiungimento delle contemporaneità massime (della campagna e complessive). Vengono chiamati per primi i destinatari che non sono stati chiamati in precedenza, secondo l’ordine con cui sono elencati nella configurazione della campagna. Nel caso in cui cia raggiunto un limite di contemporaneità, ad esempio per le interne, il sistema continuerà a selezionare destinatari da quella campagna, scegliendolo solo da quelli esterni. Quando si esauriscono i destinatari che non sono mai stati chiamati, se c’è ancora posto per ulteriori chiamate per quella stessa campagna, il sistema passa a richiamare i destinatari già chiamati in precedenza, partendo da quelli che sono stati chiamati più lontano nel tempo. Nel momento in cui non sia possibile selezionare un nuovo destinatario da questa campagna lo scheduler ripete la valutazione sulla seconda campagna (per priorità/tempo di avvio), e così via fino al raggiungimento dei limiti complessivi di chiamata o all’esaurimento di destinatari disponibili.<br>
Starting with the highest priority campaign, the system generates as many calls until the maximum simultaneities (of the campaign and overall) are reached.
Ogni volta che una chiamata termina, oppure ogni volta che viene avviata una nuova campagna, oppure quando vengono modificati i limiti globali del servizio, viene eseguito di nuovo l’algoritmo di scheduling per determinare se è possibile effettuare una o più nuove chiamate.<br>
Recipients who have not been called previously are called first, according to the order in which they are listed in the campaign configuration. If a concurrent limit has been reached, such as for internal, the system will continue to select recipients from that campaign, choosing only from external ones. When you run out of recipients, who have never been called, if there is still room for more calls for that same campaign, the system will switch to calling back previously called recipients, starting with those who have been called furthest back in time.
When a new recipient cannot be selected from this campaign, the scheduler repeats the evaluation on the second campaign (by priority/start time), until the overall call limits are reached, or the available recipients are exhausted.
Each time a call ends, a new campaign is started, or when global service limits are changed, the scheduling algorithm is run again to determine whether one or more new calls can be made.

Versione attuale delle 13:05, 20 set 2022

Altre lingue:

Return to AdminGuide:Service

N.B: This service is available for firmware version 4.9.4 or later.


Call campaign service

KalliopePBX's "Call Campaign" service lets you execute a session of automated calls towards a group of recipients, playing an audio message and gathers confirmation that each recipient has listened to the call.

On a general level, this service lets you configure call campaigns through a web panel, each with the following settings:

  • list of participants (internal and external)
  • audio message
  • maximum number of simultaneous external calls
  • whether or not to collect confirmations
  • number of call attempts for each recipient

A user with the required permissions can start (instantaneously or with a delay), suspend, or stop a call campaign, or view its status.

A campaign will end the moment, for each configured recipient:

  • the recipient answers the call and, if required, provides confirmation that they have answered and/or listened to the message (this is the "success" condition);
  • the number of call attempts for the recipient has been reached without satisfying the previous condition.

In the case that all recipients have been successfully reached (or the minimum number set for that specific campaign), the status of the campaign will be set to "completed"; otherwise, once the maximum number of call attempts have been reached for all recipients, it will be set to "incomplete". In the latter case, the user may assign further call attempts for one or more of the recipients that have not been successfully reached, or mark the campaign as permanently closed, setting its status to "terminated".

The web panel allows the user to manage individual campaigns in real time (with the ability to view the status for each recipient) as well as access a log with the details of concluded campaigns: this log displays the events and parameters relative to the execution of the campaign and all, so that they can be consulted even if the settings have been changed or the campaign has been deleted.

Configuration

The call campaign services can be configured on the "PBX Applications" -> "Call Campaign" panel. Users may view the panel and its tabs if their role has the required permissions.

The call campaign panel has three tabs:

  • Models list and Campaigns list (associated to the "Call Campaign Management" permission);
  • General settings (associated to the "Call Campaign general settings management" permissions)

In the "General settings"' users you can configure the global limits of the service, i.e. the maximum number of simultaneous active campaigns and the maximum number of simultaneous calls (internal, external, or overall) between all active campaigns. the parameters that can be set are:

  • Maximum number of simultaneous active campaigns: the maximum number of campaigns that can set as "active" at the same time.

This parallelism concerns the effective execution of the calls, so for instance so with a parallelism of 1 a campaign can be started even if another one is already being executed. The campaigns will be ordered according to their "priority" attribute, and if two campaigns are started at the same moment, the system will make the calls for the campaign with the highest priority (within the simultaneity constraints set both generally and for that campaign).
The empty value means unlimited.

  • Maximum number of simultaneous calls (total/internal/external): these three values determine the maximum number of calls that the system can make among all active campaigns.

The empty value means unlimited.
N.B.: The sum of the values set for internal and external calls may exceed the total limit, but in this case the effective number of overall calls cannot exceed it (e.g. with the values 10/8/6, there can be at most 8 internal calls, 6 external calls, but no more than 10 calls in total; if at one moment 7 internal calls are active, only 3 external one can be made)

Every time a call is terminated, whether successfully or not, or when a new campaign is started, the call scheduler (which determines whether or not a new call may be made and towards which recipient among all those for all campaigns) operates according to the current limits.

General Settings CallCampaign.JPG

To start a campaign, you must first set a Campaign model with the parameters that determine the behavior of the active campaigns and then start a campaign from that model (or set it to start at a later time). Multiple campaign may be started from the same model at different times, changing a subset of settings such as the audio file to be played or the list of recipients.


Models can be created from the "Models list" panel by clicking on "Add a new campaign model".

The panel for creating a new model or editing an existing one contains the following parameters:

  • Enabled: this checkbox determines whether the model is enabled or disabled. If a model is disabled new campaigns may not be started or scheduled from it.
  • Name: the name of the campaign. Can contain alphanumeric characters, spaces, dashes, and underscores. This attribute is used as the Display-Name for calls made by the campaign.
  • Caller number: the number used by the system to make the calls (both internal and external). For external calls, the effective caller number will be derived from this attribute based on the manipulation rules of the outbound line used.
  • Outbound Call Routing class: determines the routing of external calls. If the class does not allow one or more of the configured recipients, those calls will fail; no preemptive checks will be made.
  • Priority: the value used by the scheduler to make the calls if more than one campaign is active at the same time.
  • Sound file: the audio file played to each recipient.
  • Completion threshold: the number of recipients that must be successfully reached in order to to consider the campaign complete.
  • Number of call attempts per recipient: the maximum number of unsuccessful call attempts that will be made towards each recipient. Once this number has been reached for a recipient, the system will not make any new attempts and the recipient will be definitively considered "not reached". The user that manages the campaign may add new call attempts.

This value cannot be unlimited (default 5).

  • Call timeout (seconds): the ring timeout (in seconds) for each call
  • Request answer confirmation: this checkbox determines whether or not the system must require the recipient to dial 1 to confirm that they have actually answered before playing the message. This applies to both internal and external calls and ensures that the call was not sent to an answering machine or a voicemail box.
  • Request listening confirmation: this checkbox determines whether or not the system must require the recipient to dial 9 after the message has been played to confirm that they have actually listened and understood it. If 9 is not dialed, or if another button is dialed, the message will be repeated. If the call ends before confirmation is given, the system will consider the recipient to be "not reached", and if call attempts are still available a new one may be made depending on the policies of the scheduler.
  • Maximum number of simultaneous total/internal/external calls: these three values determine the maximum number of calls that the campaign cam make. The empty value means unlimited. The sum of the values set for internal and external calls may exceed the total limit, but in this case the effective number of overall calls cannot exceed it.
  • Recipients: the list of internal or external recipients. For contacts inserted manually, the user can specify a name and an email address along with the number. The list can be ordered; the scheduler will make calls according to the order if other parameters are equal.
New Call Campaign.JPG

Once the model has been created, it will appear in the "models list", from which an enabled user can:

  • Create any number of models.
  • Delete one or more existing models by clicking on the thrash icon.


Models from which one or more campaigns have been started or scheduled can be deleted, as the necessary parameters have already been copied to the campaign configuration. The user will still be alerted of the presence of such campaigns through a confirmation popup.

  • Clone an existing model to create a new one with inherited settings.
  • Edit the configuration of an existing model; models from which one or more campaigns have been started or scheduled can be edited after clicking a confirmation popup.
  • View the list of recipients of the campaign.
Template List CallCampaign.JPG

Starting and managing a call campaign

After configuring a call campaign model, you can start a new campaign, immediately or with a delay.

You can create a campaign by clicking on the "Start" icon in the "Actions" column of the Models List. A new panel will open in which you can set the name of the campaign and change the audio file or the list of recipients if necessary.

Finally, you can configure the start of the campaign in three modes:

  • Immediate: the campaign will start immediately after you press "start";
  • Delayed: select the delay (in minutes) after which the campaign will start;
  • Set schedule: specify the time and date on which the campaign will start.
Start New CallCampaign Istance.JPG

After clicking the "Start" button, the new campaign will appear in the "Campaigns list" panel.

This panel is a log of past and current campaigns through which you can view the details of the campaigns:

  • The following configuration parameters: Name, Model, caller number, priority, ring timeout, maximum call attempts per recipient, completion threshold, answer and listing confirmation, simultaneity.
  • Start time.
  • Total number of recipients.
  • Successfully reached recipients: the recipients that have been reached by the campaign according to its settings.
  • Current calls: the number of calls that are currently active.
  • Status: the status of the campaign, which can be one of the following:
    • Scheduled: at the time of activation. The status will change to "Active" if the starting mode is immediate, or at the moment set in the configuration if the starting mode is immediate is delayed.
    • Active: calls towards the recipients are currently being made.
    • Paused: can be activated by the user by clicking the "Pause" button. New calls will not be made; current calls will not be interrupted.
    • Blocked: the number of simultaneous calls has been reached.
    • Incomplete: all possible calls towards the recipients have been made but at least one has not been successfully reached.

If the status of a recipient changes to "Failed" to "Idle" (because the user added new call attempts)the the campaign will switch to "Active" mode again.
Alternatively, the user can permanently close the campaign by clicking the "STOP" icon.

    • Terminated: the campaign has ended even if some recipients have not been successfully reached. If a campaign is "Incomplete", the user can switch it to this status.
    • Completed: this status is automatically reached the moment all recipients have been successfully reached.
CampagneAvviso ListaCampagne.jpg

There is also a "Campaign status" panel that displays all the data regarding the status and history of a campaign.

This panel, which can be accessed by clicking the magnifying glass icon, displays the list of recipients and the current status for each: time of last call, outcome, number of call attempts, timestamp of last answer or listening confirmation, list of call attempts and corresponding events and timestamps. Within this panel you can execute actions regarding the campaign (pause and terminate) and the recipients (stop call attempts, add more call attempts, etc.).

The panel shows the state changes of a recipient, which are driven by the initiation and termination of calls directed to it, and can cause the state of the campaign to which they belong to change:

  • Idle: inactive, available to be called (if the campaign is in Active state).
  • Active: a call is in progress
  • Contacted: has been successfully contacted, and required acknowledgments have been given (answered and listened to, if provided)
  • Failed: several call attempts equal to the maximum expected number have been made, without being successfully contacted. From this state, the user can assign further call attempts to that recipient, which then returns to the "Idle" state again
CampagneAvviso StatoCampagna.jpg

Call scheduling logic

The logic by which the system decides on the execution of a new call to a recipient belonging to a certain campaign depends on several parameters:

  • Maximum simultaneity of campaigns
  • Maximum simultaneity of total calls (total/internal/external)
  • Maximum simultaneity of calls per campaign (total/internal/external)
  • Priority of campaigns
  • Start timestamp of each campaign
  • Timestamp of last call attempt to each recipient (unsuccessful)

Campaigns active at a given time are sorted by priority, and in case of a tie, precedence is given to the campaign with an earlier start timestamp.
Starting with the highest priority campaign, the system generates as many calls until the maximum simultaneities (of the campaign and overall) are reached. Recipients who have not been called previously are called first, according to the order in which they are listed in the campaign configuration. If a concurrent limit has been reached, such as for internal, the system will continue to select recipients from that campaign, choosing only from external ones. When you run out of recipients, who have never been called, if there is still room for more calls for that same campaign, the system will switch to calling back previously called recipients, starting with those who have been called furthest back in time. When a new recipient cannot be selected from this campaign, the scheduler repeats the evaluation on the second campaign (by priority/start time), until the overall call limits are reached, or the available recipients are exhausted. Each time a call ends, a new campaign is started, or when global service limits are changed, the scheduling algorithm is run again to determine whether one or more new calls can be made.