Si llamamos a operadores que devuelven el mensaje de apagado fuera de cobertura sin contestar la llamada y no señalizan a nivel RDSI dicha circunstancia, el otro día se nos ocurrió "un truco" para detectar como BUSY esos casos y poder al menos detectarlos (con la salvedad de que en algunos casos fallaríamos).
Se trataba de hacer una serie de llamadas a unos números móviles de un operador OMV, y que cuando no nos daba NOANSWER, mandar un email avisando de que existía un error.
Al final la solución consistió en usar el desvío de llamada cuando está apagado o fuera de cobertura del operador, a un número de un primario RDSI, al que devolvemos BUSY
Es decir en asterisk:
....
exten => numeroentrante,1,Busy()
exten => numeroentrante,2,Hangup
....
Y el pequeño script que se usaba era este:
exten=>_6XXXXXXXX,1,Dial(DAHDI/g1(${EXTEN},20,TW)
exten=>_6XXXXXXXX,n,Noop(${DIALSTATUS})
exten=>_6XXXXXXXX,n,Goto(${DIALSTATUS})
exten=>_6XXXXXXXX,n(ANSWER),n,Hangup()
exten=>_6XXXXXXXX,n(NOANSWER),Goto(todook)
exten=>_6XXXXXXXX,n(BUSY),Goto(alerta)
exten=>_6XXXXXXXX,n(alerta),System(echo "El teléfono con número ${EXTEN} está apagado o fuera de cobertura." |mail -s "Aviso Sistema" micorreo@gmail.com)
exten=>_6XXXXXXXX,n(todook),Hangup()
Evidentemente si el teléfono está comunicando nos dará una falsa alarma, pero en el entorno que aquí se planteaba es de una probabilidad muy pequeña.
Luego haciendo uso de los .call y un crontab, lanzamos el pool de llamadas de madrugada por ejemplo

Technorati tags:
asterisk,
curiosidades