Chương 2 đã giới thiệu được những nội dung cơ bản về Open IMS Core, bao gồm:
Hệ thống mã nguồn mở Open IMS Core ra đời nhằm mục đích đáp ứng sự thiếu hụt của các phần mềm mã nguồn mở cho IMS, cho phép sự phát triển của các dịch vụ IMS và thử nghiệm các khái niệm xung quanh phần core IMS.
Các thành phần kiến trúc của Open IMS, trong đó có Open IMS Core. Một số dịch vụ được cài đặt và sử dụng trên Open IMS Core.
CHƯƠNG 3: THỬ NGHIỆM OPEN IMS CORE 3.1 Cài đặt và thử nghiệm Open IMS Core
Để tiện cho việc cài đặt và sử dụng Open IMS Core, cần tải đẩy đủ các gói tin của Ubuntu:
• Vào System/Administration/Synapic Package Manager/ • Trên tab Setting/Repositories/
• Tích chọn tất cả các ô (nên chọn Download for United States cho quá trình download diễn ra nhanh hơn)
• Close lại và ra ngoài nhấn vào biểu tượng Reload.
Sau khi đã load về, bắt đầu thực hiện cài đặt Open IMS Core. Ở đây áp dụng cho phiên bản Ubuntu 10.10
Bước 1: cài đặt các phần mềm cần thiết từ source code
Tạo thư mục chứa các file cài đặt #mkdir /opt/OpenIMSCore #cd /opt/OpenIMSCore #mkdir FHoSS
#mkdir ser_ims Tải source code
#apt-get install subversion
#svn checkout http://svn.berlios.de/svnroot/repos/ OpenIMSCore /FHoSS/trunk FHoSS
#svn checkout http://svn.berlios.de/svnroot/repos/ OpenIMSCore /ser_ims/trunk ser_ims
#apt-get install openjdk-6-jdk mysql-server libmysqlclient15-dev libxml2-dev bind9 antflexbison
# cd FHoSS
# ant compile deploy # cd ..
# cd ser_ims
# make install-libs all # cd ..
#gedit /opt/OpenIMSCore/ser_ims/cfg/icscf.sql Thêm 2 users:
grant delete,insert,select,update on icscf.* to icscf@192.168.1.20 identified by 'heslo';
grant delete,insert,select,update on icscf.* to provisioning@192.168.1.20 identified by 'provi'; #gedit /opt/OpenIMSCore/FHoSS/scripts/hss_db.sql Thêm user: grant delete,insert,select,update on hss_db.* to hss@192.168.1.20 identified by 'hss'; #gedit /opt/OpenIMSCore/FHoSS/scripts/userdata.sql Bước 3: thay đổi cấu hình các file *.cfg, *.xml, *.sh
Copy file cấu hình: #cp ser_ims/cfg/*.cfg #cp ser_ims/cfg/*.xml #cp ser_ims/cfg/*.sh
Chạy lệnh sau để thay đổi thông tin về domain và ip
./configurator.sh pcscf.cfg icscf.cfg icscf.xml scscf.cfg scscf.xml ser_ims/cfg/icscf.sql FHoSS/deploy/DiameterPeerHSS.xml FHoSS/deploy/hss.properties FHoSS/scripts/hss_db.sql FHoSS/scripts/userdata.sql
Domain name: open-ims.test IP Address: 192.168.1.20 Bước 4: thiết lập cơ sở dữ liệu
Tạo một account root pass 123 #mysqladmin -u root password 123 Tạo cơ sở dữ liệu:
#cd /opt/OpenIMSCore
#mysql –uroot –p< ser_ims/cfg/icscf.sql #mysql –uroot –p< FHoSS/scripts/hssdb.sql #mysql –uroot –p< FHoSS/scripts/userdata.sql
Bước 5: thay đổi cấu hình cho FHoSS
Vào đường dẫn: /opt/OpenIMSCore/FHoSS/deploy/* Thay đổi các thông tin:
Domain name: open-ims.test
IP: chuyển 127.0.0.1 thành 192.168.1.20 Cấu hình DNS, vào đường dẫn: /etc/bind
Cấu hình tập tin resolv.conf để thiết lặp máy ims core làm DNS Vào đường dẫn /etc/resolv.conf, thêm dòng sau:
nameserver 192.168.1.20 Khởi động lại dịch vụ: #/etc/init.d/bind9 restart Bước 6: Khởi động IMS
#cd /opt/OpenIMSCore Start pcscf
#./pcscf.sh
Listen port: 192.168.1.20:4060
Hình 3.1. Giao diện hoạt động của P-CSCF
#./icscf.sh
Listen port: 192.168.1.20:5060
Hình 3.2. Giao diện hoạt động của I-CSCF
Start scscf #./scscf.sh
Hình 3.3. Giao diện hoạt động của S-CSCF
Start FHoSS #./fohss.sh
Listen port: 192.168.1.20:3868
Listen port for Diameter Cx from ICSCF: 192.168.1.20:3869 Listen port for Diameter Cx from SCSCF: 192.168.1.20:3870 Listen port for Tomcat webserver: 192.168.1.20:8090
Hình 3.4.Giao diện hoạt động của FhoSS
Hình 3.5.Giao diện quản lý user của FHoSS
Lệnh kiểm tra port: netstat -an | grep 4060
netstat -an | grep 5060 netstat -an | grep 6060 netstat -an | grep 3868 netstat -an | grep 3869 netstat -an | grep 3870 netstat -an | grep 8090 Cài đặt UCT IMS client
Cài các gói phụ thuộc:
Linux-based operating system
libosip2 (3.0.3 with version 1.0.10 and 2.2.3 earlier versions) libexosip2 (3.0.3 with version 1.0.10 and 2.2.3 earlier versions) libgtk2-0 libxml2 libcurl3 libgstreamer0.10-0 libgstreamer-plugins-base0.10 libvlc0 vlc
Cài UCT IMS client từ gói .deb dpkg -i uctimsclient1.0.12.deb Cấu hình UCT IMS Client:
Sau khi cấu hình thành công IMS, hệ thống đã tạo sẵn hai người dùng có tên là Bob@ims.vn và Alice@ims.vn. Do đó, ngay sau khi cài đặt, ta có thể sử dụng ngay chính người dùng tên Bob và Alice để thực hiện dịch vụ như: đăng ký, xóa đăng ký, gọi, xem iptv ( channel 1, 2, 3),…
Hình 3.6. Giao diện của trình Option và IPTV trong UCT IMS client.
Hình 3.7.Giao diện cấu hình Preferences: tab Profile và IMS
Hình 3.8. Giao diện cấu hình Preferences: tab Media và XDMS
Tab Profile cho phép cấu hình: các dịch vụ, tinh năng của từng người dùng Tab IMS: cấu hình các thông số chứng thực và tên miền
Tab Media: cấu hình địa chỉ IPTV Server và các thông số truyền thông đa phương tiện.
Hình 3.9. Giao diện của UCT client khi Bob đã đăng ký.
Hình 3.11. Giao diện gửi tin nhắn trong UCT IMS Client
3.2 Bắt bản tin và phân tích hoạt động của hệ thống3.2.1 Giới thiệu chương trình Wireshark 3.2.1 Giới thiệu chương trình Wireshark
Wireshark là một chương trình bắt gói tin trên mạng. Nó sẽ cố gắng bắt tất cả các gói tin và hiển thị thông tin chi tiết nhất có thể. Mục đích của việc sử dụng Wireshark có thể là:
• Quản trị mạng: kiểm tra các lỗi trên mạng • Bảo mật hệ thống: kiểm tra các lỗi về bảo mật • Phát triển hệ thống: gỡ rối hoạt động của giao thức
Hình 3.12.Giao diện chính của chương trình Wireshark
Wireshark có một số ưu điểm như sau:
• Có thể chạy trên cả hệ thống UNIX và Windows • Bắt các bản tin trực tuyến trên card mạng
• Hiện gói tin với thông tin về giao thức
• Có thể mở và lưu lại các dữ liệu đã bắt được
• Import and Export các gói tin từ rất nhiều chương trình khác • Lọc gói tin với nhiều tiêu chí khác nhau
• Tìm kiếm gói tin với nhiều tiêu chí
• Hiển thị gói tin với màu nổi bật dựa trên bộ lọc • Tạo rất nhiều thống kê
3.2.2 Các thủ tục đăng ký
Để phân tích được quá trình liên lạc giữa S-CSCF và I-CSCF với HSS, ta cần sửa địa chỉ của P-CSCF, I-CSCF và S-CSCF thành một địa chỉ khác với địa chỉ của HSS, ở đây ta chọn là 192.168.1.30.
Trong phần này ta sử dụng hai phần mềm được cài đặt trên máy thật là Mercuro IMS Client và Wireshark để đăng ký và bắt gói tin, phân tích hoạt động xảy ra khi thực các thủ tục như đăng ký, hủy đăng ký.
Hình 3.13. Quá trình diễn ra khi đăng ký
Hình 3.14. Tiêu đề bản tin gửi từ UE
Bước 1: UE gửi bản tin REGISTER tới P-CSCF trong đó chứa thông tin về
thuê bao:
• SIP URI: nga@open-ims.test
• Địa chỉ P-CSCF (được cấu hình tại UE): 192.168.1.10:3246
Bước 2: Sau khi nhận được bản tin REGISTER từ P-CSCF, I-CSCF sẽ chất
vấn HSS về S-CSCF phục vụ cho P-CSCF thực hiện chất vấn (thông qua giao thức Diameter)
• P-CSCF gửi Diameter authorization request đến HSS.
Bước 3: HSS gửi trả về cho I-CSCF bản tin đáp ứng chứa thông tin về S-
CSCF
cần liên lạc trong trường AVP: Server-name.
Bước 4: I-CSCF chuyển bản tin đăng ký của thuê bao sang S-CSCF tương
Bước 5: S-CSCF chất vấn HSS về thông tin xác thực thuê bao qua giao thức
Diameter.
Bước 6: Khi hệ thống cấu hình yêu cầu thông tin xác thực, S-CSCF gửi bản
tin 401 chất vấn lại tính xác thực của thuê bao thực hiện việc đăng ký.
Bước 7: Sau khi nhận được bản tin 401, dựa vào thống nhất thuật toán mã
hóa với hệ thống, UE gửi bản tin đăng ký trong đó có chứa thông tin mã hóa ở trường “nonce” trong trường Authorization của bản tin.
Bước 8: S-CSCF nhận được bản tin REGISTER sẽ một lần nữa tiến hành
xác thực với HSS bằng giao thức Diameter. Nếu thành công, S-CSCF sẽ thực hiện việc ấn định trạng thái của thuê bao trên HSS qua giao thức Diameter và gửi bản tin 200OK thông báo cho thuê bao việc đăng ký thành công.
Bước 9: Quá trình đăng ký kết thúc khi UE nhận được bản tin 200OK.
Quá trình xóa đăng ký
Hình 3.15. Quá trình xóa đăng ký
Quá trình xóa đăng ký diễn ra tương tự với quá trình đăng ký ở trên. Tuy nhiên, ngược lại với việc ấn định thuê bao, sau khi tiến hành xác thực với HSS, S-CSCF sẽ thực hiện xóa thông tin thuê bao trên HSS và gửi bản tin 200OK về thuê bao.
3.3 Thử nghiệm một số hoạt động cơ bản
Trong phần này sẽ đưa ra một số tình huống khi thực hiện cuộc gọi từ hai thuê bao nga ở địa chỉ 192.168.1.10 đến Alice ở địa chỉ 192.168.1.20.
3.3.1 Cuộc gọi thông thường
Hình 3.16. Cuộc gọi giữa hai thuê bao
Bước 1:Nga gửi bản tin INVITE đến P-CSCF đến địa chỉ sip URI của Alice
là alice@open-ims.test.
Bước 2: Bản tin INVITE được gửi tới thuê bao Alice
Bước 3: Sau khi thiết lập cuộc gọi, tín hiệu chuông được chuyển từ Alice
đến Nga
Bước 4: Alice gửi bản tin 200OK đến P-CSCF khi đã chấp nhận cuộc gọi.
Bước 5: Bản tin được gửi từ P-CSCF về phía Nga
Bước 6: Cuộc gọi được thiết lập sau khi bản tin ACK được gửi từ Nga đến
Alice để xác nhận thiết lập phiên.
3.3.2 Máy báo bận
Hình 3.17. Thuê bao bị gọi báo bận
Khi Nga gọi đến Alice trong tình trạng máy báo bận, Alice gửi bản tin 486 đến P-CSCF thông báo về trạng thái của mình. Bản tin tiếp tục được gửi về phía Nga để kết thúc cuộc gọi.
3.3.3 Alice chưa đăng nhập
Hình 3.18. Alice chưa đăng ký
Do Alice chưa đăng nhập nên HSS không tìm thấy thông tin về thuê bao này. Lúc này P-CSCF gửi trả bản tin 404 về phía Nga.
3.3.4 Alice không nhấc máy
Hình 3.19. Alice không nhấc máy
Do không nhận được tín hiệu nhấc máy từ Alice, S-CSCF gửi bản tin 408 thông báo hết thời gian chờ cho Nga biết đồng thời gửi bản tin CANCEL để hủy cuộc gọi đến Alice. Sau đó, Alice gửi bản tin kết thúc yêu cầu đến S-CSCF, kết thúc quá trình khi đã nhận được bản tin ACK từ P-CSCF.
3.3.5 Alice hủy cuộc gọi
Hình 3.20. Alice từ chối cuộc gọi
Để từ chối cuộc gọi, Alice gửi bản tin 603 trả về S-CSCF, cuộc gọi kết thúc khi Nga nhận được bản tin.
3.3.6 Kết thúc liên lạc
Hình 3.21. Kết thúc cuộc gọi
Cuộc gọi được kết thúc khi một trong hai bên đặt máy. Trong trường hợp này, Alice là người cúp máy trước. Bản tin BYE được gửi từ Alice đến Nga,quá trình kết thúc khi Alice nhận được bản tin 200OK.
3.3.7 Nga gọi sai số
Hình 3.22. Thuê bao không tồn tại
Trong trường hợp này, Nga gọi đến một thuê bao tên Phuong, nhưng thuê bao này không tồn tại. S-CSCF gửi trả về bản tin 480 cho thuê bao Nga.
3.4 Kết luận chương 3
Chương 3 đã giải quyết được các vấn đề chính bao gồm: Giới thiệu về phần mềm bắt gói tin Wireshark
Sử dụng phần mềm Wireshark để phân tích hoạt động của các thành phần trong Open IMS Core, gồm P-CSCF, I-CSCF, S-CSCF và HSS thông qua một số thủ tục cơ bản.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Với nội dung đặt ra là tìm hiểu về cấu trúc và ứng dụng của Open IMS Core, đề tài đã đưa ra được kiến trúc tổng quát, cách thức cài đặt và những ứng dụng phổ biến của hệ thống mã nguồn mở Open IMS Core. Bên cạnh đó, đồ án cũng đã lý giải được vai trò, nhiệm vụ, chức năng của các thành phần, giao diện và một số thủ tục thực hiện trong phân hệ IMS. Hơn nữa, đồ án còn trình bày phương pháp dùng phần mềm Wireshark để bắt gói tin khi thực hiện cuộc gọi giữa những thuê bao. Đây là một trong những điểm khác biệt với đề tài khác. Với mục tiêu đặt ra, đề tài đã thực hiện được các nội dung sau:
Tìm hiểu về kiến trúc mạng IMS trên nền mạng lõi NGN để thấy được vai trò hội tụ mạng và tích hợp dịch vụ của phân hệ này. Hội tụ mạng và tích hợp dịch vụ là vấn đề then chốt khi xây dựng mạng NGN.
Trình bày các thủ tục sử dụng dịch vụ để thấy được hoạt động của phân hệ này trong NGN. Nội dung này giúp người đọc hiểu sâu hơn và kiểm chứng lại chức năng của các thực thể trong phân hệ.
Đề tài giới thiệu một số giao thức chính sử dụng trong phân hệ IMS, đặc biệt là giao thức SIP và Diametter. Đây là hai giao thức dựa trên nền text tạo nên sự khác biệt giữa IMS với các hệ thống khác.
Giới thiệu và xây dựng thành công mô hình Open IMS Core, bao gồm các thực thể: P-CSCF, I-CSCF, S-CSCF và HSS. Thông qua mô hình này, client có thể liên lạc với nhau bằng các dịch vụ như tin nhắn, gọi thoại. Mô hình cũng là cơ sở để thực hiện các ứng dụng như: video call, xem IPTV,...
Tách được thực thể HSS ra khỏi các thực thể P-CSCF, I-CSCF, S-CSCF. Sử dụng phần mềm Wireshark để thấy được cấu trúc bản tin khi thực hiện
liên lạc giữa các thuê bao qua đó kiểm chứng hoạt động của hệ thống Open IMS Core.
Do tính chất thực hiện đồ án nằm ở mức nền tảng trong nghiên cứu về Open IMS Core, nên đề tài giới hạn ở những nội dung trên. Nếu có điều kiện, em sẽ tiếp tục phát triển các vấn đề sau:
Nghiên cứu sâu các dịch vụ được phát triển trên nền IMS hiện tại và trong tương lai như internet di động tốc độ cao, video conference,...
Tách các khối chức năng P-CSCF, I-CSCF, S-CSCF và HSS để hiểu rõ hơn về hoạt động của hệ thống IMS.
IMS trên nền mạng NGN là một công nghệ mạng tiên tiến, có thể định hướng phát triển theo hướng hội tụ mạng di động và cố định trong tương lai. Việc xây
dựng phân hệ này giúp cho nhà khai khác sẽ đủ năng lực cung cấp các loại hình dịch vụ đa phương tiện cho người dùng đầu cuối. Với những đặc tính như thế, hi vọng rằng những kết quả nghiên cứu về Open IMS Core đã đạt được trong đồ án sẽ phần nào giúp cho các bạn sinh viên khóa sau dễ dàng tiếp cần công nghệ IMS.
TÀI LIỆU THAM KHẢO
[1] Miikka Poikselka, George Mayer, Hisham Khartabil and Aki Niemi, “The IMS – IP Multimedia Concepts and Services,” John Wiley & Sons 2nd.
[2] Gilles Bertrarfd, “The IP Multimedia subsystem in Next Generation Networks,” newspapers, 2007.
[3] Miikka Poikselka, George Mayer, Hisham Khartabil and Aki Niemi, “The IMS – IP Multimedia Concepts and Services in the Mobile Domain,” John Wiley & Sons.
[4]Web: Open Source IMS: http://www.openimsscore.org/ [5]Web: UCT IMS Client:
http://uctimsclient.berlios.de/openimscore_on_ubuntu_howto.html
[6]Web: diễn đàn VNTelecom, chủ đề “IMS – IP Multimedia Subsystem” http://vntelecom.org/diendan/showthread.php?t=438
[7]Web: diễn đàn VNTelecom, chủ đề “Open IMS Core”: http://vntelecom.org/diendan/showthread.php?t=731
[8]Web: diễn đàn Ubuntu Việt Nam: http://forum.ubuntu-vn.org/ [9]Web: http://www.tapchibcvt.gov/