Está en la página 1de 50

Kannel

Click to edit Master subtitle style

5/4/12

Kannel

Kannel es un proyecto de cdigo abierto para implementar un Gateway WAP y SMS, es utilizado a travs del mundo para enviar y recibir mensajes cortos, como servicio de WAP Push y para permitir conectividad de Internet.

5/4/12

Breve Historia
El

proyecto Kannel fue fundado por Wapit Ltd en Junio, 1999. Esta empresa ya no existe y el proyecto es coordinado por los miembros del Grupo Kannel que incluye varios exempleados de la Empresas Trigenix, Wapme Systems AG, Anam y Global Networks. Grupo Kannel esta en proceso de fundar una entidad legal para el Proyecto Kannel, the Kannel Software Foundation.
5/4/12

El

Que es Kannel?
Kannel

es un project de codigo abierto que implementa un Wap Gateway, pero tambien se puede usar como un SMS Gateway.

5/4/12

Wap Gateway

5/4/12

5/4/12

WAP PUSH

5/4/12

SMS Gateway

5/4/12

Arquitectura de Kannel

5/4/12

Procesos
Kannel

divide varias labores en tres procesos distintos, se utiliza el termino boxes (cajas), cada box se implemento segn el de agente externo que tiene que interactuar.

5/4/12

bearerbox
Esta

es el proceso principal Su nombre proviene de la palabra bearer, que en espaol se traduce en portador. Un portador lleva carga objetos por otros En Kannel este proceso se encarga de comunicarse con el SMSC y pasarle los mensajes al proceso correspondiente. Solo puede existir una instancia de este proceso

5/4/12

smsbox
Implementa

el resto de la funcionalidad del SMS Gateway. Recibe el mensaje de texto por parte del bearerbox y los interpreta como solicitudes de servicio y los responde segn las reglas definidas La interaccin para envio o recepcin de mensajes es por medio de solicitudes HTTP

5/4/12

sqlbox
Es

plugin para Kannel para enviar mensajes utilizando una base de datos Los mensajes usan la tabla send_sms para agregarlos a la cola de envia El momento que son procesados se pasan a la tabla sent_sms

5/4/12

Diseo

5/4/12

Compilacin
Ocupamos

lo siguiente:

Cygwin Mysql base de datos Librerias de Mysql Netbeans/Java SMPPsim

5/4/12

Cygwin
Cygwin

es una coleccin de herramientas desarrollada por Cygnus Solutions para proporcionar un comportamiento similar a los sistemas Unix en Windows. Su objetivo es portar software que ejecuta en sistemas POSIX a Windows con una recompilacin a partir de sus fuentes. Aunque los programas portados funcionan en todas las versiones de Windows, su comportamiento es mejor en Windows NT, Windows XP y Windows Server 2003.
5/4/12

5/4/12

Recursos
http://

dev.mysql.com/downloads/mysql/5.1.html http:// www.seleniumsoftware.com/downloads.html http://www.cygwin.com/

5/4/12

Pasos
Instalar

extra:

Cygwin con las siguientes librerias

automake gcc libncurses-devel make libtool Subversion libedit libreadline readline libncursesw libxml2 libxml2-devel

5/4/12

Compilar Libreras de Mysql


Bajar la fuente de mysql tar xvzf archivo ./configure --without-server --withoutreadline CFLAGS=-O2 --with-libedit make make install

5/4/12

Compilar Kannel
Bajar

kannel svn co https://svn.kannel.org/gateway/trunk gateway ./configure --with-mysql --with-mysqldir=/home/Rich/mysql-5.1.57 make make bindir=/usr/local/kannel install

5/4/12

Compilar SQLBOX
cd

plugins ./bootstrap ./configure --with-kanneldir=/home/Rich/gateway/gateway make make install

5/4/12

Configuracin de Kannel
La

configuracin de Kannel consiste en grupos de variables de configuracin. Los grupos se separan con lneas vacas. La definicin de una lnea de variable consiste de un nombre, un = y el valor de la variable Si se desea usar comentarios se debe de usar el carcter # Se pueden usar doble comillas " " para definir el valor de una variable
5/4/12

Ejemplo
#que hacer cuando recibimos nop group = sms-service keyword = nop text = "You asked nothing and I did it!"

5/4/12

Grupos importantes
Proceso Bearerbox core mysql-connection dlr-db smsc Proceso smsbox smsbox sendsms-user sms-service
5/4/12

Proceso SQLBOX sqlbox mysql-connection

5/4/12

Grupo Core/Bearerbox
Este

grupo configura el proceso bearerbox Este grupo indicamos:


los puertos que utilizaremos para administrar el servidor, los que que usaran las otras cajas El directorio para almacenar los logs Las IPs permitidas para accesar el servicio Que tipo de medio se usara para guardar los mensajes pendientes de repuesta El nivel de verbosidad de los logs

5/4/12

Grupo Core/Bearerbox
En

el proceso de enviar y recibir mensajes, esta caja ocupo un lugar para almacenar los mensajes que estn pendientes de recibir una repuesta por parte del SMSC. Se debe de indicar que tipo de almacenamiento usara el bearer box, en nuestro diseo utilizaremos mysql. El proceso Bearer puede ser administrado via comandos parametros de http

http://localhost:12345/shutdown?password=bar

5/4/12

Grupo Core/Bearerbox
La

comunicacin entre el proceso Bearerbox y las dems boxes es via Puertos de Red (sockets)

5/4/12

Parmetros Obligatorios
Variable group (m) Descripcion Indica que estamos configurando la caja Bearerbox admin-port Numero de Puerto de (m) puerto administracion de Kannel, debe ser mayor a 1024 adminClave para poder Clave para poder password (m) ejecutar ejecutar los comandos commandos admin-deny- lista de ips Lista de ips que no ip (o) seperadas por estan autorizados commas (se utilizar este 5/4/12 servicio Valor core

Parametros para configurar la recepcion de SMSC Variable Valor Descripcion


smsbox-port (c) dlr-storage Numero Puerto para que la caja de de smsbox pueda comunicarse puerto con Kannel pgsql, Define como kannel va mysql, almacenar los mensajes mssql mientras esperan su mensaje de recepcin spool, Kannel almacena file temporalmente los mensajes mientras espera la confirmacin de recepcin. File: usa un archivo para 5/4/12

store-type

Parametros para configurar el grupo mysql


Variable group (m) Valor mysqlconnection cadena Ip Cadena Cadena Cadena Descripcion Indica la configuracion de una conexin a mysql Identificador unico de la conexin a mysql Ip del servidor de mysql Usuario de la base de datos Password de la base de datos Nombre de5/4/12 la base de

id host username password database

Parmetros para Grupo SMSC

Aqu configuramos los parmetros que nos brinda el SMSC

Variable Valor Descripcin group (m) smsc Indica la configuracin de una conexin a mysql smsc smpp Indica el protocolo de conexin que se utilizara para conectarse al SMSC smsc-id caden Identificador nico de la conexin a a smsc, esto es til cuando existen mas de una conexin al smsc interface- 34 33 Versin de smpp que se va utilizar version host Ip Ip del servidor de SMSC
5/4/12

Parmetros para Grupo SMSC

Aqu configuramos los parmetros que nos brinda el SMSC

Variable Valor Descripcin transceive bool Indica si se utilizar una conexin r-mode bind_transciever smsccaden Usuario asignado por el SMSC username a smsccaden Cotrasena asignada por el SMSC password a systemtype caden Cualquier cadena smpp a
5/4/12

Parmetros para Grupo SMSBOX


Variable group (m) Valor Descripcin smsbo Indica la configuracin de x una caja smsbox bearerbox-host Indica el IP del servidor donde se encuentra el bearerbox sendsms-port Indica el puerto donde se aceptaran solicitudes HTTP para envio de mensajes log-file Nombre del archivo para bitacora de log-file log-level Nivel de verbosidad del log de smsbox
5/4/12

Parmetros para Grupo SMSBOX-SERVICE


Variable group (m) Valor Descripcin sms- Indica la configuracin de un servic servicio sms e defaultindica la primera la palabra que identificara este servicio

keyword

max-messages numer Numero maximo de o mensajes que procesera este servicio get-url url Indica el url donde se hara la solicitud con la informacion del mensaje
5/4/12

Configurar
Configuracion

Bearerbox:

group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar dlr-storage = mysql admin-allow-ip = "*.*.*.*" box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1 store-file = internal.store
5/4/12

Configuracin Grupo
group = mysql-connection id = mydlr host = 127.0.0.1 username = root password = hola123 database = kannel max-connections = 5

5/4/12

Configuracin Tabla DLR


group = dlr-db id = mydlr table = dlr field-smsc = smsc field-timestamp = ts field-destination = destination field-source = source field-service = service field-url = url field-mask = mask field-status = status field-boxc-id = boxc 5/4/12

Configuracin SMSC
group = smsc smsc = smpp smsc-id = claro host = localhost port = 2775 transceiver-mode = true smsc-username = smppclient1 smsc-password = password system-type = smpp interface-version = 34
5/4/12

Configuracion SMSBOX
group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 log-file = smsbox.log log-level = 3

5/4/12

Configuracion sendsmsuser
group = sendsms-user username = tester password = foobar default-smsc = claro user-allow-ip = "*.*.*.*"

5/4/12

SMS-Service
group = sms-service keyword = default catch-all = yes max-messages = 0 get-url = "http://localhost/php/index.php? user=%n&pass=jose&celular=%q&sms= %a&marcacion=%Q

5/4/12

Configuracin SQLBOX
group = sqlbox id = sqlbox-db smsbox-id = sqlbox bearerbox-host = localhost bearerbox-port = 13001 smsbox-port = 13005 smsbox-port-ssl = false sql-log-table = sent_sms sql-insert-table = send_sms log-file = kannel-sqlbox.log log-level = 0
5/4/12

Configuracion SQLBOX
group = mysql-connection id = sqlbox-db host = 127.0.0.1 username = root password = hola123 database = kannel

5/4/12

Apache Tomcat
Bajar

el Plugin Java Web Applications apache tomcat 6.0 set "JAVA_HOME=C:\Program Files\Java\jdk1.6.0_21"

5/4/12

Servlets
Los

Servlets son las respuesta de la tecnologa Java a la programacin CGI. Son programas que se ejecutan en un servidor Web y construyen pginas Web

5/4/12

BAJAR SMSC
Bajar

SMPPSim http:// dl.dropbox.com/u/14346/ppts/Curso/SMPPSim.zip http:// dl.dropbox.com/u/14346/ppts/Curso/smstrial.zip

5/4/12

5/4/12

CONEXIN A DB
LA IP ES: 192.168.1.149 SU USUARIO es: <SU NUMERO DE CUENTA> SU CLAVE es: <PRIMER NOMBRE EN MINUSCULA>

http://dev.mysql.com/downloads/gui-tools/5.0.html

5/4/12

También podría gustarte