Attribuer des noms d'utilisateurs membres Asterisk Queues
Cet article verra une façon d'assigner des agents, Les membres ont également appelé, Asterisk Queues, un nom d'utilisateur, d'utiliser et de faciliter le suivi.
Pour ce faire, nous supposons une installation simple Asterisk sur une distribution Debian. A cette installation, nous avons inclus literie FOP2 y pour un exemple d'application.
évidemment, Asterisk connaissance préalable requise.
justification
Lorsque les membres dynamiques sont utilisés pour les files d'attente d'appel dans Asterisk, nous rencontrons le problème que les utilisateurs qui prennent les appels sont identifiés par le numéro de poste où ils travaillent. Dans de nombreux environnements de travail extensions peuvent être utilisés par différents utilisateurs; il est alors nécessaire de trouver des moyens pour identifier pas son extension (Numéro SIP par exemple) mais par un nom d'utilisateur normal.

En utilisant les noms d'utilisateur, le suivi des dossiers par (journaux) ou des statistiques de construction seront plus intuitive et efficace.


développement
Pour développer ce que nous utilisons des chaînes locales; Ils sont appelés ainsi parce qu'ils sont utilisés pour faire des appels dans le système d'Asterisk, sans sortir.
Vous pouvez trouver plus d'informations à ce sujet dans:
chaînes locales (en anglais)
Dans nos travailleurs sociaux effectuent un de ces appels à devenir membres de la file d'attente ou des files d'attente correspondantes. Chaque opérateur utilisera un code appelant à faire, ce code utilisera comme nom d'utilisateur pour identifier.
Peu importe de quelle extension l'appel est effectué, et non pas l'élément de queue est reconnu pour son canal SIP, sinon pour la station locale.
Créons un exemple qui sert à tout comprendre.
Dans cet exemple,, les opérateurs seront connectées à la queue clientèle tapant leur code (les noms d'utilisateur) avant avec un astérisque, à enregistrer à partir de tout terminal.
Ils ont créé un canal local enregistrement, et ils sont introduits dans le contexte atencion_clientes alors il devrait apparaître dans le plan d'appel. cet enregistrement est stocké dans la base de données par l'astérisque par l'utilisateur de corrélation terminal_SIP, afin de se refléter dans l'utilisateur se connecte (mais, seuls les registres de terminaux SIP)
Lorsque l'utilisateur quitte son poste, vous avez saisi votre nom d'utilisateur Précédé par un zéro.

Tout ce que nous faisons dans ce fichier de configuration /etc / astérisque / extensions.conf, Je laisse commentais être mieux compris:
[sortant] eXten => _ *[a-z].,1,NoOp(-- Connexion demande --) même => n,Ensemble(VAR = ${COQUILLE(grep ${EXTEN:1} /etc / astérisque / fichiers / users.txt -w)}) ; Nous gardons un nom de fichier valide. même => n,GotoIf($["${OÙ}" = ""]?suspendu) ; Si le nom ne figure pas dans le fichier saisi par l'opérateur, expulse. même => n,AddQueueMember(clientèle,Local / ${EXTEN:1}@atencion_clientes) même => n,Ensemble(DB(atencion_clientes / ${EXTEN:1})= ${IDENTIFICATION DE L'APPELANT(un)}) ;Nous enregistrons cette corrélation dans la base de données interne Asterisk même => n,Lecture(agent loginok) même => n(suspendu),Raccrocher() ; désenregistrer utiliser le caractère 0 au lieu de * avec le même code. eXten => _0[a-z].,1,NoOp(-- demande de déconnexion miembros--) même => n,RemoveQueueMember(clientèle,Local / ${EXTEN:1}@atencion_clientes) même => n,Ensemble(supprimer = ${DB_DELETE(atencion_clientes / ${EXTEN:1})}) ; ici la corrélation est supprimée, Nous utilisons une variable (clair dans ce cas) même => n,Lecture(agent loggedoff) même => n,Lecture(Au revoir) même => n,Raccrocher() [atencion_clientes] ; Tel est le contexte qui détermine l'appel de l'élément de queue, Si occupé à ne rien faire, Envoyer un message via la console. eXten => _[a-z].,1,NoOp(-Call -) même => n,Ensemble(MEMBRE = ${DB(atencion_clientes / ${EXTEN})}) même => n,GotoIf($[${SIPPEER(${MEMBRE},curcalls)} = 1]?occupé) même => n,Cadran(SIP / ${MEMBRE}) même => n(occupé),noOp(membre occupé, appel mis en attente) ; ici juste.
Comme vous pouvez le voir, Nous utilisons un fichier, usuarios.txt dans ce cas, pour stocker les noms d'utilisateur. Vous pourriez demander la même chose avec une base de données.

Ne hésitez pas à faire part de vos opinions et solutions alternatives, merci.