Erabiltzaileak Asterisk-eko kide dinamiko gisa

Erabiltzaile izena erabiliz kide dinamikoak erabiltzeko modua.

Artikulu honetan kideak esleitzeko modua ikusiko dugu (eragileei ere deitzen zaie)* asterisko ilarak, erabiltzaile izena, bere erabilera eta jarraipena errazteko.

Asterisk ezarpenak hobeto ikusteko, Instalatu nuen FOP2 horrek ilara deien panel bat erakusten digu, eta ohe bil daitezkeen estatistiken adibide bat erakusteko.

Asterisk bat, kide dinamikoen erabilera zenbakien bidez egiten da, oro har, SIP luzapena adierazten du. Horrek erabiltzaileari deseroso egiten dio. Era, erabiltzailearen izena estatistiketan hobeto jarrai daiteke.

Erabiltzaile izena ez dugunean, FOP2 paneleko deien ilara baten itxura hurrengoaren antzekoa izan daiteke, luzapen zenbakiak soilik ikusiko lirateke:

Colas sin nombre de usuario
Ilarako kideak zenbakiak edo etiketa estatikoak bakarrik identifikatzen dira

*Oharra: Adierazpena “agenteak” Asterisk konfigurazio zaharretan erabilia, zaharkitutzat jotzen da, agents.cfg izeneko fitxategia erabiltzen delako, jada beharrezkoa ez dena. gaur, esamoldea erabiltzea posible da “Bazkideek” nahasketak ekiditeko.

Gure helburua lortzeko erantsitako testu fitxategi bat erabiliko dugu, nire kasuan deitu dut users.txt, Asterisk direktorioan edo nahi dugun lekuan gordetzen dugu, ondoren zure ibilbidea adieraziko dugu.
Fitxategian konfigurazio bat egin behar duzu /etc / izartxoa / extensions.conf (gogoan izan dagoeneko ilarak behar bezala konfiguratuta daudela /etc / izartxoa / queues.cfg, kide dinamikoekin ez da beharrezkoa fitxategi horretan adieraztea)

Adibide konfigurazioa hau da:

exten => _*[a-z].,1,NoOp(-- Petición de login de miembros --)
same => n,Set(VAR=${SHELL(grep ${EXTEN:1} /etc/asterisk/archivos/usuarios.txt -w)}) ; en un archivo guardamos los nombres válidos.
same => n,GotoIf($["${VAR}" = ""]?cuelga) ; si en el archivo no aparece el nombre tecleado por el operario, lo expulsa.
same => n,AddQueueMember(clientes,Local/${EXTEN:1}@atencion_clientes)
same => n,Set(DB(atencion_clientes/${EXTEN:1})=${CALLERID(num)}) ; almacenamos esa correlación en la base de datos interna de Asterisk.
same => n,Playback(agent-loginok)
same => n(cuelga),Hangup()
; para desregistrarse usamos el carácter 0 en vez de * con el mismo código.
exten => _0[a-z].,1,NoOp(-- Petición de deslogueo de miembros--)
same => n,RemoveQueueMember(clientes,Local/${EXTEN:1}@atencion_clientes)
same => n,Set(borrar=${DB_DELETE(atencion_clientes/${EXTEN:1})}) ; aquí se elimina la correlación, usamos una variable (borrar en este caso)
same => n,Playback(agent-loggedoff)
same => n,Playback(goodbye)
same => n,Hangup()
[atencion_clientes] ; este es el contexto que determina la llamada al miembro desde la cola, si está ocupado no hace nada, manda un mensaje por consola.
exten => _[a-z].,1,NoOp(-Llamada al miembro -)
same => n,Set(MIEMBRO=${DB(atencion_clientes/${EXTEN})})
same => n,GotoIf($[${SIPPEER(${MIEMBRO},curcalls)} = 1]?ocupado)
same => n,Dial(SIP/${MIEMBRO})
same => n(ocupado),NoOp(Miembro ocupado, llamada en cola

Konfigurazio honekin, erabiltzaileak telefono terminaletik bakarrik idatzi behar du, zure izaera izena duen asterisko bat erregistratu behar da, eta ilara horretatik deiak jaso ditzakezu.
Horrelako zerbait geratuko zen:

Colas con nombre de usuario
Erabiltzaile izena duten kideak

Modu honetan erraz identifikatzen zara deituta zaudenean:

Usuario respondiendo
Ilaran dagoen kideak dei bati erantzunez

Azkenean, Asternic tresnarekin estatistikak erabiltzaileak nola lor ditzakeen egiaztatu dezakegu:

Nomres de usuario para los miembros dinámicos
Erabiltzaileen estatistikak

Aurkeztu dudan moduaz gain, beste modu batzuetan egin liteke, adibidez, erabiltzaile izenen datu base batekin, Sinpletasunerako testu fitxategi batekin jarri dut.
Animatu zaitez zure gertuko irtenbideak edo gertatutako hobekuntzak partekatzera.


Buruz Angel Calvo

Zientzia eta teknologia sutsua. Irakaslea, eskuliburuak eta sistemak eta komunikazioak manager egileak.

Utzi erantzuna

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *