天天看點

Linux 建構sms網關

作者:kevin.U (YOUDI)

wget http://www.kannel.org/download/1.4.1/gateway-1.4.1.tar.gz

tar zxvf gateway-1.4.1.tar.gz

cd gateway-1.4.1

 ./configure --prefix=/gw  --with-mysql --with-mysql-dir=/data/mysql5/

也可以使用檢視其它資訊

./configure --help

修正configure 腳本中找不到mysql.h與mysql_version的bug

vi configure

?mysql

來到 or ac_header in 将其修為/data/mysql5/include/mysql/mysql.h /data/mysql5/include/mysql/mysql_version.h

指定檔案所在的檔案

修正gw/dlr_mysql.c 找不到mysql.h的bug

cd gw

vi dlr_mysql.c

#ifdef HAVE_MYSQL

#include </data/mysql5/include/mysql/mysql.h>

make

make install

增加log目錄,存放日志

cd /gw

mkdir log

chmod 755 log

增加conf

mkdir conf

chmod 755 conf

如何配置:

#

# THIS IS A SAMPLE CONFIGURATION FOR SMS KANNEL

#

# It is run like this:

#

#  1% gw/bearerbox gw/smskannel.conf

#  2% gw/smsbox gw/smskannel.conf

#  3% test/fakesmsc -p 10000 -H localhost -i 1 -m 100 "123 345 text nop"

#

# ..all 3 commands in separate shells (or screen sessions)

#

# For any modifications to this file, see Kannel User Guide

# If that does not help, send email to [email protected]

#

#   Kalle Marjola May 2000

#   Changed for new fakesmsc version by Uoti Urpala Jan 2001

#   Added service and sendsms for HTTP SMSC by Kalle Marjola Mar 2001

#

group = core

admin-port = 13000

smsbox-port = 13001

admin-password = kevin

#status-password = foo

#admin-deny-ip = ""

#admin-allow-ip = ""

log-file = "/gw/logs/kannel.log"

log-level = 1

box-deny-ip = "*.*.*.*"

box-allow-ip = "127.0.0.1;192.*.*.*"

#unified-prefix = "+358,00358,0;+,00"

#access-log = "/tmp/access.log"

#store-file = "/tmp/kannel.store"

#dlr-storage = mysql

access-log = "/gw/logs/access.log"

store-file = "/gw/logs/kannel.store"

#ssl-server-cert-file = "cert.pem"

#ssl-server-key-file = "key.pem"

#ssl-certkey-file = "mycertandprivkeyfile.pem"

# SMSC CONNECTIONS

group = smsc

smsc = at

smsc-id = gsmmodem1

allowed-smsc-id = gsmmodem1

smsc-username = kevin

smsc-password = kevin

modemtype=wavecom

device = /dev/ttyS0 #接modem的com口

speed = 9600

my-number = +86wavecom modem中手機号

#group = smsc

#smsc = at

#smsc-id = gsmmodem2

#allowed-smsc-id = gsmmodem2

#smsc-username = modem2

#smsc-password = modem2

#modemtype=wavecom

#device = /dev/ttyUSB0

#speed = 9600

#my-number = +86手機号

#group = smsc

#smsc = at

#smsc-id = gsmmodem3

#allowed-smsc-id = gsmmodem3

#smsc-username = modem3

#smsc-password = modem3

#modemtype=wavecom

#device = /dev/ttyUSB1

#speed = 9600

#my-number = +86手機号

# modem defin

group = modems

id = wavecom

detect-string = "WAVECOM"

detect-string = "MODEM"

need-sleep = false

message-storage = "SM"

# SMSBOX SETUP

group = smsbox

bearerbox-host = 192.168.1.218

sendsms-port = 13013

global-sender = "00000000000"

log-file = "/gw/logs/smsbox.log"

#log-level = 4

access-log = "/gw/logs/smsaccess.log"

#box-allow-ip = "127.0.0.1;192.*.*.*"

# SEND-SMS USERS

group = sendsms-user

username = modem1

password = modem1

default-smsc = gsmmodem1

forced-smsc = gsmmodem1

#group = sendsms-user

#username = modem2

#password = modem2

#default-smsc = gsmmodem2

#forced-smsc = gsmmodem2

#group = sendsms-user

#username = modem3

#password = modem3

#default-smsc = gsmmodem3

#forced-smsc = gsmmodem3

#user-deny-ip = ""

#user-allow-ip = ""

# SERVICES

group = sms-service

keyword = nop

text = "You asked nothing and I did it!"

# there should be default always

group = sms-service

keyword = default

# text = "No service specified"

#catch-all = true

#get-url = "http://localhost/script/2way.php?sender=%p&to=%P&text=%r&code=%c"

post-url = "http://127.0.0.1:8080/script/2way.php" #接收短信的腳本我們用PHP存入資料庫

send-sender = true

strip-keyword = false

max-messages = 0

寫啟動腳本:start.sh

/gw/sbin/bearerbox  -v 5 -d /gw/conf/smskannel.conf

/gw/sbin/smsbox -d /gw/conf/smskannel.conf

stop.sh

cd /gw

killall bearerbox

restart.sh

cd /www/kannel

killall bearerbox

sleep 5

./start.sh

繼續閱讀