VoIP e Asterisk/Code di chiamata

Indice del libro

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

modifica

Le 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

modifica

Per 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)