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

  • Số trang: 52 |
  • Loại file: PDF |
  • Lượt xem: 12 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

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 2.2 2.3 2.4 2.5 Giải pháp kết nối tới SMS Gateway............................................................... 19 Giới thiệu chung về Kannel............................................................................ 19 Kiến trúc Kannel ............................................................................................ 20 Cài đặt Kannel và cấu hình Kannel ................................................................ 21 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 4.2 4.3 4.4 4.5 Môi trường và các công cụ sử dụng thực nghiệm .......................................... 41 Dựng cơ sở dữ liệu và xây dựng tập dữ liệu .................................................. 41 Cấu hình SMPPSim........................................................................................ 41 Cấu hình Kannel ............................................................................................. 42 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. 2. 3. Danh mục các bảng dữ liêu ............................................................................ 46 File cấu hình của SMPPSim .......................................................................... 48 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 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 Viện tiêu chuẩn viễn thông Châu Âu. 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…
- Xem thêm -