VoIP e Asterisk/Code di chiamata
Tipicamente utilizzate nei call-center, una coda è concettualmente simile a una scatola in cui vengono inserite le chiamate in arrivo e ripescate dagli operatori della coda una volta conclusa la chiamata precedente.
Una coda consiste in:
- Chiamate in ingresso piazzate in coda
- Membri che rispondono alla coda (operatori)
- Strategie su come viene gestita la coda e le chiamate
- Musica d'attesa in coda
- Annunci mentre si è in attesa
Esistono due tipi di membri per le code: agenti e utenti (postazioni). L'utilizzo di un tipo rispetto a un altro è a discrezione di chi configura il centralino, è comunque consigliato utilizzare gli agenti: un agente, una volta fatto il login, è pronto a ricevere chiamate dalla coda.
Definizione
modificaLe code sono definite nel file queues.conf o in un database (se si utilizza il realtime), la loro definizione comporta specificare molti parametri, i più importanti sono:
- Nome della coda
- timeout: secondi prima di passare al prossimo membro
- monitor_join: flag per abilitare la registrazione della chiamata
- monitor_format: formato di registrazione
- queue_EVENTO: messaggi audio specifici della coda
- announce_frequency: frequenza di annuncio della posizione in coda
- maxlen: massimo numero di chiamate in coda
- strategy: strategia di ring
- ringall -> chiama tutti i membri disponibili
- roundrobin -> chiama un membro alla volta
- random -> chiama i membri in ordine casuale
Oltre a questi parametri, a parte si definisce l'elenco dei membri che partecipano attivamente alla coda. Per ciascun membro viene definito:
- Coda a cui è associato il membro
- interface: interfaccia su cui fare il Dial (SIP/numero, Agent/numero)
- penalty: ordine in cui eseguire i Dial. Inizia con quelle di valore più basso, in caso di stesso valore vengono chiamate a seconda della strategia impostata per la coda
Un esempio di definizione della coda “support”:
[support] strategy = ringall ; Escape context. ; I chiamanti possono lasciare la coda digitando un numero ; e quindi entrando nel contest qoutcon context = qoutcon timeout = 15 ; Queue members. ; Agente no.1000 member => Agent/1000 ; Utente SIP. member => SIP/supportdesk ; Agenti del gruppo 1 member => Agent/@1 ; Agente no.2000 (supervisore, risponde solamente se ; nessun altro può, infatti la penalty è impostata a 4) member => Agent/2000,4
Integrazione nel dialplan
modificaPer l'entrata in coda si utilizza l'application “Queue”, da specificare nel dialplan, esempio:
[incoming] exten => s,1,Playback(welcome) exten => s,2,SetVar(QUEUE_PRIO=5) exten => s,3,Queue(support)