Xõy dựng hệ MVAS-SMS

Một phần của tài liệu Nghiên cứu và xây dựng hệ thống phần mềm hỗ trợ việc dạy học trực tuyến trên mạng internet (Trang 72 - 81)

Do chưa xin cấp được một số dịch vụ trờn tổng đài SMSC của cỏc nhà cung cấp súng di động chớnh vỡ thế hệ MVAS-SMS sẽ được xõy dựng mụ phỏng bằng cỏch sử dụng phần mềm NowSMS Gateway làm SMS Gateway và điện thoại Nokia 6100 kết nối với mỏy tớnh qua cổng USB làm tổng đài SMSC ảo. Sau đõy sẽ là chi tiết cụ thể cỏc phần của hệ thống MVAS-SMS:

NowSMS Gateway Cài đặt NowSMS

Để cài đặt NowSMS thỡ trước hết cần download bộ cài từ địa chỉ web sau:

http://www.nowsms.com rồi cài đặt theo hướng dẫn.

Sử dụng NowSMS

Thiết lập kết nối đến SMSC

NowSMS đũi hỏi phải kết nối đến một SMSC để giao tiếp với mạng SMS. Một kết nối SMSC cú thể là một trong cỏc loại sau đõy:

GSM Modem – Một GSM modem hoặc một điện thoại di động kết nối với mỏy tớnh qua cổng COM, USB, hồng ngoại hoặc Bluetooth và được cài đặt modem driver

thớch hợp. Trong trường hợp này điện thoại Nokia 6100 được kết nối với mỏy tớnh qua cổng USB và được hiểu là cổng COM4

Hỡnh 3.18: Kết nối điờn thoại Nokia 6100 với mỏy tớnh thụng qua NowSMS

SMPP(Short Message Peer to Peer Protocol) – Một kết nối TCP/IP qua mạng

internet hoặc mạng nội bộ tới dịch vụ hỗ trợ giao thức SMPP version 3.3 hoặc 3.4

UCP/EMI (Universal Computer Protocol / External Machine Interface) – Một kết nối TCP/IP qua mạng internet hoặc mạng nội bộ tới dịch vụ hỗ trợ giao thức UCP/EMI version 3.5 hoặc 4.0

CIMD2 (Computer Interface to Message Distribution, version 2) – Một kết nối TCP/ IP qua mạng internet hoặc mạng nội bộ tới dịch vụ hỗ trợ giao thức CIMD2. CIMD2

thiết lập bởi cỏc loại Nokia SMSC.

HTTP (Hyper Text Transport Protocol, giao thức chuẩn cho “web”) – Một kết nối

TCP/IP qua đường internet hoặc đường nối riờng tới dịch vụ chấp nhận gửi nhận tin nhắn SMS qua giao thức HTTP dựa trờn phương thức “GET”.

Chạy như một Web Service

Trong mụi trường Windows thỡ Service này sẽ tự khởi động cựng với hệ điều hành. Service này chạy ở địa chỉ mặc định là chỳng127.0.0.1 và cổng 8800. Khi một request hợp lệ đến Service này nú sẽ thực hiện gửi tin nhắn tương ứng đến SMSC thụng qua giao diờn HTTP tương tự như phần mềm Kannel. Để chọn cho Service này chạy ta cần chọn trong tab Service của giao diện chương trỡnh NowSMS như hỡnh vẽ sau:

Hỡnh 3.19: Thiết lập WebService cho NowSMS

Hỗ trợ 2 chiều SMS

Đõy là chức năng cho phộp khi một tin nhắn được gửi đến thỡ NowSMS sẽ tự động gọi một chương trỡnh hoặc một HttpRequest để xử lý tin nhắn đú và sẽ gửi trả lại một tin nhắn văn bản cú nội dung là những gỡ chương trỡnh đú hiện thị ra màn hỡnh hoặc là response của HttpRequest.

Trong đề tài này khi một tin nhắn được gửi đến nú sẽ gọi một lớp java để xử lý cú tờn là SMSProcess.

Hỡnh 3.20: Thiết lập chức năng gọi mụ đun xử lý tin nhắn cho NowSMS  Chương trỡnh xử lý tin nhắn (SMS Process)

Quy tắc xử lý tin nhắn cú cỳ phỏp: Cỏc tin nhắn hợp lệ

NHAC X: Tải nhạc chuụng cú mó số là X

NHAC X Y: Gửi tặng nhạc chuụng cú mó số là X đến số điện thoại Y HINH X: Tải hỡnh ảnh cú mó số là X

HINH X Y: Gửi tặng hỡnh ảnh cú mó số là X đến số điện thoại Y LOGO X: Tải logo cú mó số là X

LOGO X Y: Gửi tặng hỡnh ảnh cú mó số là X đến số điện thoại Y

Nếu tin nhắn gửi đến là đỳng cỏc trường hợp trờn thỡ gửi lại khỏch hàng nội dung tương ứng. Cụ thể như sau:

Nếu yờu cầu là nhạc chuụng đơn õm hay logo thỡ sẽ gửi lại cho khỏch hàng nhạc chuụng đơn õm hay logo dưới dạng smart sms.

Nếu yờu cầu là nhạc chuụng đa õm hay hỡnh ảnh thỡ gửi trả lại cho khỏch hàng một thụng bỏo dưới dạng WAP Push. Nội dung yờu cầu sẽ do khỏch hàng tự tải về. Điều này đũi hỏi điện thoại của khỏch hàng phải truy cập được WAP thụng qua GPRS.

Cỏc trường hợp cũn lại tin nhắn bị coi là khụng hợp lệ.

Cỏc tham số đầu vào của chương trỡnh

SENDER: Số điện thoại người gửi REP: Số dịch vụ

FULLSMS: Nội dung tin nhắn gửi đến

Lập trỡnh socket:

Cần sử dụng socket để gửi yờu cầu qua giao thức HTTP đến NowSMS Gateway Service. Sử dụng socket với java:

socket = new Socket(host, port);

OutputStream os = socket.getOutputStream(); boolean autoflush = true;

PrintWriter out = new PrintWriter(socket.getOutputStream(), autoflush); out.println(string);

Trong đú host và post là địa chỉ và cổng cần kết nối qua socket, string là chuỗi yờu cầu cần gửi đến.

Vớ dụ

string = “GET ?Data=" + Data + Submit = Submit + Query & Binary = 1 &

PID = 0 & DCS = F5 & UDH=" + UDH + "&PhoneNumber" + tel

Hàm gửi tin nhắn văn bản

Tham số:

tel: Số điện thoại người nhận

text: nội dung tin nhắn văn bản cần gửi

//Send Text message

public static void SendTextSMS(String tel,String text){ Socket socket = null;

try {

socket = new Socket("127.0.0.1", 8800); OutputStream os = socket.getOutputStream(); boolean autoflush = true;

PrintWriter out = new PrintWriter(socket.getOutputStream(), autoflush);

out.println("GET ?=&PhoneNumber=" + tel + "&Text=" + text);

out.println(); }

System.out.print(ex.toString()); }

}

Hàm gửi tin nhắn WAPPush

Tham số:

tel: số điện thoại người nhận

stringURL: chuỗi chỉ ra đường dẫn WAPPush tilte: chuỗi ký tự tiờu đề gửi kốm

public static void sendWapPush(String tel, String stringURL, String title) { Socket socket = null;

try {

socket = new Socket("127.0.0.1", 8800); OutputStream os = socket.getOutputStream(); boolean autoflush = true;

PrintWriter out = new PrintWriter(socket.getOutputStream(), autoflush);

out.println("GET ?WAPSL=&PhoneNumber=" + tel + "&WAPURL=" + stringURL + "&Text=" + title +

"&WAPSIACTION=signal-medium&WAPSIID=&WAPSICREATED=&WAPSIEXPIRES="); out.println("Connection: Close");

out.println(); }

catch (IOException ex) { System.out.print(ex.toString()); }

}

Hàm gửi tin nhắn nhị phõn

Tham số:

tel: số điện thoại người nhận Data: dữ liệu cần gửi

typebirmes: loại dữ liệu cần gửi; 1: ringtone, 2:logo

Nếu dữ liệu cần gửi là ringtone thỡ UDH = 06050415811581 Nếu dữ liệu cần gửi là logo thỡ UDH = 06050415821582 Khi gửi dữ liệu là logo thỡ cú 2 tham số cần quan tõm đú là: Mobile Country Code (MCC): MCC của Việt nam là 452

Mobile Network Code (MNC): MNC của mạng mobifone là 01, vinafone là 02, vietel là 04

//Send Binary SMS

public static void sendBinaryMess(String tel, String Data, int typebirmes) { Socket socket = null;

try {

socket = new Socket("127.0.0.1", 8800); OutputStream os = socket.getOutputStream(); boolean autoflush = true;

PrintWriter out = new PrintWriter(socket.getOutputStream(), autoflush);

if (typebirmes == 1) { //Send ringtone

out.println("GET ?Data=" + Data +

"&Binary=1&PID=0&DCS=F5&UDH=06050415811581" + "&PhoneNumber=" + tel);

}

else if (typebirmes == 2) { //Send logo

String Data1 = new String(); //Data to send String MNC = new String(); //Nokia Network code if (tel.charAt(2) == '0') { MNC = "01"; } else if (tel.charAt(2) == '1') { MNC = "02"; } else if (tel.charAt(2) == '8') { MNC = "04"; } if (Data.length() == 260) {

Data1 = "54F2" + MNC.charAt(1) + MNC.charAt(0) + Data; }

else {

Data1 = "3054F2" + MNC.charAt(1) + MNC.charAt(0) + "0A" + Data; }

System.out.println(Data1); System.out.print(MNC);

out.println("GET ?Data=" + Data1 + "&NokiaMCC=452&NokiaMNC=" + MNC + "&NokiaBitmapData=" + Data +

"&PhoneNumber=" + tel); }

out.println("Connection: Close"); out.println();

}

catch (IOException ex) { System.out.print(ex.toString()); }

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết quả đạt được

Đồ ỏn này đó thực hiện được những vấn đề cơ bản sau:

Cơ sở lý thuyết để xõy dựng cỏc dịch vụ giỏ trị gia tăng trờn điện thoại di động

mạng GSM bao gồm: SMS, giao thức SMPP, SMS Gateway, WAP

Xõy dựng hệ thống MVAS cung cấp cỏc dịch vụ nội dung như: nhạc chuụng, hỡnh

nền, logo. Hệ thống bao gồm: hệ thống website và mụ đun kết nối gửi, nhận và xử lý tin nhắn.

Hướng phỏt triển

Dịch vụ giỏ trị gia tăng trờn di động là một trong những vấn đề đó, đang và cũn phỏt triển mạnh mẽ trong tương lai.

Đồ ỏn này mới nghiờn cứu được những lý thuyết, giao thức cơ bản để xõy dựng dịch vụ giỏ trị gia tăng và xõy dựng một chương trỡnh ứng dụng cung cấp dịch vụ nội dung. Ứng dụng này cũn cú khả năng mở rộng trong tương lai và ứng dụng mụ hỡnh vào nhiều vấn đề khỏc.

Cỏc hướng phỏt triển tiếp theo:

Xõy dựng và hoàn thiện chức năng admin cho hệ thống. Chức năng này cho phộp

cỏc nhà cung cấp nội dung cú thể quản lý nội dung cung cấp của mỡnh trực tiếp từ Website.

Dịch vụ bỡnh chọn qua tin nhắn sẽ là một dịch vụ tồn tại rất lõu và luụn hấp dẫn,

tuy nhiờn hiện nay khi muốn tạo mới một kịch bản đũi hỏi nhà cung cấp phải phỏt triển mụ đun xử lý mới cũng như phải thờm cơ sở dữ liệu. Chớnh vỡ thế một hướng mới đặt ra là xõy dựng một hệ thống cho phộp tạo lập kịch bản từ trờn website mà khụng phải phỏt triển mụ đun xử lý mới.

Việc tin nhắn cú thể được gửi nhận từ điện thoại hay SMSC qua mỏy tớnh cho phộp

chỳng ta xõy dựng cỏc ứng dụng khai thỏc cỏc cơ sở dữ liệu cú sẵn như:

Hệ thống quản lý học sinh cho phộp phụ huynh tra cứu và nhận kết quả học tập của con em mỡnh qua tin nhắn.

Khai thỏc cỏc cơ sở dữ liệu cú sắn của doanh nghiệp dựa trờn việc gửi nhận tin nhắn.

Xõy dựng cỏc ứng dụng thương mại, việc giao dịch thụng qua gửi nhận tin nhắn

hay truy cập WAP.

TÀI LIỆU THAM KHẢO

[1] SMS Forum. “Short Message Peer-to-Peer Protocol Specification Version 5.0” (www. s ms forum . net )

[2] SMS Forum.“Short Message Peer-to-Peer Protocol Specification Version 3.4” (www. s ms forum . net )

[3] Laxxuss. “Proffesional WAP 2000”. Wrox

[4] www.nowsms.com

[5] www.kannel.com

[6] Nokia. “Smart messaging specification”

Một phần của tài liệu Nghiên cứu và xây dựng hệ thống phần mềm hỗ trợ việc dạy học trực tuyến trên mạng internet (Trang 72 - 81)

Tải bản đầy đủ (DOC)

(81 trang)
w