Tải bản đầy đủ (.pdf) (52 trang)

Xây dựng giải pháp kết nối SMS gateway cho dịch vụ cung cấp thông tin qua tin nhắn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.74 MB, 52 trang )




d
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





HOÀNG THỊ PHƯƠNG THẢO




XÂY DỰNG GIẢI PHÁP KẾT NỐI SMS GATEWAY
CHO DỊCH VỤ CUNG CẤP THÔNG TIN
QUA TIN NHẮN









LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN










Hà Nội - 2013










Trang phụ bìa



















ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




HOÀNG THỊ PHƯƠNG THẢO



XÂY DỰNG GIẢI PHÁP KẾT NỐI SMS GATEWAY
CHO DỊCH VỤ CUNG CẤP THÔNG TIN
QUA TIN NHẮN


Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05




LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN





NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS.Nguyễn Hải Châu








Hà Nội - 2013








1


MỤC LỤC
Lời cam đoan 4
Danh mục các ký hiệu và chữ viết tắt 3
Danh mục hình ảnh 4
MỞ ĐẦU 5

Chương 1. TỔNG QUAN SMS 6
1.1 Giới thiệu về SMS 6
1.1.1 Khái niệm SMS 6
1.1.2 Luồng gửi tin nhắn 7
1.1.3 Cơ chế gửi tin nhắn 10
1.1.4 Một số ứng dụng 12
1.2 SMSC 13
1.3 SMS Gateway 13
1.4 Các giao thức của SMS Gateway 16
Chương 2. Kannel và giải pháp kết nối SMS Gateway 19
2.1 Giải pháp kết nối tới SMS Gateway 19
2.2 Giới thiệu chung về Kannel 19
2.3 Kiến trúc Kannel 20
2.4 Cài đặt Kannel và cấu hình Kannel 21
2.5 Giải pháp kết nối Kannel 29
Chương 3. Xây dựng và mô phỏng ứng dụng cung cấp nội dung 31
3.1 Động lực phát triển và phạm vi hệ thống 31
3.2 Kiến trúc hệ thống ứng dụng sử dụng Kannel 32
3.3 Xây dựng ứng dụng SMS hỗ trợ tìm kiếm, thuê xe du lịch 33
3.3.1 Phát biểu bài toán 33
3.3.2 Yêu cầu chức năng đối với từng thành phần tham gia 34
3.3.3 Các quy tắc logic phục vụ quá trình suy diễn 37
3.3.4 Các chức năng hệ thống 38
3.3.5 Thiết kế cơ sở dữ liệu 40
Chương 4. Thực nghiệm và đánh giá 41
4.1 Môi trường và các công cụ sử dụng thực nghiệm 41
4.2 Dựng cơ sở dữ liệu và xây dựng tập dữ liệu 41
4.3 Cấu hình SMPPSim 41
4.4 Cấu hình Kannel 42
4.5 Mô phỏng ứng dụng 43

KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
PHỤ LỤC 46
2


1. Danh mục các bảng dữ liêu 46
2. File cấu hình của SMPPSim 48
3. File cấu hình của Kannel 50


3


Danh mục các ký hiệu và chữ viết tắt
Thuật ngữ
Định nghĩa
Ghi chú
CDMA
Code Division Multiple Access

ESME
External Short Messaging Entities

EMS
Enhanced Messaging Service

ETSI
European Telecommunications
Standards Institute

Viện tiêu
chuẩn viễn
thông Châu
Âu.
GSM
Global System For Mobile
Communications

GPRS
General Packet Radio Services

HTML
Hypertext Markup Language

HTTP
Hypertext Transfer Protocol

MSC
Mobile Service Switching
Trung tâm
chuyển mạch
di động.
MMS
Multimedia Message Service
Dịch vụ tin
nhắn đa
phương tiện
RE
Routing Entities


SME
Short Messaging Entities

SMPP
Short Message Peer to Peer Protocol

SMS
Short Message Service

SMSC
Short Message Service Centrer

URL
Uniform Resource Locator

VASP
Value Added Service Provider

WAP
Wireless Application Protocol

WML
Wireless Markup Language


4


Danh mục hình ảnh
Hình 1.1: Luồng gửi tin nhắn tới điện thoại 7

Hình 1.2: Luồng gửi tin nhắn từ điện thoại 8
Hình 1.3: Luồng SMS cơ bản 9
Hình 1.4: Luồng SMS gửi giữa các điện thoại cùng nhà mạng 9
Hình 1.5: Luồng SMS gửi giữa các điện thoại cùng nhà mạng 9
Hình 1.6: Luồng SMS giữa điện thoại và các ứng dụng 9
Hình 1.7: Luồng SMS từ ứng dụng tới điện thoại 10
Hình 1.8: Luồng gửi tin nhắn thông thường 10
Hình 1.9: Luồng gửi tin nhắn khi hai nhà mạng cùng công nghệ SMSC 11
Hình 1.10: Luồng gửi tin nhắn khi hai nhà mạng khác công nghệ SMSC 11
Hình 1.11: Ứng dụng Person-to-person text messaging 12
Hình 1.12: Một ứng dụng gửi tin nhắn văn bản SMS kết nối với nhiều SMSC mà không
có SMS gateway 14
Hình 1.13: Một SMS Gateway hoạt động như một rơ le giữa 2 SMSC 14
Hình 1.14: Ứng dụng gửi tin nhắn văn bản có thể kết nối với nhiều SMSC thông qua
SMS gateway 15
Hình 1.15: Một ứng dụng nhắn tin văn bản kết nối tới nhiều điện thoại hoặc modem
GSM/GPRS thông qua 1 SMS gateway 15
Hình 1.16: Mô hình giao tiếp giữa ESME và SMSC qua SMPP 17
Hình 2.1: Kiến trúc Kannel 21
Hình 3.1: Kiến trúc ứng dụng cung cấp thông tin qua SMS sử dụng Kannel 32
Hình 4.1: Giao diện của web quản lý SMPP Sim 41
Hình 4.2: Giao diện gửi tin nhắn của web quản lý SMPP Sim 42
5


MỞ ĐẦU
Viễn thông là một trong số ít những nghành vẫn giữ được đà tăng trưởng khi nền
kinh tế suy thoái. Sự ra đời của hàng loạt các nhà cung cấp dịch vụ mạng điện thoại di
động, số lượng thuê bao không ngừng tăng lên càng khẳng định vị trí quan trọng của
viễn thông. Trong khi điện thoại cố định đang phát triển cầm chừng thì các dịch vụ di

động và dữ liệu ngày càng phát triển mạnh mẽ. Trong số đó, dịch vụ nhắn tin (SMS -
Short Message Service) được xem như là một dịch vụ mang lại doanh thu tương đối ổn
định. Ngoài việc cung cấp dịch vụ nhắn tin giữa các thuê bao trong và ngoài mạng, các
nhà mạng tận dụng tối đa sự tiện dụng của SMS để phát triển các dịch vụ giá trị gia
tăng hay nhiều loại hình dịch vụ khác qua các tổng đài tin nhắn. Một số dịch vụ giá trị
gia tăng điển hình: dịch vụ thông báo cuộc gọi nhỡ, dịch vụ chuyển tiền, dịch vụ ứng
tiền, dịch vụ nhạc chờ…
Mặt khác, các nhà cung cấp nội dung cũng dựa trên kênh SMS của các nhà mạng
để xây dựng các dịch vụ giá trị gia tăng để thu lợi nhuận. Các dịch vụ thường thấy bao
gồm: dịch vụ tải game, dịch vụ tải nhạc chuông, dịch vụ tra cứu điểm thi…
Ngoài ra, SMS là một kênh quan trọng trong các hệ thống lớn hiện nay. Có thể
kể đến dịch MobileBanking, Bankplus trong ngân hàng, hoặc kênh thông báo nội bộ
các cơ quan… SMS đã trở thành một phần quan trọng, không thể thiếu trong cuộc
sống.
Thời gian gần đây, sự phát triển của các dịch vụ SMS đã trở lên bão hòa, nhưng
vai trò của SMS thì không thể phủ nhận.
Với mục tiêu hiểu được quá trình hoạt động của một dịch vụ SMS, đưa ra giải
pháp kết nối SMS Gateway cho dịch vụ cung cấp nội dung, tôi đã lựa chọn đề tài “Xây
dựng giải pháp kết nối SMS Gateway cho dịch vụ cung cấp thông tin qua tin nhắn”.

6


Chương 1. TỔNG QUAN SMS
1.1 Giới thiệu về SMS
1.1.1 Khái niệm SMS
SMS (Short message Service) là một công nghệ cho phép gửi và nhận tin nhắn
giữa các điện thoại. SMS xuất hiện đầu tiên ở Châu Âu vào năm 1992, thuộc tiêu
chuẩn GSM (Global System for Mobile Communications). Sau đó, SMS chuyển sang
lĩnh vực công nghệ không dây giống như CDMA(Code Division Multiple Access) và

TDMA(Time Division Multiple Access. Các tiêu chuẩn GSM và SMS được phát triển
đầu tiên bởi ETSI (European Telecomucations Standards Institute). Hiện tại 3GPP
(Third Generation PartnerShip Project) chịu trách nhiệm phát triển và bảo trì các tiêu
chuẩn GSM và SMS.
Dữ liệu được trong tin nhắn SMS bị giới hạn: mỗi tin nhắn SMS có thể chứa
nhiều nhất 140 bytes (1120bit) dữ liệu, bởi vậy mỗi tin nhắn SMS có thể chứa:
- 160 ký tự mã hóa 7 bit (mã hóa 7 bit phù hợp cho các ký tự Latin – tiếng anh).
- 70 ký tự mã hóa theo kiểu 16bit Unicode UCS2 (các ký tự không phải ký tự
Latin, ví dụ chữ Trung Quốc).
Tin nhắn văn bản SMS hỗ trợ ngôn ngữ quốc tế, cụ thể là tất cả các ngôn ngữ
được hỗ trợ bởi Unicode. Ngoài dữ liệu văn bản, các tin nhắn SMS cũng có thể chứa
các dữ liệu nhị phân - nhạc chờ, hình ảnh, logo nhà điều hành, hình động,….
Ưu điểm chính của SMS:
- Các tin nhắn SMS có thể được gửi và nhận bất cứ lúc nào.
- Các tin nhắn có thể gứi tới điện thoai đang tắt máy hoặc không liên lạc được
- SMS ít phiền phức.
- Các tin nhắn SMS có thể được hỗ trợ bởi 100% các điện thoại GSM và chúng
có thể trao đổi với các thiết bị không dây khác.
- SMS là một công nghệ phù hợp với các ứng dụng không dây.
Hạn chế của công nghệ SMS và cách khắc phục:
- Mỗi tin nhắn SMS chỉ có thể chứa một lượng giới hạn dữ liệu. Để có thể khắc
phục nhược điểm này, một tin nhắn văn bản “ghép” có thể chứa nhiều hơn 160
ký tư tiếng Anh. Tin nhắn ghép làm việc như sau: Điện thoại – bên gửi sẽ chia
một tin nhắn dài thành các phần nhỏ hơn và gửi chúng như những tin nhắn SMS
đơn. Khi các tin nhắn SMS này tới đích, điện thoại bên nhận sẽ liên kết chúng
lại thành một tin nhắn dài.
- Mỗi tin nhắn SMS không thể chứa nội dung “giàu phương tiện” như ảnh, ảnh
động và giai điệu. EMS (Enhanced Messaging Service) được phát triển cũng vì
lý do này. Một tin nhắn EMS có thể dễ thay đổi. Ví dụ, bên gửi tin nhắn có thể
chỉ rõ xem đoạn văn bản trong một tin nhắn EMS nên được hiển thị là chữ đậm

hay chữ nghiêng với phông lớn hay nhỏ. Nhược điểm của EMS là được hỗ trợ ít
rộng rãi trên các thiêt bị không dây. Nhiều thiết bị không dây hỗ trợ EMS cũng
7


chỉ hỗ trợ một tập nhỏ các đặc điểm được đưa ra trong đặc tả EMS. Và một điều
chắc chắn là EMS có thể hỗ trợ trên thiết bị này nhưng lại không hỗ trợ trên
thiết bị khác.
SMS được gửi thông qua trung tâm dịch vụ tin nhắn ngắn (Short Message
Service Center - SMSC). Tại đây, các tin nhắn sẽ được lưu trữ và sau đó chuyển tiếp
đến máy di động đích. Trên mạng của các nhà cung cấp dịch vụ di động thường có
nhiều trung tâm dịch vụ tin nhắn. Ngoài ra, các trung tâm cung cấp các dịch vụ giá
trị gia tăng (Value Added Service Provider - VASP) ra đời để đáp ứng nhu cầu ngày
càng tăng về các dịch vụ thông tin khác dựa trên nền SMS. Để VASP có thể cung
cấp các dịch vụ gia tăng cả hai chiều trên toàn mạng di động, VASP phải kết nối đến
các SMSC của tất cả các mạng. Tuy nhiên các SMSC được phát triển bởi các công ty
khác nhau, sử dụng các giao thức khác nhau, vì vậy cần có SMS Gateway nhằm kết
nối SMSC giữa các nhà mạng khác nhau. Giao thức chủ yếu trong nền SMS là SMPP
(Short Message Peer to Peer Protocol). Các thành phần chính trong mạng viễn thông
liên quan tới SMS sẽ được làm rõ ở các mục sau.
1.1.2 Luồng gửi tin nhắn
SMS bao gồm 2 dịch vụ cơ bản:
- MO–SM (Mobile-originated short message): Chiều tin nhắn gửi đi từ điện
thoại. Xem hình 1.2.
- MT-SM (Mobile-terminated short message): Chiều tin nhắn tới điện thoại. Xem
hình 1.1
-
Hình 1.1: Luồng gửi tin nhắn tới điện thoại
Các bước trong luồng tin nhắn tới điện thoại:
8



1. Tin nhắn được gửi đi từ các SME (Short message entity – thực thể gửi tin
nhắn) tới SMSC (SMS Center).
2. Sau khi thực hiện các xử lý bên trong, SMSC lấy các thông tin về thuê bao
nhận tin nhắn trên HLR (Home Location Register – bộ định vị thường trú của
thuê bao).
3. SMSC gửi tin nhắn tới MSC (Mobile Switching Center – Trung tâm chuyển
mạch dịch vụ)
4. MSC lấy thông tin về thuê bao ở VLR (Visitor location register - bộ định vị
tạm trú của thuê bao).
5. MSC chuyển tin nhắn tới điện thoại
6. MSC sẽ gửi lại SMSC kết quả của thao tác gửi tin nhắn.
7. SMSC sẽ gửi thông tin về kết quả cho SME trong trường hợp SME yêu cầu.

Hình 1.2: Luồng gửi tin nhắn từ điện thoại
Các bước trong luồng gửi tin nhắn từ điện thoại:
1. Tin nhắn được gửi từ điện thoại lên MSC
2. MSC lấy thông tin từ VLR để xác thực thuê bao.
3. MSC gửi thông tin lên SMSC
4. SMSC sẽ chuyển tin nhắn tới SME
Trong luồng thực tế, trước khi chuyển tin nhắn tới SME, SMSC sẽ gửi thông tin
lên SCP (Service Control Point) để kiểm tra xem tài khoản của khách hàng có đủ thực
hiện thao tác gửi tin nhắn hay không.
Tin nhắn có thể được gửi giữa các điện thoại với nhau trong cùng một mạng hoặc
9


khác mạng, cũng có thể được gửi từ điện thoại tới một nhà cung cấp dịch vụ hoặc từ
nhà cung cấp dịch vụ gửi tin nhắn về điện thoại. Hình 1.3, 1.4, 1.5, 1.6. 1.7 lần lượt là

các luồng gửi nhận tin nhắn trong các trường hợp thực tế.

Hình 1.3: Luồng SMS cơ bản

Hình 1.4: Luồng SMS gửi giữa các điện thoại cùng nhà mạng

Hình 1.5: Luồng SMS gửi giữa các điện thoại cùng nhà mạng

Hình 1.6: Luồng SMS giữa điện thoại và các ứng dụng
10



Hình 1.7: Luồng SMS từ ứng dụng tới điện thoại
1.1.3 Cơ chế gửi tin nhắn
1.1.3.1 Tin nhắn nội mạng
Là tin nhắn giữa các thuê bao của cùng một nhà điều hành mạng. Thông thường,
phí gửi tin nhắn nội mạng thì thấp hơn so với các tin nhắn ngoại khác, thậm chí một số
nhà mạng còn cho phép 1 số thuê bao gửi tin nhắn nội mạng không giới hạn và cũng
không bị tính phí.
Việc truyền tin nhắn nội mạng đồng nghĩa là chỉ có 1 SMSC, sau khi rời khỏi
máy gửi tin, tin nhắn nội mạng tới SMSC. SMSC sau đó gửi tin nhắn tới điện thoại
bên nhận. Nếu điện thoại bên nhận đang không hoạt động, SMSC sẽ lưu các tin nhắn
này. Nó sẽ chuyển giao tin nhắn này khi điện thoại bên nhận hoạt động, Nếu như thời
gian lưu trữ tin nhắn đã hết mà điện thoại bên nhận vẫn không hoạt động thì SMSC sẽ
xóa tin nhắn này.
Khi SMSC nhận tin nhắn thông báo (Delivery report message) từ phía điện thoại
bên nhận hoặc xóa tin nhắn (trong trường hợp vượt quá thời gian hiệu lực của tin
nhắn) thì nó sẽ gửi thông báo trạng thái (status report) tới bên gửi nếu bên gửi có yêu
cầu trước đó.


Hình 1.8: Luồng gửi tin nhắn thông thường
1.1.3.2 Tin nhắn ngoại mạng
Là tin nhắn giữa các thuê bao của các nhà mạng khác nhau. Thông thường, có hai
cách khác nhau để truyền các tin nhắn ngoại mạng.
- Chuyển giao tin nhắn trực tiếp trong trường hợp hai nhà mạng sử dụng cùng
một công nghệ.
11



Hình 1.9: Luồng gửi tin nhắn khi hai nhà mạng cùng công nghệ SMSC
- Chuyển giao tin nhắn qua SMS Gateway hoặc một giao thức kết nối được hỗ
trợ bởi cả hai SMSC.


Hình 1.10: Luồng gửi tin nhắn khi hai nhà mạng khác công nghệ SMSC
1.1.3.3 Tin nhắn quốc tế
Về bản chất, tin nhắn ngoại mạng có thể chia làm 2 loại: tin nhắn trong nước và
tin nhắn quốc tế. Tin nhắn trong nước (ngoại mạng) là một tin nhắn được gửi từ nhà
mạng này tới nhà mạng khác trong cùng một nước, còn tin nhắn quốc tế là tin nhắn
được gửi từ một nhà mạng của nước này tới một nhà mạng ở nước khác.
Thông thường, phí gửi tin nhắn quốc tế thì cao hơn phí tin nhắn trong nước. Do
đó phí gửi tin nhắn nội mạng <= phí gửi tin nhắn ngoại mạng trong nước <= phí gửi
tin nhắn quốc tế.
Sự tương thích tin nhắn SMS giữa hai mạng trong nước và thậm chí quốc tế
chắc chắn là nhân tố chính xây dựng sự thành công của thế giới SMS.
12



1.1.4 Một số ứng dụng
Công nghệ SMS có thể được sử dụng cho nhiều ứng dụng khác nhau, ví dụ:
- Person – to – person text messaging: là ứng dụng SMS phổ biến nhất. Trong
loại ứng dụng tin nhắn văn bản này, người sử dụng điện thoại có thể gõ nội
dung tin nhắn văn bản sử dụng bàn phím trên điện thoại của họ, sau đó họ sẽ
nhập số điện thoại của người nhận và ấn tùy chọn “Send” hoặc “OK” trên màn
hình để gửi tin nhắn đi. Điện thoại bên nhận khi nhận được tin nhắn sẽ thông
báo cho người sử dụng thông qua âm thanh hoặc rung. Người sử dụng có thể
đọc nội dung tin nhắn SMS ngay lập tức hoặc đọc sau và có thể gửi tin nhắn
phản hồi nếu như họ muốn.
Một ứng dụng chat là một loại khác của ứng dụng person – to – person text
messaging, cho phép một nhóm người có thể trao đổi các tin nhắn văn bản
SMS. Trong một ứng dụng chat, tất cả các tin nhắn văn bản SMS gửi và nhận
đều được hiển thị trên màn hình điện thoại theo thứ tự thời gian. Các tin nhắn
văn bản SMS được biết bởi những người sử dụng điện thoại khác nhau có thể
được hiển thị bởi các màu khác nhau cho dễ đọc. Ví dụ:



Hình 1.11: Ứng dụng Person-to-person text messaging
- Cung cấp thông tin: sử dụng tin nhắn văn bản SMS để gửi thông tin như tin
tức, thông báo thời tiết, tài chính… các thuê bao. Những dịch vụ cung cấp
thông tin này thường tính phí.
- Downloading: Các tin nhắn SMS có thể mang các dữ liệu nhị phân và SMS
cũng được sử dụng như là một phương tiện vận chuyển trong việc tải dữ liệu
không dây. Các đối tượng như nhạc chuông, ảnh nền, các ảnh và các logo của
nhà mạng có thể được mã hóa trong một hoặc nhiều tin nhắn SMS phụ thuộc
vào kích cỡ của đối tượng. Cũng giống như các dịch vụ thông tin, dịch vụ
download cũng được tính phí. Các đối tượng được download thì được mã hóa
trong một hoặc nhiều tin nhắn SMS có tính phí.

- Thông báo, cảnh báo: SMS là một công nghệ phù hợp cho việc phân phát các
13


thông báo về các sự kiện quan trọng. Có 2 lý do:
o Điện thoại là thiết bị mà hầu hết người sử dụng luôn mang theo. Bất cứ
khi nào có một tin nhắn văn bản được chuyển tới, điện thoại sẽ thông báo
cho bạn qua âm thanh hoặc rung. Bạn có thể kiểm tra nội dung của tin
nhắn ngay lập tức.
o Công nghệ SMS cho phép đẩy thông tin, luôn có một thiết bị kết nối với
server thường xuyên để kiểm tra xem có thông tin gì mới không.
o Một số ví dụ: Email, fax, và voice message notification, thương mại điện
tử, thông báo các giao dịch về thẻ tín dụng,…
Từ các thông tin về các luồng gửi tin nhắn cũng như cơ chế gửi tin nhắn, có thể
thấy rằng, SMSC và SMS Gateway là hai thành phần cơ bản nhất trong hệ thống SMS.
Ngoài ra, giao thức giữa SMSC và SMS Gateway cũng chính là một bài toán trong vấn
đề xây dựng giải pháp kết nối tới SMS Gateway trong ứng dụng cung cấp thông tin
qua tin nhắn.
1.2 SMSC
SMSC (Short Message Service Centrer) là trung tâm dịch vụ nhắn tin ngắn.
SMSC là sự kết hợp giữa phần cứng và phần mềm. SMSC chịu trách nhiệm xử lý các
thao tác SMS trong một mạng không dây. Một tin nhắn SMS được gửi từ điện thoại sẽ
tới SMSC đầu tiên. Sau đó SMSC sẽ chuyển tiếp các tin nhắn này tới đích. Một tin
nhắn SMS cần phải đi qua nhiều thực thể mạng (SMSC và SMS gateway) trước khi tới
đích. Nhiệm vụ chính của một SMSC là định tuyến các tin nhắn SMS, điều chỉnh quá
trình chuyển tin nhắn. Nếu như bên nhận không thể nhận tin nhắn (điện thoại tắt máy,
ngoài vùng phủ sóng) thì SMSC sẽ lưu trữ các tin nhắn này trong một khoảng thời
gian được cấu hình trước và chuyển các tin nhắn này khi bên nhận sẵn sàng.
Ngoài ra SMSC còn có vai trò trong việc tính cước. SMSC còn hỗ trợ rất nhiều
giao thức kết nối mà hay dùng nhất là giao thức SMPP. Chính vì thế sẽ có rất nhiều

ứng dụng được xây dựng dựa trên các giao thức đó.
Một SMSC cũng chịu trách nhiệm xử lý tải SMS trong một mạng không dây.
Thông thường, các nhà mạng tự quản lý các SMSC của họ và định vị chúng bên trong
hệ thống mạng. Tuy nhiên, một nhà điều hành mạng có thể sử dụng SMSC của bên thứ
ba – định vị ngoài hệ thống mạng.
Để sử dụng nhắn tin trên điện thoại, bạn cần biết địa chỉ của SMSC của nhà điều
hành mạng. Địa chỉ của SMSC là một số có sẵn theo định dạng quốc tế. Một điện thoại
nên có tùy chọn menu để cấu hình địa chỉ SMSC. Thông thường, một SMSC được
thiết lập trước trong thẻ SIM bởi nhà điều hành mạng, điều đó có nghĩa là bạn không
cần làm bất cứ thay đổi nào với nó cả.
1.3 SMS Gateway
Một vấn đề trong công nghệ gửi tin nhắn đó là các SMSC được phát triển bởi các
công ty khác nhau, các công ty này sử dụng các giao thức của họ và hầu hết các giao
14


thức này là độc quyền. Ví dụ, Nokia có một giao thức SMSC gọi là CIMD khác với
các nhà cung cấp khác – CMG có giao thức SMSC gọi là EMI. Chúng ta không thể kết
nối hai SMSC nếu chúng không hỗ trợ một giao thức SMSC chung. Để xử lý vấn đề
này, một SMS Gateway được đặt giữa 2 SMSC. SMS Gateway hoạt động như một
rơle giữa 2 SMSC. Nó sẽ chuyển một giao thức SMSC sang một giao thức SMSC
khác. Cách này được sử dụng nhằm kết nối các SMSC của hai nhà mạng khác nhau.
Mặt khác, SMS Gateway cũng chính là cầu nối giữa các ứng dụng gửi tin nhắn
tới các SMSC. Giả sử bạn là người phát triển một ứng dụng gửi tin nhắn văn bản SMS.
Để gửi và nhận các tin nhắn văn bản SMS thì bạn cần kết nối với SMSC của nhà
mạng. Các nhà mạng khác nhau có thể sử dụng các SMSC từ các nhà cung cấp khác
nhau, điều đó có nghĩa là ứng dụng gửi tin nhắn văn bản SMS của bạn cần phải hỗ trợ
nhiều giao thức SMSC Điều đó dẫn đến sự phức tạp và tăng thời gian phát triển của
các ứng dụng gửi tin nhắn văn bản (hình 2.1).


Hình 1.12: Một ứng dụng gửi tin nhắn văn bản SMS kết nối với nhiều SMSC mà không
có SMS gateway
Để giải quyết tất cả những vấn đề trên, một SMS Gateway có thể được thiết lập
để xử lý các kết nối với SMSC. Như vậy, một ứng dụng gửi tin nhắn văn bản SMS chỉ
cần biết cách kết nối tới SMS gateway. Để hỗ trợ nhiều SMSC, cần phải thay đổi phần
cài đặt SMS gateway, không phải thay đổi source code của ứng dụng. Việc sử dụng
SMS Gateway có thể rút ngắn thời gian phát triển của ứng dụng gửi tin nhắn văn bản
SMS.

Hình 1.13: Một SMS Gateway hoạt động như một rơ le giữa 2 SMSC
15



Hình 1.14: Ứng dụng gửi tin nhắn văn bản có thể kết nối với nhiều SMSC thông qua
SMS gateway

Hình 1.15: Một ứng dụng nhắn tin văn bản kết nối tới nhiều điện thoại hoặc modem
GSM/GPRS thông qua 1 SMS gateway
Nhiều hệ thống SMS Gateway ra đời dưới dạng cả phần mềm đóng và phần mềm
mã nguồn mở phục vu cho các nhu cầu khác nhau, một số SMS Gateway điển hình
như:
- WinSMS
- Ozeki
- NowSMS
- Kannel: mã nguồn mở
- SMS Server Tools: mã nguồn mở
- Gnokii.org: mã nguồn mở
Các sản phẩm này cho phép người ta xây dựng các hệ thống giá trị gia tăng trên
điện thoại di động mà không cần phải quá quan tâm đến chi tiết của các giao thức gửi

nhận tin nhắn mà họ sử dụng.
Bên cạnh việc kết nối trực tiếp tới SMSC, một cách khác để gửi và nhận một tin
nhắn văn bản trên một máy tính là sử dụng một điện thoại hoặc một modem
GSM/GPRS. Để thực hiện việc này, các ứng dụng gửi tin nhắn văn bản của bạn phải
biết cách kết nối tới điện thoại hoặc modem GSM/GPRS sử dụng các lệnh AT.
16


Một số SMS Gateway có thể xử lý kết nối tới các điện thoại và GSM/GPRS. Để
gửi và nhận các tin nhắn văn bản với một điện thoại hoặc modem GSM/GPRS, các
ứng dụng gửi tin nhắn văn bản chỉ cần biết cách nói chuyện với SMS Gateway mà
không cần biết bất cứ lệnh AT nào.
Như vậy, một SMS Gateway đảm nhiệm rất nhiều vai trò trong hệ thống SMS.
Có một số phần mềm SMS Gateway miễn phí, trong đó có Kannel – được viết bằng
ngôn ngữ lập trình C. Kannel có thể xử lý các kết nối tới SMSC, điện thoại và modem
GSM/GPRS.
1.4 Các giao thức của SMS Gateway
Với vai trò làm cầu nối cho các SMSC, SMS Gateway phải hỗ trợ rất nhiều giao
thức khác nhau. Một số giao thức của SMS Gateway:
- SMPP: giao thức phổ biến nhất
- HTTP/S API: được sử dụng trong việc truyền các yêu cầu dạng HTTP
- SMTP [E-mail to SMS]: cho phép tin nhắn được gửi thông qua email được
chuyển đổi thành SMS. Một ứng dụng có thể gửi email trực tiếp tới SMS
Gateway thông qua SMTP. SMS Gateway có thể đọc các trường “to”, “from”,
“subject” và “body” của email và dựa trên thông tin các số điện thoại đính kèm,
các nhóm đích để chuyển nội dung từ email thành tin nhắn.
- XML: Một ứng dụng có thể gửi văn bản định dạng XML chứa danh sách các địa
chỉ đích (là các số điện thoại) cùng văn bản tin nhắn. SMS Gateway có thể
truyền nội dung tin nhắn tới điện thoại thông qua các GSM modem.
- FTP: phù hợp cho việc chuyển những tin nhắn có dung lượng lớn

- COM Object API: được sử dụng phổ biến cho những người phát triển ứng dụng
trên môi trường window, tích hợp việc gửi tin nhắn trong ứng dụng của mình.
Trong các giao thức thì SMPP (Short Message Peer to Peer) là giao thức phổ
biến nhất. SMPP là một giao thức mở và là chuẩn công nghiệp được sử dụng trong
việc truyền nhận dữ liệu dưới dạng tin nhắn giữa các ESME (External Short Message
Entities), Routing Entities (RE) và Message Centres(MC). MC là cách gọi chung nhất
cho các tổng đài tin nhắn SMSC. Giao thức SMPP hỗ trợ cho các công nghệ mạng
Digital Cellular gồm có: GSM, CDMA, IDMA, iDEN.
Giao thức SMPP cho phép một ESME có thể khởi tạo kết nối tại tầng ứng dụng
với một SMSC qua mạng TCP/IP hoặc X.25 để gửi và nhận tin ngắn với một SMSC
đó. ESME cũng có thể sử dụng SMPP để truy vấn, bỏ qua hoặc thay thế các tin ngắn.
Giao thức SMPP hỗ trợ:
- Truyền tin từ một ESME tới một hoặc nhiều đích bằng SMSC
- Một ESME cũng có thể nhận tin bằng SMSC từ các SME khác (ví dụ: các
mobile station)
- Truy vấn trạng thái của một tin ngắn được lưu trong SMSC; Bỏ qua hay thay
thế một tin ngắn được lưu trong SMSC.
- Gửi các báo báo
17


- Lên lịch gửi tin theo ngày tháng
- Lựa chọn chế độ của tin, ví dụ: đóng gói hoặc lưu trữ và chuyển tiếp; Thiết lập
mức độ ưu tiên cho tin ngắn
- Định nghĩa kiểu định dạng dữ liệu cho tin ngắn; Thiết lập khoảng thời gian hợp
lệ cho tin ngắn
- Kết hợp một kiểu dịch vụ với từng tin ngắn, ví dụ: voice mail notification

Hình 1.16: Mô hình giao tiếp giữa ESME và SMSC qua SMPP
Một SMPP Session giữa một SMSC và một ESME được khởi tạo bởi ESME

trước khi thiết lập một kết nối mạng với SMSC và khi đó sẽ tạo ra một yêu cầu SMPP
Bind để mở một SMPP Session. Một ESME mong muốn gửi và nhận các tin được yêu
cầu để thiếp lập hai kết nối mạng (TCP/IP hoặc X.25) và hai SMPP Session
(Transmitter và Receiver). Trong phiên bản hiện tại của giao thức SMPP, một ESME
có thể thiết lạp một SMPP Transceiver Session qua một kết nối mạng đơn. Trong một
SMPP Session, một ESME có thể phát ra một loạt các yêu cầu tới một SMSC và nhận
các phản hồi tương ứng với các yêu cầu từ SMSC. Tương tự như vậy, SMSC có phát
ra các yêu cầu tới ESME và nhận các phản hồi tương ứng. Một SMPP Session có thể
có các trạng thái sau:
- OPEN (Đã kết nối nhưng chưa Bind): Một ESME đã thiết lập một kết nối mạng
với SMSC nhưng chưa phát yêu cầu Bind.
- BOUND_TX: ESME đã yêu cầu bind như một ESME Transmitter (phát ra PDU
bind_transmitter) và đã nhận một phản hồi từ SMSC cho phép bind. Một ESME
được bind như như một transmitter có thể gửi SMS cho một SMSC để truyền
tới một MS hoặc một ESME khác. ESME cũng có thể thay thế, truy vấn hoặc
bỏ qua một tin ngắn được đệ trình trước đó.
- BOUND_RX: ESME đã yêu cầu bind như một ESME Receiver (phát ra PDU
bind_receiver) và đã nhận một phản hồi từ SMSC cho phép bind. Một ESME
được bind như một receiver có thể nhận tin ngắn từ một SMSC được gửi từ một
MS, một ESME khác hoặc bởi chính SMSC (ví dụ: một SMSC gửi báo cáo).
- BOUND_TRX: ESME đã yêu cầu bind như một ESME Transceiver (phát ra
PDU bind_transceiver) and đã nhận một phản hồi từ SMSC cho phép bind. Một
18


ESME được bind như như Transceiver hỗ trợ các tất cả các lệnh được hỗ trợ
bởi một Transmitter ESME và một Receiver ESME. Như vây, một ESME được
bind như một Transceiver có thể gửi các tin ngắn tới một SMSC để truyền tới
MS hoặc tới một ESME khác. ESME cũng có thể nhận các tin ngắn từ một
SMSC mà có nguồn gốc từ một MS, từ ESME khác hoặc chính SMSC (ví dụ:

SMSC gửi báo cáo).
- CLOSE (Đã thôi bind và ngắt kết nối): Một ESME đã thôi bind khỏi một SMSC
và đã ngắt kết nối mạng. SMSC có thể thôi bind khỏi ESME.
Một trong những ứng dụng của giao thức SMPP đó là áp dụng vào việc kết nối từ
gateway đến SMSC và từ đó phát triển các dịch vụ liên quan đến SMS ví dụ như
quảng cáo qua SMS, gửi tin nhắn, dịch vụ nhắn tin chủ động.
Để có thể triển khai dịch vụ về SMS, trước tiên, các nhà cung cấp nội dung phải
có đấu nối đến các nhà cung cấp mạng viễn thông, giao thức SMPP được lựa chọn để
thực hiện việc đấu nối này, sau đó nhà cung cấp nội dung đăng kí với nhà cung cấp
mạng viễn thông các đầu số theo một dải số ví dụ 8x55 (x=0,1,2,3,4,5,6,7) với các giá
cước theo quy định, đăng kí các tên theo yêu cầu của khách hàng. Việc tiếp theo các
nhà cung cấp nội dung phải làm đó là xây kịch bản xử lý bản tin khi có yêu cầu tra cứu
từ phía khách hàng. Và cuối cùng là xây dựng các công cụ quản trị, đối soát phục vụ
cho việc phát triển dịch vụ.
Một số dịch vụ phổ biến:
- Dịch vụ nhắn tin qua đầu số để nhận thông tin từ các nhà cung cấp nội dung:
Dịch vụ này đã rất quen thuộc với chúng ta, để sử dụng dịch vụ, khách hàng sẽ
nhắn tin theo cú pháp và gửi tới đầu số ngắn sau đó các CP sẽ trả nội dung về
cho khách hàng. Ví dụ : Để lấy kết quả xổ số miền bắc khách hàng có thể soạn
tin: SXMB gửi 8x55 ….
- Dịch vụ nhắn tin chủ động qua đầu số ngắn: Đây là dịch vụ nhắn tin chủ động,
tức là các nội dung sẽ được gửi tới khách hàng sau khi được kiểm duyệt mà
không cần phải có yêu cầu từ phía khách hàng. Với dịch vụ này, các nhà cung
cấp nội dung hay các tổ chức viễn thông sẽ thực hiện nhắn tin đến khách hàng
thông qua các đầu số ngắn. Dịch vụ này được áp dụng cho các viễn thông tỉnh
thực hiện nhắn tin thông báo cước cho khách hàng, hay các công ty, các doanh
nghiệp nhắn tin thông báo, chúc mừng…

19



Chương 2. Kannel và giải pháp kết nối SMS Gateway
2.1 Giải pháp kết nối tới SMS Gateway
Để xây dựng một ứng dụng SMS, việc quan trọng nhất là phải “nói chuyện”
được với các SMSC. Để có thể, thực hiện việc này:
- Ứng dụng cần xác định các SMSC sẽ kết nối tới và giao thức của chúng, sau đó
sẽ phải viết tất cả các phần giao tiếp tiếp tới từng SMSC một.
- Ứng dụng sẽ kết nối tới SMSC thông qua SMS Gateway - thành phần trung
gian cho phép chuyển đổi giao thức.
Giải pháp đầu tiên khiến ứng dụng phải lập trình phần giao tiếp tới từng SMSC
một. Nó chỉ phù hợp với các ứng dụng chỉ tương tác với một loại SMSC, rất khó trong
việc mở rộng.
Giải pháp thứ hai thì ứng dụng chỉ cần quan tâm tới kết nối tới SMS Gateway mà
không cần biết giao tiếp cụ thể tới từng SMSC. Tất nhiên, SMS Gateway càng hỗ trợ
nhiều giao thức thì càng hiệu quả.
Để kết nối tới SMS Gateway, có các giải pháp sau:
- Làm việc với các nhà mạng, tìm hiểu và kết nối trực tiếp: Việc này gần như là
khâu cuối cùng khi bạn đã dựng được một hệ thống thật, cần sử dụng hạ tầng
mạng của các nhà cung cấp dich vụ viễn thông (Viettel, Vinaphone,
Mobifone…) để triển khai hệ thống.
- Sử dụng một SMS Gateway bản quyền: Được sử dụng trong việc triển khai hạ
tầng mạng của các nhà cung cấp dịch vụ viễn thông
- Sử dụng một SMS Gateway mã nguồn mở: Được sử dụng trong trường hợp
muốn dựng một hệ thống mô phỏng về SMS. Giải pháp này phải kèm theo việc
sử dụng các giải pháp giả lập SMSC.
Trong phạm vi luận văn nay, với mục đích hiểu và mô phỏng được một ứng dụng
SMS, tôi lựa chọn giải pháp thứ 3, trong đó tôi sử dụng mã nguồn mở Kannel làm
SMS Gateway – một mã nguồn mở mạnh về SMS Gateway hỗ trợ nhiều giao thức kết
nối. Các giải pháp cụ thể để kết nối tới Kannel, tôi sẽ làm rõ ở các mục, tập trung ở
mục 2.5.

2.2 Giới thiệu chung về Kannel
Kannel là một phần mềm mã nguồn mở được khởi tạo bởi Wapit Ltd vào tháng 6
năm 1999 và được tiếp tục phát triển cho đến nay bởi Kannel Group. Kannel hoạt
động như là một SMS Gateway và WAP Gateway. Ngoài ra nó còn có thể hoạt động
như một Push Proxy Gateway. Phiên bản mới nhất tính tới thời điểm hiện tại là 1.5.0.
Hiệu quả của Kannel được chứng nhận ra vào 7/3/2001 tại diễn đàn WAP như là phiên
bản thứ nhất WAP 1.1 gateway trên thế giới. Một điều vô cùng quan trọng là Kannel
hỗ trợ rất nhiều chuẩn kết nối tới SMS Center trong đó có SMPP – chuẩn giao thức kết
nối được dùng bởi hầu hết các nhà cung cấp dịch vụ ở Việt Nam (Vinaphone,
20


Mobiphone, Viettel).
Kannel là một WAP gateway và SMS gateway.
Trong đó SMS – Short message service đã được mô tả chi tiết ở mục 1.1, còn
WAP – Wirelesss Application Protocol, là tập hợp các ngôn ngữ và công cụ và một cơ
sở hạ tầng để cài đặt các dịch vụ cho điện thoại di động. Các dịch vụ truyền thông của
điện thoại là các cuộc gọi hoặc các tin nhắn văn bản thông thường – dễ sử dụng, thân
thiện với người dùng. WAP giúp điện thoại có thể cài đặt các dịch vụ giống như World
Wide Web. Tuy nhiên, WAP không lấy các nội dung tồn tại trên Internet một cách
trực tiếp tới điện thoại do nhiều vấn đề về mặt kỹ thuật và các vấn đề khác. Vấn đề
chính là các nội dung Internet chủ yếu là các trang HTML và chúng được viết để đáp
ứng yêu cầu kết nối nhanh, xử lý nhanh, dung lượng lớn, màn hình lớn, âm thanh…
yêu cầu các cơ chế nhập liệu phù hợp. Các máy tính và mạng chính là phương tiện hữu
ích nhất. Trong khi, các điện thoại cầm tay có bộ xử lý chậm hơn, ít bộ nhớ hơn, băng
thông gián đoạn, màn hình nhỏ, cơ chế nhập liệu hạn chế. Hầu hết các trang HTML sẽ
không làm việc tốt trên các điện thoại này.
Kannel là phần mềm nguồn mở được viết bằng ngôn ngữ lập trình C, phát triển
chính cho môi trường Linux và có thể khá dễ dàng chuyển sang dùng trên các hệ thống
Unix. Để cài đặt và sử dụng Kannel cần phải có các phần mềm sau trong hệ thống:

- Các công cụ, thư viện phát triển và trình biên dịch C
- Thư viện gnome-xml (a.k.a. libxml), version 2.2.0 hoặc mới hơn (khuyến nghị
sử dụng libxml phiên bản 2.2.5) – cần libxml2-dev thêm vào gói libxml2.
- GNU Make
- POSIX thread (pthread.h)
- GNU Bison 1.28 nếu bạn thay đổi trình biên dịch WMLScript
- Công cụ ngôn ngữ đánh dấu DocBook (jade, jadetex, Docbook style-sheets,…),
nếu bạn muốn định dạng lại tài liệu.
- Phần cứng yêu cầu tối thiểu là 400 MHz Pentium II, 128 MB RAM.
2.3 Kiến trúc Kannel

21


Hình 2.1: Kiến trúc Kannel
Kannel bao gồm 3 tiến trình xử lý được gọi là các box, cụ thể:
- BearerBox là phần lõi của kiến trúc, cung cấp các dịch vụ cơ bản, là đầu mối
giao tiếp với các SMSC, nhận các yêu cầu và phân luồng yêu cầu xử lý
- SMSBox cài đặt các phần còn lại trong chức năng của SMS Gateway, có thể có
nhiều SMSBox
- WapBox cài đặt các WAP protocol stack và WAP Push, có thể có nhiều
WapBox
Trong phạm vi luận văn hướng tới dịch vụ SMS, tôi không đề cập tới WAP, mà
chỉ quan tâm tới các thành phần Bearerbox và SMSBox của Kannel; SMSC và các
giao thức kết nối tới Kannel; ứng dụng và cách giao tiếp giữa ứng dụng với Kannel.
2.4 Cài đặt Kannel và cấu hình Kannel
Cài đặt Kannel
Đầu tiên cần tải về mã nguồn của Kannel tại

Sau đó chuyển tới thư mục mà bạn lưu file và thực hiện các lệnh sau:

bzip2 -cd gateway-1.5.0.tar.bz2 | tar xf –
cd gateway-1.5.0
./configure prefix=$install_dir enable-start-stop-daemon
make
make install
Với $install_dir là thư mục mà bạn sẽ cài kannel vào.
Sau khi thực hiện thành công, trong thư mục $install_dir/sbin sẽ có các file sau:
bearerbox, smsbox, wapbox …. File bearerbox là file thực thi chính cho hệ thống của
Kannel, nó sẽ kết nối các thành phần khác của Kannel và phụ trách việc kết nối tới các
SMS Center. File smsbox chính là file đảm nhiệm chức năng gửi nhận tin nhắn SMS.
File wapbox đảm nhiệm chức năng của WAP Gateway.
Cấu hình Kannel
Để sử dụng Kannel, cần phải tạo ra file cấu hình cho hệ thống. File cấu hình
được chia ra làm 3 phần:
- Bearerbox: Chứa một nhóm “core” và được sử dụng bởi các nhóm SMSC
- Smsbox: là một nhóm smsbox và có một số các sms-service và nhóm người sử
dụng sendsms.
- Wappbox: chỉ chứa một nhóm wapbox
File cấu hình chứa các nhóm biến cấu hình của hệ thống. Các nhóm được chia ra
bởi các dòng trống. Mỗi nhóm cấu hình được đại diện bởi một biến group. Các dòng
chú thích có thể đặt sau dấu #.
Các dòng định nghĩa các biến cấu hình có tên của biến đó, dấu bằng ( = ) và giá
trị tương ứng được gán cho biến đó. Tên của biến có thể chứa bất kỳ ký tự nào ngoại
22


trừ dấu trắng và dấu bằng ( = ). Giá trị của biến là một xâu có thể có cặp dấu “” bao
quanh chúng. Cặp dấu “” có tác dụng khi mà giá trị của biến đó có các dấu trắng ở đầu
hay cuối (bình thường các dấu này sẽ bị bỏ đi). Sau đây là một ví dụ:
# A do-nothing service.

group = sms-service
keyword = nop
text = "You asked nothing and I did it!"

# Default service.
group = sms-service
keyword = default
text = "No services defined"
Cũng có thể dùng include để ghép các file cấu hình nhỏ vào vị trí dùng include.
Điều này giúp việc quản trị file cấu hình trong những hệ thống lớn dễ dàng và hiệu quả
hơn. Chúng ta có thể ghép một file hay tất cả các file trong một thư mục. Ví dụ:
#include one file
include = "file.conf"
#include one directory
include = "conf_dir"
Sau đây là cách thiết lập cấu hình cho các nhóm cần thiết để Kannel có thể hoạt
động như một SMS Gateway và kết nối tới SMS Center thông qua giao thức SMPP
phiên bản 3.4. Để đơn giản chúng ta sẽ chỉ nêu ra những thành phần cần thiết nhất, các
thành phần còn lại có thể tham khảo thêm trong .
Về cấu hình core: Việc cấu hình cho Kannel phải luôn luôn chứa một nhóm cho
cấu hình bearerbox chung. Nhóm này gọi tên là core trong file cấu hình và nên là
nhóm đầu tiên. Sau đây là danh sách các biến cấu hình trong nhóm này và ý nghĩa của
chúng:
- group: Bắt buộc phải là “core”.
- admin-port: Cổng mà bearerbox đợi các lệnh điều khiển thông qua giao thức
HTTP. Các lệnh điều khiển này bao gồm các lệnh như tạm dừng hệ thống
(suspend), cho hệ thống tiếp tục chạy (resume), khởi động lại hệ thống (restart),
tắt hệ thống (shutdown), xem trạng thái của hệ thống (status) … Port này không
được giống với port HTTP của server HTTP local, có thể là bất cứ port nào lớn
hơn 1023 trừ khi bạn chạy Kannell như một root process.

- admin-password: Mật khẩu cần khi thực hiện các lệnh điều khiển.
- admin-deny-ip: Dah sách các ip không được phép kết nối, cách nhau bởi dấu
“;”
- admin-allow-ip: Danh sách các ip được phép kết nối, cách nhau bởi dấu “;”
- smsbox-port: Đây là cổng mà bearerbox sẽ mở ra để đợi kết nối từ các
smsbox. Tham số này giúp cho nhiều smsbox có thể kết nối tới một bearerbox
và smsbox không nhất thiết phải chạy trên cùng một máy tính với bearerbox.
Nếu không chỉ định tham số này thì bearerbox sẽ không mở cổng để đợi kết nối
từ smsbox và vì vậy Kannel sẽ không xử lý bất kỳ một tin SMS nào. Trong
23


trường hợp này các chức năng của SMS Gateway sẽ không được sử dụng.
- wapbox-port:Cũng giống như smsbox-port, nhưng là cho các kết nối từ
wapbox. Trong trường hợp không chỉ định các chức năng của WAP Gateway sẽ
không được sử dụng.
- box-deny-ip: Danh sách các địa chỉ IP không được phép kết nối tới bearerbox.
Có thể dùng dấu ‘*’ để đại diện cho một số bất kỳ. Các địa chỉ được phân cách
bởi dấu ‘;’.
- box-allow-ip: Danh sách các địa chỉ IP được phép kết nối tới bearerbox, ngay
cả khi nó nằm trong danh sách box-deny-ip.
- access-log: Tên của tệp sẽ ghi lại các thông tin về việc gửi nhận tin nhắn
SMS qua hệ thống.
Nhóm smsc: Nhóm này chứa các cấu hình cho việc kết nối tới SMS Center. Nó
bao gồm một số các biến cấu hình chung cho tất cả các loại SMS Center và một số
biến cấu hình đặc thù cho từng loại SMS Center.
Các biến cấu hình chung:
- group: Bắt buộc phải là “smsc”.
- smsc: Là xâu chỉ định loại SMS Center. Với các SMS Center dùng giao thức
SMPP thì nó là “smpp”.

- smsc-id:Là bí danh của SMS Center này. Khi gửi tin nhắn với tham số smsc
trùng với bí danh của SMS Center nào thì tin nhắn sẽ được gửi tới SMS Center
đó. Điều này giúp cho việc gửi tin nhắn hiệu quả hơn. Ví dụ khi cần gửi tới 1
thuê bao trong mạng Vinaphone thì việc gửi qua SMS Center của Vinaphone sẽ
nhanh hơn nhiều so với việc gửi tin qua SMS Center của Viettel Mobile.
- denied-smsc-id: Nếu như không tìm thấy SMS Center có bí danh được chỉ
định hay hiện tại không kết nối được tới SMS Center đó thì Kannel tiến hành
quá trình chọn đường đi cho tin nhắn. Với những tin có smsc chỉ định nằm
trong danh sách này sẽ không bao giờ được đi qua SMS Center này. Các phần
tử được phân cách bởi dấu trắng.
- allowed-smsc-id: Chỉ các tin nhắn có smsc chỉ định nằm trong danh sách này
mới đi qua được SMS Center này.
- allowed-prefix: Danh sách các tiền tố của số điện thoại nhận tin được cho
phép qua SMS Center này. Ví dụ nếu là SMS Center của Vinaphone thì chúng
ta có thể đặt biến này bằng “+8491;8491;091”.
- denied-prefix: Danh sách các tiền tố của số điện thoại nhận tin không cho
phép qua SMS Center này. Ví dụ nếu là SMS Center của Vinaphone thì chúng
ta có thể đặt biến này bằng “+8490;8490;090;+8498;8498;098”.
- reconnect-delay: Số lượng giây đợi giữa hai lần cố gắng tạo lại kết nối.Mặc
định là 10s.
Các biến cấu hình cho các SMS Center dùng giao thức SMPP phiên bản 3.4:
- host:Địa chỉ IP của máy đang thực thi SMS Center.

×