martes, 30 de enero de 2018

Usar Festival en Issabel para realizar llamadas por medio de web service


El siguiente es la documentación de un proyecto que hice para la empresa donde trabajo, lo que requería era que mediante un webservice, Issabel recibiera dos parámetros: número de teléfono y mensaje, el mensaje se debía recitar al número enviado en español, para ello debía usar un TTS, aprovechando que Issabel trae el motor de Festival usé este.



Paso 1:  Habilitar desde el GUI el Festival desde herramientas - Festival

Paso 2: Instalar el lenguaje Español para Festival:


yum install hispavoces-sfl-diphone

Luego, modificar este archivo:


/usr/share/festival/lib/voices.scm



/usr/share/festival/lib/voices/es/.....


En el, buscar:


(defvar default-voice-priority-list
'(nitech_us_slt_arctic_hts
nitech_us_awb_arctic_hts
........
)

Para que quede asi:
(defvar default-voice-priority-list
'(JuntaDeAndalucia_es_sf_diphone
nitech_us_slt_arctic_hts
nitech_us_awb_arctic_hts
.......



recargamos asterisk y festival:

asterisk -rx reload

service festival restart

sip show peers

sip show registry

Log de asterisk tail -f /var/log/asterisk/full

Ubicación de grabaciones
\var\spool\asterisk\monitor



ingresar a consola debug
asterisk -r
core set verbose 10

Personalizar audio de buzón
en /var/spool/asterisk/voicemail/default
dentro de la carpeta de cada extensión se debe crear audio .wav así:
busy.wav
unavail.wav

Después de esto al probar va a sonar el audio personalizado pero también el audio de asterisk, por eso se debe ingresar a : 

/var/lib/asterisk/sounds/en/  y renombrar el vm-intro.gsm por otro nombre y crear un archivo vacío con el nombre de vm-intro.gsm, de esto modo sólo sonará el audio personalizado.

festival

(voice.list)


para probar, podemos poner esto en extensions_custom.conf y realizar una llamadas desde una extensión válida a la extensión 645.


exten => 645,1,Answer()
exten => 645,n,Festival(esta es una prueba de festival en español)
exten => 645,n,Hangup()

Es posible que la velocidad de la voz sea muy rápida, para disminuir o aumentar la velocidad podemos editar el archivo  JuntaDeAndalucia_es_sf_duration.scm en la ubicación:


/usr/share/festival/lib/voices/es/JuntaDeAndalucia_es_sf_diphone/festvox

y buscamo en donde dice:


;;Speed up the voice with Duration_Stretch. An 0.8 value is recommended. The lowest the value, the shortest the predicted duration.
(Parameter.set 'Duration_Stretch 0.9)

una velocidad buena es 1.1


Festival quedó listo!

Lo siguiente es lograr levantar una llamada automáticamente desde Asterisk y que dicte un texto de prueba, la forma en que lo hice fue por medio de la cola de llamadas de asterisk, creando un archivo .call en /var/spool/asterisk/

El siguiente archivo llamará a la extensión 201 con la información que se encuentre en la configuración del extension en 645

Channel: SIP/201

MaxRetries: 2
Callerid: "Prova" <201>
RetryTime: 2000
WaitTime: 30
Archive: yes
Context: from-internal
Extension: 645
Priority: 1
Account: 10012

se guarda el archivo prueba.call y se debe copiar en la carpeta /var/spool/asterisk/outgoing/ de esta manera asterisk ejecuta la acción.



En archivo Extensions_Custom.conf se define el contexto de la siguiente manera


[custom-agiphp]
exten=>646,1,Answer
exten=>646,2,AGI(demoagi.php)
exten=>646,5,Hangup



El archivo demoagi.php debe ubicarse en /var/lib/asterisk/agi-bin/




#!/usr/bin/php -q

<?php

require("/var/lib/asterisk/agi-bin/phpagi.php");

error_reporting(E_ALL);

$agi = new AGI();
$agi->answer();
$agi->exec(Festival,'"Mensaje de prueba"') ;

$agi->hangup();
?>


viernes, 12 de mayo de 2017

Expandir Partición LVM con Gparted - Linux

Actualmente el sistema operativo tiene asignado 32 GB usando LVM, si usamos el comando cfdisk veremos la siguiente información:
gparted-cfdisk
Tenemos dos particiones, una llamada sda1 que usa el sistema de ficheros ext2, es la boot y la sda5 que es la que usa LVM
Por lo tanto, una vez hayamos añadido espacio a la partición sda5, deberemos asignarle el espacio, pero vayamos por partes como diría jack.
Estamos hablando de una máquina virtual, así que ampliar el espacio no es difícil. Yo estoy utilizando en éste caso un cliente vSphere 5.0 para conectarme a un host con VMWARE.
Para hacerlo apagamos el servidor virtual y desde el panel nos vamos a la configuración de dicha máquina. Ampliaremos la capacidad del disco de 32 GB a 64 GB.
gparted-vsphere-01
Una vez realizado éste paso, debemos de iniciar la máquina virtual con el Live-CD de Gparted.
Para que arranque desde la ISO recordad que debéis acceder a la BIOS con F2 y cambiar el orden de arranque. Si todo ha ido bien ya podremos ver el menú de inicio.
gparted-livecd-01
A partir de aquí usaremos la configuración por defecto que es la primera opción, escogeremos nuestro idioma, que en mi caso es el número 25, que corresponde con el español y el resto lo dejamos por defecto. Una vez hecho esto nos aparecerá la ventana gráfica con la situación actual de nuestros discos:
gparted-particionado-001
Se puede observar que efectivamente ha detectado la ampliación de 32 GB que está por asignar.
Ampliar la partición es bastante fácil, con el ratón marcos la partición /dev/sda2 ,y con el botón derecho del ratón se nos abrirá un desplegable y escogemos “Redimensionar/mover”
gparted-particionado-002
Entonces veremos una nueva ventana donde nos indica el espacio actual usado, el anterior y posterior, es decir, digamos que el disco es una línea recta, simplificando, y podemos escoger ampliar el disco a uno u otro lado de dicha línea.

Nota: Si la partición está montada, gparted no permitirá realizar modificaciones a las particiones, por lo tanto debemos desmontar primero la partición y proceder de nuevo con el redimensionamiento.
gparted-particionado-003
Vemos que el nueva espacio está a continuación, lo usaremos todo. Para que quede de la siguiente manera:
gparted-particionado-004
Y marcamos sobre “Redimensionar/mover” y “Aplicar” que está en la parte superior de la ventana.  La velocidad del proceso depende de la configuración de CPU y memoria asignada a dicho servidor virtual.
gparted-particionado-005
El siguiente paso es hacer lo propio con la partición /dev/sda5 y dar el espacio sin asignar. Con estos dos pasos ya tendremos todo el trabajo con Gparted terminado.
 gparted-particionado-006Ahora nos toca arrancar el sistema y cruzar los dedos que todo vaya bien…, es broma, seguro que todo irá bien (Aunque antes de hacer todo esto siempre viene bien hacer una copia de seguridad o snapshot)
Una vez iniciado podemos comprobar el estado del disco con el comando y parámetros df -h
gparted-lvm-001
Nos puede sorprender y podemos pensar que no lo hemos hecho bien, ya que sólo tenemos 31 GB disponibles, eso es debido a que tenemos que asignar el espacio libre. Eso es debido a que el sistema LVM, que ya hablé de el hace unos días, no ha asignado el espacio libre. Si usamos el comando vgdisplay lo podremos confirmar:
gparted-lvm-002
Justo al final vemos que tenemos 32,00 GB libres. Vamos a usar el comando lvresize para ampliar el espacio.
En mi caso sería así:
1
lvresize -L +32GB /dev/mapper/vDebian7-root
Si todo va bien veremos la siguiente respuesta:
gparted-lvm-003
Ahora procederems a desmontar la unidad /dev/mapper/vDebian-root para poder redimensionarla.

Para ver el path de la unidad:


1
lvdisplay | grep Path
umount /dev/mapper/vDebian-root
Quizás a la primera no nos deje y tengamos que cerrar algún proceso.
Y por último usaremos el comando resize2fs
1
resize2fs /dev/mapper/vDebian-root
Si volvemos a usar el comando vgdisplay nos indicará que ya tenemos todo el espacio ocupado.

martes, 7 de marzo de 2017

Renew an Exchange Certificate: Exchange 2010 - Renovar certificado de Exchange 2010


Cuando se requiere realizar la renovación de un certificado para los servicios de exchange, tenemos dos opciones, crear un nuevo certificado o renovar el certificado existente, en esta entrada veremos el proceso para renovar el certificado existente en Microsoft Exchange 2010.
El primer paso será generar la solicitud de renovación de certificado en la administración del Exchange. Renew Exchange self-signed certificate



Con el siguiente comando, se envía la solicitud al CA para firmar el certificado.

certreq -submit -attrib "CertificateTemplate:WebServer" C:\temp\solicitud.req

Respuesta

Active Directory Enrollment Policy
  {58B3E0FE-3905-4E2C-B679-F63C498F6BA1}
  ldap:
RequestId: 31
RequestId: "31"
Certificate request is pending: Taken Under Submission (0)


La respuesta va a mostrar un id asociado a la solicitud que llegó al CA o servidor que otorga el certificado

Se debe ingresar a la autoridad de certificación (Certification Autority) y allí aparecerá la solicitud de certificado que se generó previamente, se identifica por el número de ID.



Al dar clic derecho, se selecciona la tarea ISSUE (Expedir), de este modo el certificado estará emitido por la CA.


de vuelta en la máquina Cliente, otorgado el ID 31, el siguiente comando trae el certificado desde el servidor CA.

certreq -retrieve 31 C:\temp\solicitud.req

Active Directory Enrollment Policy
  {58B3E0FE-3905-4E2C-B679-F63C498F6BA1}
  ldap:
RequestId: 31
RequestId: "31"
Certificate retrieved(Issued) Issued  Resubmitted by RollosIT

y una vez el certificado fue traído, se ejecuta el siguiente comando para instalarlo en el cliente.

certreq -accept C:\temp\solicitud.req

La respuesta debe ser vacía.


Una vez el certificado fue instalado, sólo resta asignarle los servicios en la administración del Exchange.










Entrenamiento gratuito de Microsoft – Diplomados Cloud + Open Source

Microsoft Latinoamérica tiene el gusto de invitarte a participar de los DIPLOMADOS CLOUD + OPEN SOURCE, donde tendrás la oportunidad de elegir una o más de las siguientes 5 ESPECIALIZACIONES:
Cloud + Open Source para la Educación.
Cloud + Open Source para Infraestructura de Nube.
Cloud + Open Source para DevOps.
Cloud + Open Source para Data & Analytics.
Especialista Cloud + Open Source
El entrenamiento es gratuito, de Nuevo, y todo el que participe y llegue a feliz término el diplomado y, además, apruebe el examen final, se hará a un diploma con valor curricular expedido por Microsoft Latinoamérica.
El cupo es limitado. Así que si te interesa uno, varios o todos, regístrate en https://www.microsoftdiplomados.com cuanto antes.
Los entrenamientos están disponibles desde el 13/02/2017, cada uno tiene una duración de cinco semanas y el formato es en línea, en formato de aula virtual.
Recomendación: Para poder sacar el máximo provecho de esta certificación, Microsoft recomienda tener una cuenta de Microsoft Azure. Si aún no tienes una, puedes crear una cuenta gratuita con un crédito de $200 en el siguiente enlace: www.aka.ms/ossfreeazuretrial.