lunes, 16 de enero de 2012

Convertir servidor fisico en virtual con VMvare Vcenter convert

En este documento vamos a explicar como convertir un servidor fisco a virtual, para luego utilizarlo con PROXMOX.
Detallaremos los pasos que hay que seguir para esta conversión, para el ejemplo convertiremos un servidor que tiene instalado Windows 2008 server R2. Lo bueno de esto es que la conversión se hace en caliente.

PREREQUISITOS

Deben instalar VMware vCenter Converter Standalone Client 5 que se puede bajar de la pagina de VMWARE https://www.vmware.com/tryvmware/index.php

Paso a Paso

1-     Oprimimos “Config machine”




2-     Nos parece la siguiente pantalla SOURCE SYSTEM, donde colocaremos en “Select source type: Power on machine” , en IP address or name: la IP del servidor físico a virtualizar y en el campo de username y password pondremos el usuario con privilegios que pueda acceder a nuestro Server (mi_dominio\administrador).




3-     Nos aparecerá un cartel donde elegiremos la opción “Automatically uninstall the files when import succeeds”.





4-     En “Select Vmware product ”  seleccionamos VMWARE SERVER 2.x, en “Virtual Machines detail” por lo general nos pone automáticamente el nombre de nuestro servidor físico, sino ingresamos manualmente el nombre en ese campo, en  “Select location for the virtual machine” colocamos el path de nuestra PC donde guardaremos la maquina virtual que luego exportaremos (ej \\10.10.10.20\mi_Servidor_virtual), en “enter credentials ” debemos ingresar el usuario (mi_dominio\administrador) con su password.




  

5-     En esta pantalla OPTIONS podremos editar y sacar el hardware que no queremos virtualizar, por ejemplo si el servidor tiene 2 discos como este caso y hay un disco que no nos interesa virtualizar, lo podemos editar y destildar el disco que no queremos virtualizar.


6-     Luego en la pantalla Summary nos da un resumen de que servidor se va a virtualizar y en donde se guardará la maquina virtual. Le damos al botón FINISH y comenzara el proceso de virtualizacion del servidor físico.





7-     Nos aparecerán las siguientes pantallas.






8-     Una vez finalizado veremos que en donde guardamos nuestra maquina virtual tendremos un archivo que se llamara mi_servidor.vmdk. Ya con esa imagen la podemos copiar mediante scp al servidor proxmox o al VMWARE Server 2.x o lo que usen para virtualizar y levantar nuestro nuevo servidor Virtualizado.
9-     Por ultimó si todo quedo bien apagaremos el servidor físico y le pondremos al servidor virtual  la misma IP del servidor físico.

FUENTE: http://communities.vmware.com/

Instalación de Asterisk 1.6


En este documento detallaremos los pasos necesarios para instalar Asterisk sobre Linux.
Requisitos

SO: Debian Lenny

Actualizamos repositorio nuestro Debian:

aptitude update

Reiniciamos:

reboot

Ponemos bien fecha y horario del servidor sino asterisk no se instala:
# aptitude install ntpdate

# ntpdate -u time.sinectis.com.ar
Otros servidores posibles para usar son tick.nap.com.ar o tock.nap.com.ar

Instalamos dependencias necesarias:
# apt-get install linux-headers-`uname -r`

# apt-get install libc6-dev zlib1g-dev bison openssl libssl-dev libasound2 libasound2-dev libslang2-dev libnewt-dev libncurses5-dev binutils cpp-4.1 gcc-4.1 libstdc++6-4.1-dev g++ make libpq5 libapr1 libexpat1 libaprutil1 libxml2 fxload libusb-dev libiksemel-dev zlib-bin libc6-dev libbluetooth2-dev libxml2-dev

Instalamos Libpri:

El empaquetado de libpri da a nuestra central telefónica la posibilidad de realizar conexiones a líneas primarias de telefonía como las que existen en las pstn

/usr/src# wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
/usr/src# tar xvzf libpri-1.4-current.tar.gz

cd /usr/src/libpri-1.4*
make
make install

Intalamos Dahdi:

El paquete dahdi-linux provee a nuestro servidor de drivers para las tarjetas de conexion a las lineas de telefonia tradicional

/usr/src# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.3.0.1+2.3.0.tar.gz

Descomprimimos dadhi

/usr/src# tar -zxvf dahdi-linux-complete-2.3.0.1+2.3.0.tar.gz

Instalamos dahdi

/usr/src/dahdi-linux-complete-2.3.0.1+2.3.0# make all

/usr/src/dahdi-linux-complete-2.3.0.1+2.3.0# make install

/usr/src/dahdi-linux-complete-2.3.0.1+2.3.0# make config


Instalamos Asterisk:

/usr/src# wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.2.6.tar.gz

o si queremos bajar la version 1.8

/usr/src# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.5.0.tar.gz
/usr/src# tar xvzf  asterisk-1.6.2.6.tar.gz

cd /usr/src/asterisk-1.6*

/usr/src/asterisk-1.6.2.6# ./configure
/usr/src/asterisk-1.6.2.6# make
/usr/src/asterisk-1.6.2.6# make install
/usr/src/asterisk-1.6.2.6# make samples

Con esto para que este en el inicio
/usr/src/asterisk-1.6.2.6# make config

Instalamos Asterisk-Addons:
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.3.tar.gz
tar xvfz asterisk-addons-1.6.2.3.tar.gz
cd /usr/src/asterisk-addons*
./configure && make && make install
make samples




Si queremos instalar un entorno web administrable

Instalamos Asterisk-GUI:
cp -r /etc/asterisk /etc/asterisk.bak
cd /usr/src
svn co http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui

cd /usr/src/asterisk-gui
./configure && make && make install
make samples

Modificamos los archivos de configuración de acceso de Asterisk-GUI:
cat << EOF >/etc/asterisk/http.conf
[general]
enabled=yes
enablestatic=yes
bindaddr = 10.10.200.38
bindport = 8088
EOF

cat << EOF >/etc/asterisk/manager.conf
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
;httptimeout = 60
bindaddr = 0.0.0.0

[admin]
secret = admin
read = system,call,log,verbose,command,agent,config
write = system,call,log,verbose,command,agent,config
EOF


Verificamos la configuración:
make checkconfig
reboot
asterisk -r
exit

Intentamos ingresar mediante interfaz WEB a Asterisk:
http://IPADDRESS:8088/static/config/cfgbasic.html

lunes, 9 de enero de 2012

Listas Negras.


En este documento detallaremos los pasos necesarios para configurar las listas negras. Las listas negras se usa si uno no quiere recibir llamada del algún número en particular puede rechazar estas llamadas de manera automática.
En el archivo/etc/asterisk/extensions.conf agregamos las siguientes líneas:



[phones]
include => internal

 [internal]

exten => 2004,1,Macro(blacklist,${CALLERID(num)})
exten => 2004,n,Dial(SIP/${EXTEN},20,t)

;;;;; macro de blacklist

[macro-blacklist]
; Aufruf: Macro(blacklist,${CALLERID(num)})
exten => s,1,GotoIf(${DB_EXISTS(blacklist/${ARG1})}?black)
exten => s,10(black),NoOp(${ARG1} is in the blacklist)
exten => s,n,Busy(5)
exten => s,n,Hangup()




Coloca el interno 2001 en la base de datos de blacklist

Ratchet*CLI>database put blacklist 2001 1

Borra al interno 2001 de la base de datos de la blacklist

Ratchet*CLI>database del blacklist 2001 1


Muestra la base de datos de blacklist

Ratchet*CLI> database show blacklist
/blacklist/2001                                   : 1

1 results found.

 

Diagrama de funcionamiento de las listas negras






Cómo funcionan las listas negras.

En este ejemplo mostramos como una llamada desde un interno cualquiera (2XXX) llama a la extensión 2002 donde el usuario activó el DND (do no disturb) presionando las teclas 99.  Como el interno 2002 tiene activada esta opción el llamante solo podrá dejar un mensaje en el buzón de mensajes del interno 2002. Si se desea desactivar esta opción se hace nuevamente oprimiendo las teclas 99.

jueves, 5 de enero de 2012

Modo diurno/nocturno


En este documento detallaremos los pasos necesarios para customizar nuestro IVR. La idea es que si algún agente externo llama a la empresa dependiendo de la hora atienda una operadora Supongamos que nuestra empresa trabaja en el horario de 9:00 a 18 hs

 Para realizar esta tarea seguiremos los siguientes pasos:
editamos el archivo /etc/asterisk/extensions.conf.
agregamos las líneas en el contexto default.

[internal]

exten => 2000,1,GotoIfTime(9:00-18:00|mon-fri|*|*?menu-dia,s,1) ; si el horario esta entre las 9:00 y 18:00 va al contexto menu-dia, extension s, prioridad 1
exten => 2000,2,GotoIfTime(18:01-8:59|mon-fri|*|*?menu-noche,s,1) ; si el horario esta entre las 18:01 y 8:59 va al contexto menu-noche, extension s, prioridad 1


[menu-dia]
exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Background(menudia2) ; ejecuta  el IVR diurno
exten => s,4,WaitExtend(5)

[menu-noche]
exten=>s,1,Answer
exten=>s,2,Wait(1)
exten=>s,3,Playback(menunocturno) ; ejecuta  el IVR nocturno
exten=>s,4,Hanguprandom=yes


 Diagrama de comportamiento de IVR modo diurno/nocturno




Cómo funciona el IVR modo diurno/nocturno.

Cuando una llamada entrante llega al IVR de la empresa, la central verifica el horario de llamada y según este ejecuta el mensaje correspondiente. Si el horario esta entre las 9:00 y 18:00 atiende el IVR diurno el cual lo comunicara con la extensión que el llamante oprima o en su defecto con la operadora. Sin embargo si  el horario esta entre las 18:01 y 8:59 se ejecutara el IVR nocturno informándole al llamante el horario de atención de la empresa.

miércoles, 28 de diciembre de 2011

Restricción de llamadas por interno.



En este documento detallaremos los pasos necesarios para configurar la restricción de llamadas de un  interno. En este ejemplo veremos como restringir que el interno 2002 solo pueda llamar a los internos 2001 y 2004.
En el archivo/etc/asterisk/extensions.conf agregamos las siguientes líneas

Creamos el contexto restringidos
[restringidos]
exten => 2001,1,dial(sip/2001)
exten => 2004,1,dial(sip/2004)
exten => _2xxx,1,Playback(pbx-invalid)                        


En el archivo /etc/asterisk/sip.conf agregamos en el contexto 2002 que es el interno que queremos restringirle las llamadas, la línea context=restringidos que es a donde le decimos que pertenece este interno.

[2002]
type=friend
callerid=Compras <2002>
host=dynamic
context=restringidos
secret=9876
;disallow=all
allow=alaw
allow=ulaw
allow=gsm
mailbox=2002@default


 


Diagrama de funcionamiento de restricción de llamada




Cómo funciona la restricción de llamada.

1-      En este ejemplo mostramos como una llamada desde el interno 2002 puede llamar al interno 2001. Cuando el usuario del interno 2002 quiera llamar a otro interno como por ejemplo, el 2003, se escuchara un mensaje diciendo que ese interno es invalido.

jueves, 15 de diciembre de 2011

Código de autorización “PIN”

En este documento detallaremos los pasos necesarios para que los usuarios puedan realizar llamados mediante una clave de acceso.

La idea para implementar el PIN es crear un archivo distinto por cada clase de servicio, por ejemplo los gerentes que tienen que tener permitido todo tipo de llamados se pondrán en el archivo TODOS, otros empleados que solo pueden llamar a teléfonos internos deberán ir en el archivo INTERNOS, y así sucesivamente lo mismo para llamadas para celulares, Nacionales, Internaciones.

Para realizar esta tarea seguiremos los siguientes pasos:

creamos el archivo /etc/asterisk/interno y agregamos los códigos autorizados para poder realizar llamadas a todos, fijos, celulares, etc.

1234567

2365489

1258741


agregamos las líneas en rojo en el contexto internal en el archivo /etc/asterisk/extension.conf.



[internal]exten => _2XXX,1,Answer() ; contestamos la llamada

exten => _2XXX,n,Authenticate(/etc/asterisk/todos) ; pide codigo

exten => _2XXX,n,Playback(pin-number-accepted)

exten => _2XXX,n,Set(NUM=${DB(${EXTEN}/FORW)}) ;

exten => _2XXX,n,GotoIf($["${NUM}" = ""]?normal:forw) ;

exten => _2XXX,n(normal),Goto(${EXTEN},10) ; llamamos la extension

exten => _2XXX,n,Hangup() ; terminamos la llamada

exten => _2XXX,n(forw),DIAL(SIP/${NUM},60) ;

exten => _2XXX,n,Hangup() ; terminamos la llamada

realizamos un dialplan reload para recargar el dialplan.

Ratchet*CLI> dialplan reload


Diagrama de comportamiento de funcionamiento con PIN



 Cómo funciona el llamado con PIN.

En el ejemplo vemos como una extensión 2002 llama al interno 2001, cuando el usuario marca el interno destino, la operadora le pedirá que ingrese el interno seguido de la tecla “#”, si el PIN es correcto realiza la llamada al destino, si el PIN es incorrecto la operadora le avisa que el PIN es incorrecto que vuelva a ingresarlo y así seguir con la secuencia menciona anteriormente.

No Molestar/ Do not disturb

En este documento detallaremos los pasos necesarios para configurar la función de no molestar o do not disturb. El do not disturb nos permite no ser molestado por llamadas telefónicas pero permitiendo que si alguien nos llame puede dejarnos un mensaje en el contestador.

En el archivo/etc/asterisk/extensions.conf agregamos las siguientes líneas:






 [phones]

include => internal

[internal]

;;;;;desvio de llamada,


exten => _2XXX,1,Answer() ; contestamos la llamada

exten => _2XXX,n,Set(NUM=${DB(${EXTEN}/FORW)})

exten => _2XXX,n,GotoIf($["${NUM}" = ""]?normal:forw)

exten => _2XXX,n(normal),Goto(${EXTEN},8) ; enviamos a la línea 8

exten => _2XXX,n,Hangup() ; terminamos la llamada

exten => _2XXX,n(forw),DIAL(SIP/${NUM},60) ;

exten => _2XXX,n,Hangup() ; terminamos la llamada

;;;;; do not disturb

exten => _2XXX,n,GotoIf(${DB_EXISTS(DND/${EXTEN})}?DND-ON)

exten => _2XXX,n,Dial(SIP/${EXTEN},20,t) ; DND is OFF, start dialing

exten => _2XXX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)

exten => _2XXX,n(busy),Voicemail(${EXTEN}@default,b)

exten => _2XXX,n,hangup

exten => _2XXX,n(unavail),Voicemail(${EXTEN}@default,u)

exten => _2XXX,n,hangup

exten => _2XXX,n(DND-ON),Goto(${EXTEN},13)

exten => h,1,Hangup

;;;; con 99 activo y desactivo el DND

exten => 99,1,Macro(DND)
exten => 99,n,Hangup

[macro-DND]

exten => s,1,GotoIf(${DB_EXISTS(DND/${CALLERID(num)})}?disable-dnd,1)

exten => s,n,Set(DB(DND/${CALLERID(num)})=1)

exten => s,n,playback(do-not-disturb)

exten => s,n,playback(activated)

exten => s,n,hangup

exten => disable-dnd,1,Set(DEL=${DB_DELETE(DND/${CALLERID(num)})})

exten => disable-dnd,n,playback(do-not-disturb)

exten => disable-dnd,n,playback(de-activated)

exten => disable-dnd,n,hangup

 

Explicación del contexto [internal] la parte de “do not disturb”

Si el registro existe en la base de datos de asterisk (línea 1) la llamada será enviada a la extensión con etiqueta DND-ON, y de ahí a la extensión _2XXX prioridad 13. Esto significa que la llamada será transferida al contestador y al llamante será anunciado que la persona en la extensión XXXX no se encuentra disponible y le dará la opción de dejar un mensaje.

Si el registro no existe se procesará la línea dos y se llamará la extensión marcada. Luego según esté ocupada o en otra condición, la llamada se enviará a la correspondiente parte del plan de llamadas

Explicación del contexto [macro-DND]

En la primera línea controlamos si en la base de datos de Asterisk existe un valor asociado a la familia DND y nuestro número de extensión (CALLERID). Si no existe lo creamos con la línea 2 y le asignamos el valor 1. Luego usamos las voces de asterisk para anunciar que “No disturbar” ha sido activado.

En el caso que el registro ya existe en la base de datos, el Gotoif nos llevará a la extensión disable-dnd, prioridad 1 donde borraremos el registro y anunciaremos que el “No disturbar” ha sido desactivado.

 

Diagrama de funcionamiento del do not disturb



 

Cómo funciona el DND (do not disturb).

 

1-      En este ejemplo mostramos como una llamada desde un interno cualquiera (2XXX) llama a la extensión 2002 donde el usuario activó el DND (do no disturb) presionando las teclas 99.  Como el interno 2002 tiene activada esta opción el llamante solo podrá dejar un mensaje en el buzón de mensajes del interno 2002.

2-      Si se desea desactivar esta opción se hace nuevamente oprimiendo las teclas 99.