Con la Aplicacion System() podemos ejecutar comandos del sistema desde Asterisk. Es decir que llamando a una extension o selecionando alguna opcion del nuestro IVR, Podriamos reiniciar nuestra central, Descargar un archivo, Borrar un fichero o lo que tu imaginacion y conocimiento te permitan.
UNA NOTA IMPORTANTE PODEMOS USAR EL COMANDO which para saber la ruta completa del comando que queremos ejecutar desde Asterisk. Ejemplo para saber la ruta especifica del comando ls
$ which ls
/bin/ls
/bin/ls
System()
Example 1
exten => s,1,system(echo "${DATETIME} - ${CALLERID} - ${CHANNEL}" >> /var/log/asterisk/calls)Example 2
; dial 700 = Restart Asterisk
exten => 700,1,Playback(posix-restarting) ; "Restarting asterisk"
exten => 700,2,Wait(1)
exten => 700,3,System(/usr/sbin/asterisk -rx reload)
exten => 700,4,Hangup
Example 3
; Extension 200 Mini Call ID WinPopup Example
exten => 200,1,NoOp(${CALLERID} ${DATETIME})
exten => 200,2,System(/bin/echo -e "'Incoming Call From: ${CALLERID} \\r Received: ${DATETIME}'"|/usr/bin/smbclient -M target_netbiosname)
exten => 200,3,Dial,sip/sipuser|30|t
exten => 200,4,Congestion
Example 4
; Dump call info to a serial receipt printer on ttyS1
exten => 200,1,NoOp(${CALLERID} ${DATETIME})
exten => 200,2,System(/bin/echo "'${CALLERID} ${DATETIME}'" > /dev/ttyS1)
exten => 200,3,Dial,sip/sipuser|30|t
exten => 200,4,Congestion
[shell]
exten=>500,1,Authenticate(5415) ; Apaga nuestro Sistema
same=>n,Playback(goodbye)
same=>n,system(/sbin/init 0)
same=>hangup()
exten=>501,1,Authenticate(5415) ; Reinicia nuestro Sistema
same=>n,Playback(goodbye)
same=>n,system(/sbin/init 6)
same=>hangup()
[shell]
exten=>500,1,Authenticate(5415) ; Apaga nuestro Sistema
same=>n,Playback(goodbye)
same=>n,system(/sbin/init 0)
same=>hangup()
exten=>501,1,Authenticate(5415) ; Reinicia nuestro Sistema
same=>n,Playback(goodbye)
same=>n,system(/sbin/init 6)
same=>hangup()
No hay comentarios:
Publicar un comentario