Quy trình tạo tin nhắn MMS

Một phần của tài liệu đồ án công nghệ thông tin Tìm hiểu và xây dựng ứng dụng MMS (Trang 65)

Sau khi nghiên cứu từ trên chúng ta có thể đưa ra được mô tả cho quy trình tạo tin nhắn MMS như sau.

Hình 40. Sơ đồ quy trình tạo tin nhắn MMS

Chúng ta lưu ý quy trình trên như sau: trong quá trình tạo chương trình SMIL mỗi một hãng sản xuất thiết bị cầm tay khác nhau sẽ chỉ hỗ trợ một số thẻ trong file SMIL nên có thể các chương trình SMIL không chạy được trên một số thiết bị khác nhau. Tương tự như vậy với các thành phần multimedia cũng có các định dạng khác nhau với từng loại thiết bị cầm tay.

3. Kiểm tra ứng dụng MMS

Xuất phát từ nhu cầu sau khi xây dựng sản phẩm ở đây là đã hoàn thành quy trình tạo tin nhắn MMS vậy triển khai ứng như thế nào, kiểm thử kết quả ra sao đó là một phần không thể thiếu khi xây dựng ứng dụng phần mềm chính

Tạo chương trình SMIL mô tả trình diễn trong MMS Chuẩn bị các thành phần multimedia cần đưa vào MMS Đóng gói dữ liệu theo đặc tả MIME Đóng gói dữ liệu theo giao tiếp

bị đich, do trong việc gửi tin từ thiết bị này sang thiết bị khác có thể xảy ra trường hợp không thể đọc được trên thiết bị đích. Nguyên nhân như đã đề cập từ trước là do các thiết bị này có thể do các hãng sản xuất khác nhau, hỗ trợ chuẩn hóa ở các mức khác nhau nên không tương thích trong việc trình diễn các dữ liệu đa phương tiện).

Để kiểm tra ứng dụng MMS có các phương pháp như sau.

1. Dùng MMS portal hoặc chương trình tạo trên MMS để gửi nhận tin nhắn MMS của chúng ta tạo ra qua mạng internet.

2. Sử dụng gateway của nhà cung cấp dịch vụ viễn thông, hoặc các nhà sản xuất thiết bị cầm tay viết chương trình để gửi tin nhắn từ MMS qua đó.

3. Gửi nhận tin nhắn MMS từ một trang web trên máy chủ của chính minh(có hỗ trợ WAP)

4. Gửi nhận tin nhắn MMS qua cổng nối tiếp của thiết bị cầm tay.

CHƯƠNG VIII

CÀI ĐẶT THỰC TẾ ỨNG DỤNG MMS

1.Các phương pháp xây dựng ứng dụng MMS

Chúng ta đã đề cập ở trên với chúng ta có các hướng tiếp cận xây dựng ứng dụng MMS thông qua các cách sau đây.

1. Sử dụng MMS portal hoặc chương trình tạo trên MMS để gửi tin nhắn MMS của ta tạo ra qua mạngdựa trên nền web.

2. sử dụng gateway của nhà cung cấp dịch vụ viễn thông viết chương trình để gửi tin nhắn từ MMS qua đó thông qua tham gia vào một chương trình phát triển của một nhà cung cấp nào đó. 3. Tải tin nhắn MMS từ một trang web của chính chúng ta(có hỗ

trợ WAP) với giải pháp này chúng ta cần phải đảm bảo rằng máy chủ chứa trang web của chúng ta có kết nối với mạng thông

đây chính là giải pháp mà em đã sử dụng trong đồ án này để tiến hành xây dựng ứng dụng gửi tin nhắn đa phương tiện từ web. 4. Tải tin nhắn MMS qua cổng nối tiếp của thiết bị cầm tay ví dụ

như cổng hồng ngoại, cáp nối thiết bị cầm tay với máy tính. Chúng ta sẽ đi vào nghiên cứu lần lượt các biện pháp để xây dựng ứng dụng MMS

1.1 Biện pháp sử dụng MMS portal

Biện pháp sử dụng MMS portal ngoài những ưu điểm là cho chúng ta khả năng tạo một ứng dụng đa dạng được nhiều người tiếp cận do với một poral thì khả năng được nhiều người dùng và đáp ứng được yêu cầu đa dạng thông tin từ người dùng và rất dễ dàng trên web.

Tuy nhiên phương pháp này không phải không có các nhược điểm: đó là mỗi khi chúng ta có thay đổi cấu trúc của ứng dụng, hoặc có sự thay đổi của portal như các đặc tả mới các thư viện hàm mới, chúng ta cần phải phải sửa đổi lại ứng dụng, cũng như vấn đề về bảo mật thông tin của các portal này thường không cao do cấu trúc của portal là một sản phẩm có kiến trúc mở cho các nhà phát triển.

1.2 Biện pháp sử dụng gateway của các nhà cung cấp

Biện pháp sử dụng gateway của nhà cung cấp dịch vụ viễn thông có thể trình bày khái quát như sau: một số nhà cung cấp cũng như nhà sản xuất thiết bị cầm tay hoặc nhà cung cấp dịch vụ viễn thông triển khai một số thử nghiệm, có biện pháp khuyến khích phát triển ứng dụng MMS thông qua việc cho phép các nhà phát triển truy xuất tới các thiết bị mạng viễn thông của họ với một số điều kiện nhất định hoặc với giá ưu đãi cho phép chúng ta trực tiếp

VONDAFONE … là các hãng đang cung cấp giải pháp thuộc dạng này, ví dụ như trong trường hợp của hãng NOKIA hãng này cung cấp cho chúng ta toàn bộ thư viện( Nokia MMS Java Libary) bộ thư viện này cung cấp các tính năng cơ bản như tạo ra được tin nhắn đóng gói theo m-retrieve-conf trong giao tiếp MM1, ngoài ra hãng còn cung cấp thêm chương trình giả lập thiết bị cầm tay của hãng để chúng ta thử nghiêm trên máy, nếu muốn thử nghiệm thực tế hoặc triển khai rộng ứng dụng chúng ta hoàn toàn có thể thuê kết nối với các thiết bị của mạng viễn thông mà hãng cung cấp để triển khai ứng dụng của mình nhưng nhược điểm của phương pháp này giá thành rất cao nếu chúng ta chỉ thử nghiệm trong quy mô nhỏ và vừa.

1.3 Biện pháp tải tin nhắn MMS xuống thiết bị cầm tay trực tiếp

Biện pháp tải tin nhắn MMS xuống thiết bị cầm tay trực tiếp. Biện pháp này sử dụng các đặc tả của từng hãng sản xuất thiết bị cầm tay về phương pháp truyền dữ liệu thông qua các cổng COM, IrDA(hồng ngoại) hoặc Bluetooth từ máy tính tới thiết bị cầm tay. Đây là một biện pháp trực tiếp và rẻ tiền nhất cũng như dễ dàng nhất để tiến hành gửi tin nhắn MMS tuy nhiên chúng ta phải thừa nhận rằng nó chỉ được sử dụng trong thử nghiệm cá nhân hoặc các yêu cầu cần kiểm tra trên một loại thiết bị cầm tay của một hãng nào đó và biện pháp này hoàn toàn không có ứng dụng trong triển khai rộng, cũng cần phải lưu ý rằng thiết bị của một số hãng không hỗ trợ việc gửi trực tiếp MMS đến thiết bị của thuộc hãng đó( ví dụ các sản phẩm của hãng Sony- Ericssion hoàn toàn không cho phép truyền tải tin nhắn đa phương tiện theo biện pháp này).

1.4 Gửi tin nhắn MMS từ máy chủ web

Biện pháp cuối cùng gửi tin nhắn MMS từ máy chủ web của chính chúng ta ngoài các tính năng về đảm bảo an toàn và tính tiện dụng cho nhà phát triển và hơn nữa nó thực sự rẻ tiền. Sau một khoảng thời gian nghiên cứu

pháp này sử dụng trực tiếp kết nối của modem GSM/GPRS tới ứng dụng web cho phép gửi tin nhắn MMS tạo nên giải pháp cục bộ hóa trong phát triển ứng dụng tính toán di động dựa ngay trên nền tảng mạng viễn thông đang sử dụng mà không cần thuê kết nối trực tiếp tới MMSC với giá rất đắt có thể nói lúc này máy chủ chạy ứng dụng là một MMSC thu nhỏ.

Trong biện pháp này có thể chia ra làm các cách tiếp cận nhỏ khác nhau như hoàn toàn đạt được mục đích xây dựng được ứng dụng MMS.

Như chúng ta đã đề cập ở trên hai cách đóng gói thông tin để chuyển tin nhắn MMS tới thiết bị cầm tay quan trọng nhất đó chính là m-notification- ind, m-retrieve-conf dạng đóng gói thông tin đầu tiên thông báo cho thiết bị cầm tay rằng có một tin nhắn được gửi tới thiết bị, và dạng đóng gói thông tin thứ hai là nội dung của tin nhắn mà thiết bị cầm tay nhận lại được sau khi yêu cầu MMSC đáp ứng. Thông thường trong hoạt động của mạng thông tin MMS thì MMSC sẽ đẩy một tin nhắn SMS, hoặc thông qua WAP nội dung của gói thông tin mang định dạng m-notification-ind tới thiết bị cầm tay, tiếp đó sau khi nhận được thông báo thì thiết bị cầm tay sẽ gởi một yêu cầu tới MMSC và nhận lại tin nhắn MMS.

Sơ đồ giải thuật tạo tin nhắn theo định dạng m-retrieve-conf,m- notification-ind.

Duyệt file SMIL

Lấy thông tin các thành phần của tin nhắn MMS trong file SMIL Mã hóa các thành phần theo định dạng MIME

được đóng gói theo các định dạng nhất định tham khảo trong[WAP-209-MMS Encapsulation] của phần thông tin các header trong các định dạng, kèm theo đó việc mã hóa các byte trong header sẽ được mã hóa theo đặc tả WSP[WAP- 230-WSP] đã đề cập tới ở trên. Để dễ dàng minh họa cho ví dụ chúng ta sẽ chuyển các định dạng sang dạng chuỗi ASCII để dễ dàng phân tích, minh họa cho lý thuyết. Sau đây là minh họa về nội dung của một tin nhắn MMS đóng gói theo định dạng m-retrieve-conf. Tin nhắn này chỉ bao gồm hiển thị trên thiết bị cầm tay một dòng chữ ”Xin chao cac ban” trong khoảng thời gian xác định.

X-Mms-Message-Type: m-retrieve-conf X-Mms-TransactionID: 000001 X-Mms-MMS-Version: 1.0 To: +84912008999/TYPE=PLMN From: tungpt@fpt.vn Date: 19 May 2004 Content-Type: application/vnd.wap.multipart.related; start=<A0> Boundary=”boundary000001”; type = application/smil --boundary000001” Content-ID:<A0> Content-Type: application/smil; charset=”US-ASCII” <smil>

[…](ph n ầ nội dung c a file smil)ủ

</smil>

--boundary000001”

Content-Location: test.txt Content-Type: text/plain Xin chao cac ban

--boundary000001”

Tiếp theo chúng ta sẽ xem xét thông tin của một tin nhắn được đóng gói theo định dạng m-notification-ind.

X-Mms-Expiry: 12:00:00 X-Mms-Content-Location:

www.wap.ppctek.com/test.mms

Sau đây là mô tả theo dạng hexa của định dạng tin nhắn m-retrieve- conf , do định dạng của tin nhắn m-notification-ind là tương tự như với m- retrieve-conf chỉ khác biệt tại điểm trong m-notification-ind không chứa các thông tin, và dữ liệu của các thành phần mà chỉ chứa các thông tin như đã mô tả ở trên. Chính vì lý do đó em sẽ đi vào tìm hiểu thêm nội dung của tin nhắn m-retrieve-conf sau khi được mã hóa đóng gói theo đặc tả của giao tiếp MM1.

Nội dung của tin nhắn đóng gói theo định dạng m-retrieve-conf.

8C848D90850440A2828B890F8074756E677074406670742E766E0096746573 7420677569206D6D7300841F20B38A3C746573742E736D696C3E0089617070 6C69636174696F6E2F736D696C00022A83466170706C69636174696F6E2F73 6D696C00C0223C746573742E736D696C3E008E746573742E736D696C003C3F 786D6C2076657273696F6E3D22312E30223F2F3E0D0A3C21444F4354595045 20736D696C205055424C494320222D2F2F5733432F2F44544420534D494C20 312E302F2F454E222022687474703A2F2F7777772E77332E6F72672F74722F 5245432D736D696C2F534D494C31302E647464222F3E0D0A3C736D696C2078 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F534D 494C32302F43522F4C616E6775616765223E0D0A20203C686561643E0D0A20 2020203C6C61796F75743E0D0A2020202020203C726F6F742D6C61796F7574 2077696474683D2231363022206865696768743D22313430222F3E0D0A2020 202020203C726567696F6E2069643D2254657874222077696474683D223136 3022206865696768743D22323022206C6566743D22302220746F703D223132 30222F3E0D0A202020203C2F6C61796F75743E0D0A20203C2F686561643E0D 0A20203C626F64793E0D0A202020203C706172206475723D22313073223E0D 0A202020202020202020203C74657874207372633D22746573742E74787422 20726567696F6E3D225465787422202F3E0D0A202020203C2F7061723E0D0A 20203C2F626F64793E0D0A3C2F736D696C3E180C83C0223C746573742E7478 743E008E746573742E747874004368616F206361632062616E.

Có thể giải thích lần lượt dãy số trên như sau:  8C: Định danh trường loại tin nhắn.

85: Định danh ngày gửi.

04: Độ dài của trường ngày gửi.

40A2828B: Số giây tính từ 0:0:0 ngày 01-01-1970 (1.071.622.324) .

89: Định danh phần trường người gửi.

0F: Độ dài của trường định danh người gửi.

80: Kết thúc phần header của trường định danh người gửi.

74756E677074406670742E766E00: mô tả thông tin người

gửi(tungpt@fpt.vn) phần dữ liệu này luôn kết thúc bởi chuỗi NULL trong bản mã ASCII.

96: Định danh trường tiêu đề tin nhắn

7465737420677569206D6D7300: nội dung tiêu đề ”test gui mms”.

84: Định danh trường kiểu dữ liệu trong tin nhắn.

1F20B38A3C746573742E736D696C3E00896170706C6963617469 6F6E2F736D696C00:Nội dung của kiểu các thành phần trong tin

nhắn là application/vnd.wap.multipart.related; start=<test.smil>; type=application/smil.

02: số lượng thành phần trong dữ liệu đóng gói dạng MIME.

2A: Độ dài của trường header của thành phần đầu tiên.

8346: Kích thước dữ liệu của thành phần đầu tiên.

6170706C69636174696F6E2F736D696C00: kiểu dữ liệu của thành

phần đầu tiên(application/smil).

C0: Định danh trường ID của thành phần đầu tiên.

223C746573742E736D696C3E00: ID của thành phần dữ liệu mà

nội dung của chứa file SMIL( “<test.smil>).  8E: Trường định danh tên của file chứa dữ liệu.

567696F6E2069643D2254657874222077696474683D2231363022 206865696768743D22323022206C6566743D22302220746F703D 22313230222F3E0D0A202020203C2F6C61796F75743E0D0A202 03C2F686561643E0D0A20203C626F64793E0D0A202020203C70 6172206475723D22313073223E0D0A202020202020202020203C7 4657874207372633D22746573742E7478742220726567696F6E3D 225465787422202F3E0D0A202020203C2F7061723E0D0A20203 C2F626F64793E0D0A3C2F736D696C3E: Phần nội dung của file

SMIL dưới dạng mã hexa.

18: Độ dài của trường header của thành phần thứ hai.

0C: Kích thước dữ liệu của thành phần thứ hai.

83: Kiểu dữ liệu của thành phần thứ hai ở đây là text/plain (theo

bảng định giá trị của loại file thành phần trong WSP)  C0: Định danh trường ID của thành phần thứ hai.

223C746573742E7478743E00: ID của thành phần dữ liệu mà nội

dung của chứa file text( “<test.txt>).

8E: Trường định danh tên của file chứa dữ liệu.

746573742E74787400: Tên file test.txt.

4368616F206361632062616E: Phần nội dung của file test.txt.

Chúng ta có bảng gán giá trị của từng kiểu file của thành phần dữ liệu trong giao thức WSP được dùng ở trên như sau.

Content Type Encoding Version Assigned Number

*/* 1.1 0x00 text/* 1.1 0x01 text/html 1.1 0x02 text/plain 1.1 0x03 text/x-hdml 1.1 0x04 text/x-ttml 1.1 0x05 text/x-vCalendar 1.1 0x06 text/x-vCard 1.1 0x07 text/vnd.wap.wml 1.1 0x08 application/vnd.wap.multipart.* 1.1 0x22 application/vnd.wap.multipart.* 1.1 0x22 application/vnd.wap.multipart.mixed 1.1 0x23

Chúng ta để ý với các số được gán trên khi đưa mã hóa trong file tin nhắn thì với giá trị được gán cho kiểu dữ liệu thành phần trong WSP luôn luôn được xor với giá trị 0x80 theo quy tắc mã hóa của WSP. Cụ thể như sau: với giá trị được gán cho kiểu dữ liệu thành phần mà là text/plain 0x03 khi được mã hóa trong sẽ trở thành (0x03 xor 0x80)=0x83, tương tự với application/vnd.wap.multipart.related 0x33 khi được mã hóa sẽ có dạng (0x33 xor 0x80)=0xB3.

Khi chúng ta đã tạo ra được hai tin nhắn theo hai định dạng nói trên phần còn lại là cần đưa được tin nhắn theo định dạng m-notification-ind tới thiết bị cầm tay. Chúng ta thấy rằng để đưa được tin nhắn m-notification-ind tới thiết bị cầm tay có thể có hai phương pháp sau:

• Truyền tới thiết bị cầm tay thông qua tạo một link download trong trang WML(wireless markup language) .

• Gửi tới thiết bị cầm tay thông qua một tin nhắn SMS.

Chúng ta đi vào tìm hiểu phương pháp truyền tin nhắn thông báo từ trang WML chúng ta có mô tả của một trang WML cho phép tải về môt tin nhắn thông báo.

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="download"> <a href="http://www.wap.ppctek.com/notification.mm s">get me</a> </card> </wml>

Chúng ta đi vào phân tích quá trình tải tới thiết bị cầm tay như sau: khi thiết bị cầm tay sử dụng trình duyệt WAP duyệt file .wml trên và bấm vào “get me”, Lúc này file notification.mms sẽ được WAP gateway gửi tới thiết bị

sự về thiết bị đầu cuối.

Phương pháp tiếp theo đó là sử dụng biện pháp gửi tin nhắn SMS chứa nội dung đóng gói thông tin m-notification-ind trong giao tiếp MM1 tới thiết bị cầm tay thông qua kết nối bởi modem GSM hỗ trợ GPRS với máy tính. Biện pháp này hoàn toàn tương tự như đối với biện pháp trên đó chính là tận dụng được ưu điểm tính năng của máy chủ WAP chứa tin nhắn MMS như đã đề cập, tuy nhiên có sự cải tiến đáng kể đó chính là chúng ta tận dụng được khả năng của bộ lệnh AT(bộ lệnh sử dụng cho các modem thoại) để gửi một tin nhắn SMS tới thiết bị cầm tay mà nội dung của nó chính là dữ liệu của m- notification-ind, lúc này việc gửi tin nhắn MMS trở nên chủ động thay vì bắt người sử dụng truy cập vào trang wml như đã nói ở trên để tải tin nhắn MMS về thiết bị cầm tay của họ.

Chúng ta có các bước để gửi một tin nhắn SMS mà nội dung là dữ liệu của m-notification-ind( của tin nhắn MMS cần gửi tới thiết bị cầm tay nào đó), được mô tả theo ngôn ngữ giả lập như sau.

Send AT Send ATZ Send CMGSc Send TPDU Send ^Z

Trong đó các ký hiệu trên có ý nghĩa như sau. • AT: bắt đầu kích hoạt chế độ lệnh AT. • ATZ: khởi động lại modem.

• CMGSc: gửi độ dài của dữ liệu cần được chuyển tới modem. • TPDU: nội dung dữ liệu của m-notification-ind yêu cầu kèm theo

các thông số định danh header của dữ liệu được.

• ^Z: tín hiệu kết thúc truyền dữ liệu ra modem làm việc(Ctrl+Z). Trong đó TPDU(Transport protocol data unit) là nội dung dữ liệu được

Nhằm mục đích minh họa những gì đã tìm hiểu em đã tiến hành xây đựng một ứng dụng WEB MMSCOMPOSER dựa trên nền web cho phép người sử dụng gửi tin nhắn từ trang web với địa chỉ http://tungpt.mine.nu.

Ứng dụng WEB MMSCOMPOSER có những tính năng cơ bản sau của

Một phần của tài liệu đồ án công nghệ thông tin Tìm hiểu và xây dựng ứng dụng MMS (Trang 65)

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

(82 trang)
w