viernes, 20 de mayo de 2011

SERVICIO DE FAX EN ELASTIX

Primero debemos crear una extensión IAX.









Para nuestro caso elegimos la 401 y llenamos los siguientes campos.
User Extension = 401
Display Name = FAX
Secret = passwordfax

Una vez creada la extensión seleccionamos la pestaña superior que dice FAX y luego en la parte izquierda la opción New Virtual Fax. Allí introducimos los datos de nuestra extensión de Fax y el correo al cual queremos que nos lleguen los Faxes.





Recuerde que una vez creado nuestro FAX deberá aparecer con status Running and idle on ttyIAX1 de lo contrario no esta corriendo nuestro servicio de haylafax o IAXmoden en nuestra maquina. Por lo cual se debe iniciar por consola con las siguientes lineas.


# service iaxmodem start
# service hylafax start


Listo ya se puede decir que podemos recibir nuestros Faxes correctamente a nuestra maquina, pero no a nuestro correo. Para ello debemos configurar nuestro Postfix.

Configurando el servidor Postfix

La configuración de nuestro servidor postfix se encuentra en el archivo /etc/postfix/main.cf por tanto:

cd /etc/postfix
vi main.cf


Luego cambiamos las siguientes líneas:

#myhostname = host.domain.tld
#myhostname = virtual.domain.tld

Por:

myhostname = elastix.mydominio.com
#myhostname = virtual.domain.tld


Luego cambiamos:

#mydomain = domain.tld

Por:

mydomain = mydominio.com

ahora ingresamos el servidor SMTP por el cual se enviara el correo, que en nuestro caso es GMAIL.

#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]


Por:

#relayhost = $mydomain
#relayhost = [gateway.my.domain]
relayhost = smtp.gmail.com:587
#relayhost = uucphost
#relayhost = [an.ip.add.ress]


Guardamos los cambios realizados a main.cf, luego recargamos la configuración de POSTFIX.


postfix reload


Luego necesitas modificar otra vez el archivo main.cf con los siguientes cambios, estos estan al final del archivo.

################################
#Ingresado por yb-webadmin
mydomain =mydominio.com
myhostname = elastix.mydominio.local


Configurando la cuenta de correo
Creamos el archivo sasl_passwd (sin extension)

vi /etc/postfix/sasl_passwd

Dentro del archivo registramos la cuenta de correo (existente) y su respectiva clave, esta es la cuenta desde la cual se enviaran los correos.


smtp.gmail.com:587 usuario@gmail.com:miclavedegmail


Grabamos el archive sasl_passwd.
Luego lo ciframos:

postmap hash:/etc/postfix/sasl_passwd

Luego editamos el archive main.cf

vi /etc/postfix/main.cf

Agregamos las siguientes lineas al final

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =


grabamos el archivo y recargamos la configuracion del POSTFIX.

postfix reload

Como gmail usa SSL, necesitamos un certificado SSL, así que creamos uno propio, el cual será usado por el TLS

mkdir /etc/postfix/tls
cd /etc/postfix/tls
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

Dejar el 'challenge password' vacio:
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Agregar las siguientes lineas en el archivo /etc/postfix/main.cf:

smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/tls/smtpd.key
smtpd_tls_cert_file = /etc/postfix/tls/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
tls_daemon_random_source = dev:/dev/urandom


Reiniciamos los servicios:

service saslauthd restart
service postfix restart


Para que inicien en el boot:

chkconfig postfix on
chkconfig saslauthd on

Para Revizar los logs de nuestro servicio de correo usamos:


tail -f /var/log/maillog


Abre otra consola y envia un correo para provar que esta funcionando correctamente.

mail destinatario@dominio.com
Subject: test
hello
.
Cc:


Luego de esto en el log debe salir algo parecido a esto y lo que importa es la palabra SENT:

elastix postfix/smtp[3257]: 08EAE21566: to=, relay=smtp.gmail.com[74.125.45.109]:587, delay=9.2, delays=0.21/0.06/6.8/2.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1227556872 34sm10144335yxl. May 20:50:26 elastix postfix/qmgr[3250]: 08EAE21882: removed

Y Ya esta!!

miércoles, 4 de mayo de 2011

Problema del NAT en Asterisk

Hace un tiempo me encontre con el siguiente problema en una de mis instalaciones donde el cliente solicitaba una extensión por fuera de la red Local.

estaba usando X-lite mediante una cuenta SIP. La extensión se registraba OK.
Luego intentaba hacer una llamada y al establecerce no se escuchaba nada, al cabo de un rato la llamada se colgaba sola.

En un principio, todo parece ir bien, se inicia la llamada, se escucha el tono, y suena el teléfono de destino. El problema viene al descolgar, es decir, cuando el audio se establece entre los participantes de la conversación. En este punto, pueden pasar 2 cosas: que el llamante lo escuche a su interlocutor o que no haya audio en absoluto.

El protocolo SIP solo lleva la señalización de la llamada, mientras que el tráfico de audio (RTP) se intenta llevar a cabo de extremo a extremo. El problema viene por que el puerto al que se manda el audio es aleatorio. El router es capaz de dirigir correctamente la señalización, pero es incapaz de saber si el tráfico RTP es de esa llamada, y no sabe a donde mandarlo (debería mandárselo al mismo que la señalización). Como consecuencia, el audio no fluye correctamente entre los 2 interlocutores.

La solucion es Simple..

Instalé el Softphone Zoiper Mediante una Cuenta IAX y problema solucionado.