Trong chƣơng này, tôi thực hiện một mô hình mạng IMS hoàn chỉnh từ lớp ứng dụng đến lớp truy cập. Toàn bộ phần mô phỏng sử dụng theo IP và tên gọi theo mô hình nhƣ sau:
IMS Core
DNS Server 192.168.163.11/24
IMS Client VMnet0
192.168.163.12/24
Hình 4.1: Mô hình mô phỏng mạng IMS
Với mô hình này, ngƣời dùng có thể thực hiện thoại, thoại hình ảnh, chat, truyền dữ liệu khi kết nối với mạng lõi IMS.
- Lớp điều khiển đƣợc mô phỏng trên một máy tính khác sử dụng hệ điều hành Ubuntu 8.10.
- Lớp truyền tải sử Switch ảo của phần mền VMWare.
Trang 83
4.1.1 Lớp điều khiển.
Hình 4.2: Mô hình OpenIMSCore của FOCUS [4]
Các bƣớc cài đặt OpenIMSCore trên hệ điều hành mã nguồn mở Ubuntu 9.04 [4]+[5]:
Bƣớc 1:
Đặt địa chỉ tĩnh cho mày nhƣ sau:
IP: 19.168.1.2
SubnetMask: 255.255.255.0
Default Gateway: 192.168.1.1
Bƣớc 2:
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)
Trang 84 Bƣớc 3: mkdir /opt/OpenIMSCore cd /opt/OpenIMSCore mkdir ser_ims mkdir FHoSS svn checkout http://svn.berlios.de/svnroot/repos/openimscore/ser_ims/trunk ser_ims svn checkout http://svn.berlios.de/svnroot/repos/openimscore/FHoSS/trunk FHoSS
(cài thêm gói subversion trƣớc khi chạy lệnh trên)
Bƣớc 4:
apt-get install sun-java6-jdk mysql-server libmysqlclient15- dev libxml2 libxml2-dev bind9 ant flex bison
mysql root password hung (bạn có thể đặt pass ở đây tùy ý)
Nếu bạn chạy DNS trên máy của bạn thì bạn phải edit file: /etc/dhcp3/dhclient.conf và bỏ comment tại dòng : prepend domain_name_servers 127.0.0.1;
cp /opt/OpenIMSCore/ser_ims/cfg/open-ims.dnszone /etc/bind/
Add các dòng sau vào file: /etc/bind/named.conf.local
zone “ims.hut.vn"{
type master;
File “/etc/bind/open-ims.dnszone";
Trang 85
Cấu hình file open-ims.dnszone thay thế địa chỉ IP
Thay tất cả các địa chỉ IP: 127.0.0.1 thành địa chỉ 192.168.1.2, thay thế tên miền open-ims.test thành ims.hut.vn (chú ý dấu "." ở cuối)
và sau đó restart lại dịch vụ bằng lệnh:
/etc/init.d/bind9 restart
Bƣớc 5:
Cd /opt/OpenIMSCore/ser_ims
make install-libs all
java –version
export JAVA_HOME=”/usr/lib/jvm/java-6-sun-1.6.0.03/”
cd /opt/OpenIMSCore/FHoSS
ant compile deploy
Bƣớc 6:
Cp /opt/OpenIMSCore/ser_ims/cfg/* /opt/OpenIMSCore/
Cd /opt/OpenIMSCore
Thay tên miền của IMSCore (thành ims.hut.vn)
./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
mysql -uroot -p < ser_ims/cfg/icscf.sql
mysql -uroot -p < FHoSS/scripts/hss_db.sql
mysql -uroot -p < FHoSS/scripts/userdata.sql
Cấu hình file: /etc/resolv.conf
Trang 86
Bƣớc 7:
Chạy các CSCF trên từng terminal bằng cách nhấn tổ hợp: CTRL+SHIFT+T:
./pcscf.sh
./icscf.sh
./scscf.sh
Chạy FhoSS trên một tab khác bằng lệnh
cd FhoSS/deploy
./startup.sh
Nếu có vần đề khi chạy FhoSS thì các bạn có thể thiết lập lại biến môi trƣờng JAVA_HOME bằng cách gõ lại lệnh:
export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.03/"
Bƣớc 8:
Sau khi chạy thành công các CSCF và FhoSS. Ta có các thông số về cổng của chúng
P-CSCF 4060
I-CSCF 5060
S-CSCF 6060
Diameter 3868,3869,3870
Bạn có thể truy cập vào trang web quản lý của FhoSS bằng cách vào trang web và gõ đƣờng dẫn sau: http://192.168.1.2:8080
Trang 87
Password: hss
Bƣớc 9: Sau khi đã dựng đƣợc tổng đài IMSCore ta có thể bắt đầu thực hiện cuộc gọi giữa 2 IMSClient nhƣ sau:
Trên máy client (ví dụ nhƣ máy winXP) ta đặt địa chỉ IP tĩnh nhƣ sau:
IP: 192.168.1.10
SubnetMask: 255.255.255.0
DefaultGateway: 192.168.1.1
Với phần mềm: OpenICLite ta cần cấu hình các phần sau:
Public Identity: sip:bob@ims.hut.vn
Private Identity bob@ims.hut.vn
Secret key: bob
Display name: Bob
Realm: ims.hut.vn
Proxy Server: 192.168.1.2
Port: 4060
Còn với phần mềm: Mercuro IMS ta cần cấu hình nhƣ sau:
Public Identity: sip:bob@ims.hut.vn
Private Identity bob@ims.hut.vn
Secret key: bob
Display name: Bob
Realm: ims.hut.vn
Server: 192.168.1.2
Port: 4060
Đến đây có thể thực hiệu gọi 2 máy cho nhau, chat video, truyền dữ liệu, voicemail,....
Trang 88
4.1.2 Lớp truyền tải.
Hình 4.3: Switch ảo của phần mềm VMWare
Trong VMWare, VMnet0 là một Switch ào đƣợc kết nối với Bridge ảo để liên lạc ra ngoài mạng thật. Các máy tính ảo nếu đƣợc cấu hình card mạng kết nối vào VMnet0 thì có thể tham gia vào việc liên lạc, chia sẻ dữ liệu với các máy thật ở mạng ngoài. Nếu mạng ngoài chúng ta có kết nối với Router ADSL, có cấu hình cấp IP động trên Router thì các máy ảo sẽ nhận đƣợc IP từ Router nhƣ một máy tính thật. Mặc định, VMWare sẽ tự chọn card mạng trên máy thật mà có kết nối ra mạng ngoài. Nếu máy có nhiều hơn 2 card mạng thật thì chúng ta có thể lựa chọn lại cho phù hợp bằng cách điều chỉnh trong Virtual Network Editor > tab Host Virtual Network Mapping> VMnet0 [11].