[AsteriskBrasil] Uso do AEL no dialplan
Diego Aguirre (DagMoller)
dag.voip em oi.com.br
Sexta Maio 16 12:49:59 BRT 2008
Srs,
para poder conhecer o poder do AEL no asterisk, vejam o que é possível fazer...
esse exten faz uma busca no e164.org (ENUMLOOKUP).
context enum
{
_164XXXXXXXX => goto 1645521${EXTEN:3}|1;
_164XXXXXXXXXX => goto 16455${EXTEN:3}|1;
_164. => {
if ("x${ENUMCALLERID}" != "x")
Set(CALLERID(all)=${ENUMCALLERID});
Set(dialto="");
Set(number=${EXTEN:3});
// Buscar registros SIP/IAX
Set(numreg=${ENUMLOOKUP(+${number},ALL,c,,e164.org)});
if (${numreg} > 0)
{
// Se existir 1 ou mais registro ENUM, faz um loop buscando por SIP e IAX
for (i = 1; ${i} <= ${numreg}; i = ${i} + 1)
{
Set(dialstr="");
Set(info=${ENUMLOOKUP(+${number},ALL,,${i},e164.org)});
Set(tech=${CUT(info,:,1)});
switch (${tech})
{
case sip:
Set(dialstr="SIP/${info:4}");
break;
case iax2:
Set(dialstr="IAX2/${info:5}");
break;
default:
break;
}
if ("x${dialstr}" != "x")
{
// Se encontrar SIP ou IAX, apenda na string que será usada no Dial()
if ("x${dialto}" != "x")
Set(dialto="${dialto}&${dialstr}");
else
Set(dialto="${dialstr}");
}
}
}
// Discagem
if ("x${dialto}" != "x")
{
ChanIsAvail(${dialto});
if ("x${AVAILORIGCHAN}" != "x")
Dial(${AVAILORIGCHAN},,T);
}
Hangup();
}
}
--
Diego Aguirre
Infodag - Informática
FWD#: 459696
EnumLookup#: +55 21 8138-2710
DUNDi-br#: 21 8138-2710
More information about the AsteriskBrasil
mailing list