Indice del libro

Gli agenti sono un layer ulteriore tra gli utenti dei protocolli e l'utilizzatore finale. La loro utilità è molto sentita specialmente in realtà dove gli utilizzatori del sistema telefonico sono mobili e hanno la necessità di connettersi anche da più terminali differenti.

In sostanza la figura dell'agente è legata ad una persona, che quindi può variare la sua posizione, mentre la figura del terminale è legata ad una postazione, che al contrario è fissa.

Le postazioni sono semplicemente utenti SIP o IAX mentre gli agenti sono figure staccate dal protocollo usato, che come tali possono eseguire il login da postazioni diverse.

Esempio: Se consideriamo le postazioni come hardphone, chiamando un utente SIP (o IAX) suonerà sempre l'hardphone associato, mentre chiamando un agente suonerà l'hardphone dal quale l'agente ha fatto il login.

La definizione di un agente va eseguita modificando il file agents.conf seguendo la sintassi:

agent=><numero>,<password numerica>,<nome completo>


Il login e logout dell'agente avvengono mediante due applicazioni (concetto spiegato più avanti):

AgentLogin(<numero agente>): tiene in hold la chiamata e inoltra le chiamate in automatico
AgentCallbackLogin(<numero agente>|<extension associata>@<context>): fa il login dell'agente e ricorda l'associazione agente-estensione ed inoltra la chiamata alla postazione identificata da “extension” fino a quando l'agente non fa il logout esplicito

Per Asterisk l'agente è uno speciale canale di comunicazione, proprio come i canali SIP o IAX, solamente che questi canali lavorano direttamente sulla rete mentre il canale agent lavora utilizzando i servizi di alto livello offerti da questi ultimi due canali.