You are on page 1of 11

LABORATORIO AVANZADO DE PLAN DE MARCACIÓN

Para empezar nuestro Laboratorio tenemos que instalar nuestro Asterisk para esto nos guiaremos de
nuestro laboratorio de INSTALACION DESATENDIDA DE ASTERISK

https://docs.google.com/document/d/1vcHTNtJ169-n3fTyV284NiF3qN0dyshlOv03lgUGdYM/edit

extensions.conf
Después de la Instalación desatendida iremos a nuestro archivo donde vamos
a desarrollar nuestro plan de marcación Avanzado
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
1er Laboratorio Grabación de Voces en una
carpeta compartida para llamadas
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Cada vez que hagamos un cambio deberemos de poner el siguiente comando
EN PUTTY
!service asterisk restart && asterisk -rvvvvvvvvvvvvvvv
;<<<Copiamos En etc/asterisk/extension.conf<<<DESDE ESTA LÍNEA<<<<<<<<<<<<<
[General]
[default]
exten => s,1,congestion
exten => s,2,Hangup
[local]
exten => 10,1,Macro(grabarllamadas,sip/10)
exten => 10,2,Hangup

exten => 12,1,Macro(grabarllamadas,sip/12)


exten => 12,2,Hangup

exten => 14,1,Dial(SIP/14,20)


exten => 14,2,Hangup
;<<<<<<<<<<Inicio 1era Parte<<<<<<<<<<>>>>>>>>>>>>>>>><<<<<<<<<<
;<<<<en var lib asterisk sounds<<<grabar voces<<<<<<metodo1<<<
;<<<ruta var_lib_asterisk_sound<<<<<<<<metodo1<<<<<<<<
exten => 8881,1,Record(davila.gsm)
exten => 8881,n,Hangup()

;<<playback es reproducir audio<<<<<<<<<<<<<


exten => 8882,1,Playback(davila)
exten => 8882,n,Hangup()

;<<<record grabar voces<<<<<<<<metodo2<<<<<<<<


;<<<ruta de samba y formato definida x el usuario<<<<<<<<metodo2<<<<<<<<
exten => 8883,1,Record(/mnt/compartidolinux/davila:wav)
exten => 8883,n,Hangup()

;<<playback es reproducir audio ruta de samba<<<<<<<<<<<<<<<<<<

1
exten => 8884,1,Playback(/mnt/compartidolinux/davila)
exten => 8884,n,Hangup()
;<<<<<<<<<<<FIN 1era Parte<<<<<<<<<<<<<<>>>>>>>>>>>>>>>><<<<<<<<<<

;<<creo un macro para grabar llamada<<<<<<<<<<<<<<<<<<


[macro-grabarllamadas]
exten => s,1,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d-%H%M%S)})
exten => s,n,Set(calldir=/mnt/compartidolinux/${CALLERID(num)})
exten => s,n,Set(CDR(userfield)=/${CALLERID(num)}/${calltime}-${CALLERID(num)}-${MACRO_EXTEN}.wav)
exten => s,n,System(/bin/mkdir -p ${calldir})
exten => s,n,MixMonitor(${calldir}/${calltime}-${CALLERID(num)}-${MACRO_EXTEN}.wav,av(0)V(0))
exten => s,n,Dial(${ARG1},20,tT)
exten => s,n,Hangup()

;<<<<<HASTA ESTA LÍNEA<<<<<<<<<<<<<


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Análisis de la Grabación de llamadas
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Set=Asigna datos a una Variable
${STRFTIME()=Formatea a String(la fecha DATE)
${EPOCH}=Convierte a números tipo epoca a fecha
%C->Hora y Tiempo Local del servidor
${CALLERID(num)}=Es el Telefono Emisor
CDR(userfield)=Es una Variable que se irá a la Base de Datos
${CALLERID(num)}=Es el Emisor de la llamada
${MACRO_EXTEN}=Es el Receptor de la llamada
System=Ingresa a la consola de Linux para generar algún comando
/bin/mkdir=crea una carpeta en Linux con el nombre de una variable que le pasemos
MixMonitor=Graba Audio en una Ruta que le pongamos
Dial=Marca un número
${ARG1}=Es el Numero que viene desde una macro externa para generar alguna actividad

2
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2do Laboratorio Trabajar Linux
desde Asterisk Comando Reiniciar
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Cada vez que hagamos un cambio deberemos de poner el siguiente comando
EN PUTTY
!service asterisk restart && asterisk -rvvvvvvvvvvvvvvv
;<<<Acoplamos En etc/asterisk/extension.conf<<<<<<<<<<<<<<<
[General]
[globals]
ReiniciarServidor = init 6
[local]

exten =>777,1,Answer
exten =>777,2,Authenticate(1234)
exten =>777,3,System(${ReiniciarServidor})
exten =>h,1,Hangup()

3
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
3er Laboratorio Trabajar Linux
desde Asterisk Correo Emergencia
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//////////////////////////////////////////////////////////////
////En extensions.conf////
////////////////////marcando el */////////////////

[General]
[globals]
CorreoProfe =jumaycito@gmail.com
[local]
exten =>*,1,Answer
exten =>*,2,System(echo "tuapellido estan robando la empresa" | mail -s "robo en progreso" ${CorreoProfe})
exten =>*,3,Hangup()

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
4to Laboratorio Trabajar Asterisk

4
Como Programador de Despertador IP
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Cada vez que hagamos un cambio deberemos de poner el siguiente comando
EN PUTTY
!service asterisk restart && asterisk -rvvvvvvvvvvvvvvv
;<<<Copiamos En etc/asterisk/extension.conf<<<DESDE ESTA LÍNEA<<<<<<<<<<<<<
[General]
[globals]
CUSTOM_RECORDINGS=/mnt/compartidolinux/
[default]
exten => s,1,congestion
exten => s,2,Hangup
[local]

;<<<<<<grabar voz<<<<<<correcto despiertate<<<


;<<<record funcion que graba voces<<<<<<<<<<<<<<
;<<<<usando ruta en CUSTOM_RECORDINGS mnt compartidolinux<<<
exten => 9991,1,Record(${GLOBAL(CUSTOM_RECORDINGS)}/configuracionguardada.gsm)
exten => 9991,n,Hangup()

exten => 9992,1,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/configuracionguardada)


exten => 9992,n,Hangup()

exten => 9993,1,Record(${GLOBAL(CUSTOM_RECORDINGS)}/despiertate.gsm)


exten => 9993,n,Hangup()

exten => 9994,1,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/despiertate)


exten => 9994,n,Hangup()

;<<<<<<<<<<<<<<<Inicio 1era Parte<<<<>>>>>>>>>>>>>>>><<<<<<<<<<


;<<se marca el *43*+12numeros (YYYYDYMOHRMN)ejemplo=*43*+(201728040707)<<
exten => _*43*XXXXXXXXXXXX,1,Answer()
;<<<<<<<<<Salta 4 y tomas los siguientes 4 números como variable para el año<<<<<<<<
exten => _*43*XXXXXXXXXXXX,n,Set(year=${EXTEN:4:4})
;<<<Salta 8 y tomas los siguientes 2 números como variable para el dia<<<<<<<<<
exten => _*43*XXXXXXXXXXXX,n,Set(day=${EXTEN:8:2})
;<<<Salta 10 y tomas los siguientes 2 números como variable para el mes<<<<<<<<
exten => _*43*XXXXXXXXXXXX,n,Set(month=${EXTEN:10:2})
;<<<Salta 12 y tomas los siguientes 2 números como variable para la hora<<<<<<<<
exten => _*43*XXXXXXXXXXXX,n,Set(hours=${EXTEN:12:2})
;<<<Salta 14 y tomas los siguientes 2 números como variable para los minutos<<<<<<<<
exten => _*43*XXXXXXXXXXXX,n,Set(minutes=${EXTEN:14:2})
;<<<<<<<NoOp solo verifica en el cli<<<<<<<<<<<<<<
exten => _*43*XXXXXXXXXXXX,n,NoOp(ojito el numero para despertar es ${CALLERID(num)} con fecha ${day}.$
{month}.${year}.a las${hours}:${minutes})

;<<<<En Linux System crea un archivo en la carpeta temporales con Data de una llamada<<<<<

5
exten => _*43*XXXXXXXXXXXX,n,System(echo -e "Channel: SIP/${CALLERID(num)}\\nCallerID: "Despiertate
Amigo"<0000>\\nMaxRetries: 3\\nWaitTime: 60\\nExtension: 1\\nContext: despiertateamigo\\n" > /tmp/$
{UNIQUEID}.call)
;<<<<En Linux System usando el comando touch le cambia su fecha de modificacion al archivo temporal
exten => _*43*XXXXXXXXXXXX,n,System(touch -t ${year}${month}${day}${hours}${minutes} /tmp/$
{UNIQUEID}.call)
;<<System usando mv mueve el temporal a la carpeta de llamadas automaticas de fechas modificadas de asterisk
exten => _*43*XXXXXXXXXXXX,n,System(mv /tmp/${UNIQUEID}.call /var/spool/asterisk/outgoing/)
;<<<<reproduce configuración guardada en en /var/lib/asterisk/sounds/<<<<<<
exten => _*43*XXXXXXXXXXXX,n,Playback($
{GLOBAL(CUSTOM_RECORDINGS)}/configuracionguardada)
;<<<<<reproduce el valor de la hora programada
exten => _*43*XXXXXXXXXXXX,n,SayNumber(${hours})
;<<<<<reproduce el valor de los minutos programada
exten => _*43*XXXXXXXXXXXX,n,SayNumber(${minutes})
;<<<<cuelga<<<<<
exten => h,1,Hangup()
;<<<<<se crea el contexto despiertateamigo el cual hará la llamada programa

[despiertateamigo]
exten => 1,1,Answer()
;<<<<reproduce el mensaje despiertate que está en /var/lib/asterisk/sounds/<<<<<
exten => 1,n,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/despiertate)
;<<<<cuelga<<<<<
exten => h,1,Hangup()
;<<<<<<<<<<<<<<<<FIN 1era Parte<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>><<<<<<<<<<

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Análisis de Despertador
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
${EXTEN:4:4}=trabaja con el simbolo _ para asignar un valor a la marcación en este caso retrocede 4 y toma
las 4 desde su ubicación sin tomar en cuenta el caracter “ _ “
NoOp=solo nos mostrara en la pantalla de la consola de asterisk algun parametro esto se hace para
verificiacion no es un procedimiento
/tmp/${UNIQUEID}.call)=esta es una direccion de archivos temporales
touch=Sirve para cambiar o modificar la fecha de creación de un archivo
/var/spool/asterisk/outgoing/=su característica de esta ruta es que genera un procedimiento de acuerdo a la
fecha de creación que tiene ese archivo
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
5to Laboratorio Trabajar Asterisk
Como Contestador IP con Periodos de Tiempo

6
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-----------------------------------------------
Con este comando podrás cambiar fecha y hora
a linux para comprobar tu plan de marcación
PUTTY CLI DE ASTERISK
!date --set "2017-04-30 23:00"
------------------------------------------------

[General]
;<<<<<<<<<Inicio 1era Parte<<<<<<<<<<<lo que esta adentro<<<<<<<<<<<<<>>>>>
[globals]
CUSTOM_RECORDINGS=/mnt/compartidolinux/
;<<<<<<<<<<Fin 1era Parte<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>
[default]
exten => s,1,congestion
exten => s,2,Hangup
[local]

;<<<<<<<<<<<<<<<Inicio 2da Parte<<<<<<<<<<lo que esta adentro<<<<<<<<


exten => 8991,1,Answer()
exten => 8991,n,Wait(0.5)
exten => 8991,n,Record(${GLOBAL(CUSTOM_RECORDINGS)}/buenosdias.gsm)
exten => 8991,n,Hangup()
exten => 8992,1,Answer()
exten => 8992,n,Wait(0.5)
exten => 8992,n,Record(${GLOBAL(CUSTOM_RECORDINGS)}/buenastardes.gsm)
exten => 8992,n,Hangup()
exten => 8993,1,Answer()
exten => 8993,n,Wait(0.5)
exten => 8993,n,Record(${GLOBAL(CUSTOM_RECORDINGS)}/buenasnoches.gsm)
exten => 8993,n,Hangup()
exten => 8994,1,Answer()
exten => 8994,n,Wait(0.5)
exten => 8994,n,Record(${GLOBAL(CUSTOM_RECORDINGS)}/cerrado.gsm)
exten => 8994,n,Hangup()
exten => 94,1,Answer
exten => 94,n,NoOp(contestar con horario)
exten => 94,n,GotoIfTime(6:00-12:00,mon-fri,*,*?horario,buenosdias,1)
exten => 94,n,GotoIfTime(12:00-18:00,mon-fri,*,*?horario,buenastardes,1)
exten => 94,n,GotoIfTime(18:00-22:00,mon-fri,*,*?horario,buenasnoches,1)
exten => 94,n,Goto(horario,cerrado,1)
exten => h,1,Hangup()
;<<<<<este es otro contexto

[horario]
<<<<<<<buenosdias<<<<<<<<<<<<
exten => buenosdias,1,Answer()
exten => buenosdias,n,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/buenosdias)
;<<<<sonara el archivo hello-world que está en /var/lib/asterisk/sounds/<<<<<

7
exten => h,1,Hangup()
;<<<<<<<buenostardes<<<<<<<<<<<<
exten =>buenastardes,1,Answer()
exten => buenastardes,n,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/buenastardes)
;<<<<sonara el archivo hello-world que está en /var/lib/asterisk/sounds/<<<<<
exten => h,1,Hangup()
<<<<<<<buenasnoches<<<<<<<<<<<<
exten =>buenasnoches,1,Answer()
exten => buenasnoches,n,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/buenasnoches)
;<<<<sonara el archivo hello-world que está en /var/lib/asterisk/sounds/<<<<<
exten => h,1,Hangup()
<<<<<<<cerrado<<<<<<<<<<<<
exten =>cerrado,1,Answer()
exten => cerrado,n,Playback(${GLOBAL(CUSTOM_RECORDINGS)}/cerrado)
;<<<<sonara el archivo hello-world que está en /var/lib/asterisk/sounds/<<<<<
exten => h,1,Hangup()
;<<<<<<<<Fin 2da Parte<<<<<<<<<<<<<<<<<<<<<>>>>>>>
-----------------------------------------------
Con este comando podrás cambiar fecha y hora
a linux para comprobar tu plan de marcación
PUTTY CLI DE ASTERISK
!date
!date --set "2020-07-08 10:00"
!date --set "2020-07-08 16:00"
!date --set "2020-07-08 20:00"
!date --set "2020-07-08 2:00"
------------------------------------------------

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
6to Laboratorio Trabajar Asterisk
JUNTANDO todo el Plan de Llamadas COMPLETO

8
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

https://docs.google.com/document/d/1xds3FrzqGaO8REwPuvGQquxlVE-UaLSETkaYHoU3-TU/edit

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
7mo Laboratorio Trabajar Asterisk
Como WOL en Plan de Llamadas
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-----------------------------------------------
Prepararemos nuestro bios para que pueda encender con wake on lan
Cada Bios es diferente

9
-----------------------------------------------

*Wake Up IP con Asterisk(Prender Computadoras)


(2 Máquinas)
1) Presionando “F2”o”F10”o “esc” o”suprimir” ingresar al bios y Habilitar WOL en el BIOS en la maquina que quieres
encender (Que no sea nuestro Linux con Asterisk)
En estos días casi todas las placas madres integran el NIC Wake-on-LAN, será necesario que habilite en el BIOS
Wake-on-LAN. Busca en el BIOS de tu placa la opción típica: "Enable Wake-on-LAN"..
2) Ahora en nuestro Linux
yum -y install ethtool
3)Averiguar la Mac Address Si tu maquina es Windows en cmd pones” getmac /v /fo list “y si la máquina es
Centos(Linux) pones” ip addr “(Toma nota de tu Interface que se conecta a la red y su Mac Addres 12 Digitos-
>2C:60:0C:9D:FD:99 )
4) Ahora encenderemos nuestra pc desde una llamada 5000 de asterisk en extensión ponemos lo siguiente para
marcar
[General]
[globals]
PRENDER_LAPTOP = ether-wake 2C:60:0C:9D:FD:99
[default]
exten => s,1,congestion
exten => s,2,Hangup

10
[local]
exten => 9991,1,Answer()
exten => 9991,n,Wait(0.5)
exten => 9991,n,Record(prendelaptop.gsm)

exten=>5000,1,Answer
exten=>5000,2,Playback(prendelaptop)
exten=>5000,3,System(${PRENDER_LAPTOP})
exten => h,1,Hangup()

Tareita para la casa


Una imagen (PrintScreen)del CLI de tu asterisk generando
ether-wake con la mac de tu laptop o PC

11

You might also like