Professional Documents
Culture Documents
10
1. Phn mm Open IMS Ngy nay IMS (IP Multimedia Subsystem) cng trong giai on th nghim vi nhiu doanh nghip trn khp th gii, cc n lc pht trin v nghin cu, c bit i vi mng NGN ging nh vic tng thm nhiu hn s h tr trong 1 s lng ln khch hng, c bit cho vic pht trin cc dch v. Trong khi c nhiu d n m ngun m c thit lp trong mng VoIP cho cc SIP clients, SIP client, proxy, stack v cc cng c xung quanh chun SIP ca IETF th hin nay thc t vn cha c 1 d n m ngun m no tp trung c th vo IMS. D n m ngun m OPEN SOURCE IMS Core nhm mc ch p ng s thiu ht ca cc phn mm m ngun m cho IMS vi nhng gii php linh ng v c th m rng c. Tnh thch nghi v kh nng ca cc gii php ny c chng minh trong cc d n nghin cu v pht trin quc gia v quc t. Mc ch ca n trong thi gian tip theo l to ra mt cng ng cc nh pht trin cho phn core ca mng NGN. Phn mm m ngun m ny l cho php s pht trin ca cc dch v IMS v th nghim cc khi nim xung quanh phn core IMS. 1.1. Gii thiu chung L mt d n trin khai IMS trn m ngun m ca FOKUS (Fraunhofer Institute for Open Communication Systems). Open Source IMS Core (Hnh 1): y l phn li ca OpenIMS, n gm c 2 thnh phn chnh : - HSS (Home Subcriber Server): Trong OpenIMS gi l FHoSS - Call Session Control Functions ( CSCFs ): L khi trung tm ca m ngun m Open Source IMS Core, khi ny iu khin bt k bo hiu IMS no. OpenIMSCore c a ra ti website http://openimscore.org/.
Hnh 1: m t cc thnh phn chnh ca OpenIMS u cui IMS (IMS Client) Trong tt c cc thnh phn ca OpenIMS, IMS client l thnh phn quyt nh nh gi s thnh cng ca IMS. N hot ng nh mt mi trng a ng dng chng minh kh nng pht trin dch v trn mng IMS. C nhiu phn mm IMS Client, b khung OpenIMS Client ca FOKUS cung cp giao din lp trnh c cho cc nh pht trin dch v ca IMS. c im ca OpenIMS Client: - Xy dng cc IMS API chun - C kh nng thay i mt cch mm do theo yu cu - Tng thch a nn (Windows XP, Windows CE, Linux) - c trin khai trn Java hoc .NET - D dng kt ni vi cc thit b khc - Tun theo cc chun IEFT, 3GPP, TISPAN Open IMS SIP AS ( SIPSEE Sip Servlet Execution Environment ) y l SIP Application Server cung cp s hi t ca 2 mi trng dch v l SIP v HTTP cho vic xy dng cc dch v. Parlay X Gateway (OCS-X)
2
Cho php cc nh pht trin dch v to cc ng dng qua web. IMS Management Kin trc IMS Management qun l v iu khin mi thnh phn cn cho mng li IMS. XML Document Management Server ( XDMS ) My ch cung cp hng dn ngi dung v thng tin dch v v cch truy cp Media Server:H tr cc dch v nh : - Voicemail, lu li bn tin ri gi vo mail - Hi tho ( Conferencing ) - Nhc ch 1.2. Fokus Home Subcriber Server ( FHoSS ) Trong phn mm OpenIMS do FOKUS pht trin, khi HSS c cn c gi l FHoSS. ( Fokus Home Subcriber Server ).
Hnh 2: Khi HSS FHoSS c xy dng nh mt d n Java, da trn mt s phn mm m ngun m khc nh MySQL, Tomcat. D liu ngi s dng c lu gi trong c s d liu MySQL. Giao din web qun l chy trn Tomcat. FHoSS c xy dng 3 giao din da trn giao thc Diameter (RFC 3588). Giao din Sh cho Application Server truy cp vo HSS. Giao din Cx dung trong cc qu trnh ng k ( c th l giao din kt ni vi I-CSCF v S-CSCF). Giao din Zh thit lp cc knh HTTPS ti cc ng dng.
Phn li ca FHoSS l mt HssDiameterStack. N s dng DiameterPeer gi yu cu ti cc khi khc v nhn cc yu cu cng nh hi p theo kiu CommandListener. Nhng d liu ca HSS c lu trong mt c s d liu. C cu (Framework) Hibernate persistence c s dng xy dng tng truy cp d liu. (Hibernate l mt cng ngh rt ph bin xy dng tng truy cp c s d liu trong cc d n Java). FHoSS c qun l bng giao din web. N c trin khai da trn cng ngh servlet trong kt hp vi Apache Struts Web framework. 2. Ci t Open IMS 2.1. Ci t Ubuntu Ubuntu mc nh to 2 ti khon: sudoer (l ti khon ng k ban u) v Root thc hin cc thao tc xa, thm, bt d dng hn, ng nhp vo account root trnh phi s dng unix cho mi thao tc vi cc file thuc FileSystem. ng nhp vo sudoer: m terminal #sudo s #passwd root #nhp passwd
2.2. Ci t h thng Open IMS trn server ci h iu hnh Ubuntu 10.10
Ci gi Subversion # apt-get install subversion - To cc th mc ci t Open IMS # mkdir /opt/OpenIMSCore/ # cd /opt/OpenIMSCore # mkdir ser_ims # mkdir FHoSS Download source code mi nht ca Open IMS # 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 - Ci t mt s gi cn thit chy h thng Open IMS
4
# apt-get install mysql-server libmysqlclient15-dev libxml2 libxml2-dev bind9 ant flex bison Cch ci gi sun-java6-jdk: sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-jdk sun-java6-plugin Trn h thng ci sn DNS server, tm file /etc/dhcp3/dhclient.conf v ti dng # prepend domain_name_servers 127.0.0.1; xa b du #. - Trn ubuntu 10.10 11, 12 vo dhcp ch ko phi dhcp3 - Xem file /etc/resolv.conf nu cha c dng nameserver: 127.0.0.1 (hoc a ch ca ims core) th thm vo - Copy file cu hnh cho zone ims.hut.vn vo th mc /etc/bind # cp /opt/OpenIMSCore/ser_ims/cfg/open-ims.dnszone /etc/bind/ - Tm file /etc/bind/named.conf.local v thm vo cui cng ca file nhng dng sau: zone "ims.cdit.com.vn" { type master; file "/etc/bind/open-ims.dnszone"; };
-
Cc bc bin dch ci CSCF Chuyn ti th mc /etc/bind, chnh sa file open-ims.dnszone bng cch thay cc a ch IP cho ng vi h thng tht: Ch thay c tn min ca h thng line 1 (ton b a ch IP t cho CSCF l a ch ca my ci CSCF tr dng cu hnh a ch IP ca hss. Dng hss s cu hnh a ch theo a ch IP ca my ci FHoSS). #gedit /etc/bind/open-ims.dnszone
a ch IP ca my ci FHoSS
Hnh 3: t a ch cho CSCF v HSS Permis: # chmod u+x /opt/OpenIMSCore // Giao quyn thc hin tp OpenIMSCore cho ngi dung - Restart DNS server
6
# /etc/init.d/bind9 restart - Ci t hai gi sau trnh gp li khi bin dch trong ser_ims v FHoSS # apt-get install libcurl4-gnutls-dev # apt-get install ipsec-tools - Bt u thc hin bin dch v ci t Open IMS t m ngun # cd /opt/OpenIMSCore/ser_ims # make install-libs all # java -version # ls /usr/lib/jvm (hin th cc gi trong th mc jvm lu java version) # export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.26/" (ly theo thng tin lnh trn chn gi 1.6.0.26) // y l trn Ubuntu 10.10 cn nu anh ci trn Ubuntu 12.04 hoc 12.10 th theo bn java mi cp nht nht s l 1.6.0.30 # cd /opt/OpenIMSCore/FHoSS # ant compile deploy # cp /opt/OpenIMSCore/ser_ims/cfg/* /opt/OpenIMSCore/ # cd /opt/OpenIMSCore - Bin dch cu hnh cho CSCF: # ./configurator.sh pcscf.cfg icscf.cfg icscf.xml scscf.cfg scscf.xml ser_ims/cfg/icscf.sql Domain name: ims.cdit.com.vn Ip address: 10.171.18.21 - Khi chy s bt nhp tn min v a ch ca server. Do nu chuyn mng hoc a ch IP phi config li a ch server bng cch bin dch li. # mysql -uroot -p < ser_ims/cfg/icscf.sql Qu trnh ci t CSCF n bc trn l hon tt, sau khi ci t, khi ng cc server trong Open IMS: (Lu l khi ng mi server ti mt ca s terminal khc nhau v phi theo th t ln lt P-I-S). # ./pcscf.sh
7
# ./icscf.sh # ./scscf.sh Cc bc bin dch ci FHoSS Lm tng t nh CSCF cho n bc thc hin lnh ./configuration.sh (Lu : Ti my ci FHoSS t a ch IP trong file open-ims.dnszone ging ht vi CSCF). - Bin dch cu hnh cho FHoSS:
# ./configurator.sh FHoSS/deploy/DiameterPeerHSS.xml FHoSS/deploy/hss.properties FHoSS/scripts/hss_db.sql FHoSS/scripts/userdata.sql
Domain name: ims.cdit.com.vn Ip address: 10.171.18.23 # mysql -uroot -p < FHoSS/scripts/hss_db.sql # mysql -uroot -p < FHoSS/scripts/userdata.sql Qu trnh ci t FHoSS n bc trn l hon tt, sau khi ci t, khi ng server trong Open IMS: (Lu l khi ng phi khi ng cc server CSCF trc khi khi ng server FHoSS). # cd /opt/OpenIMSCore/FHoSS/deploy/ # export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.26/" # ./startup.sh 2.3. S dng giao din Web FHoSS P-CSCF s s dng cng 4060, I-CSCF s s dng cng 5060 v S-CSCF s s dng cng 6060. Diameter s s dng cc cng 3868, 3869 v 3870. Truy nhp vo Web FHoSS theo a ch: http://localhost:8080 (http://10.171.18.23). Username: hssAdmin Password: hss Cc bc thay i Username v Passwword trong giao din FHoSS - Thc hin ti server ci FHoSS (Ch : trc khi thc hin thay i tt ton b cc phn lin quan n FHoSS ang chy trn h thng). # gedit /opt/OpenIMSCore/FHoSS/tomcat/conf/ tomcat-users.xml // Hoc vo File system v theo ng dn trn m file tomcat-users.xml ca s terminal.
8
Hnh 4: File tomcat-users - Ti dng: <user name="hss" password="hss" roles="hss_user"/> <user name="hssAdmin" password="hss" roles="hss_user,admin"/> - Thay i username v password ty . Sau khi thay i thc hin bin dch li FHoSS nh sau: # cd /opt/OpenIMSCore/FHoSS # ant compile deploy
# ./configurator.sh FHoSS/deploy/DiameterPeerHSS.xml FHoSS/deploy/hss.properties FHoSS/scripts/hss_db.sql FHoSS/scripts/userdata.sql
Domain name: ims.cdit.com.vn Ip address: 10.171.18.23 # mysql -uroot -p < FHoSS/scripts/hss_db.sql # mysql -uroot -p < FHoSS/scripts/userdata.sql n y qu trnh bin dch li hon tt. Username v password mi ng nhp vo giao din Web ca FHoSS c cp nht.
- Ci t wireshark ln Ubuntu # apt-get install wireshark # wireshark // Lnh chy wireshark trn Ubuntu - Mt s client trn win: myMONSTER, Mercuro 3. TIP THEO: Tch Server CSCF hnh 3 Server ring bit: P-CSCF, I-CSCF, S-CSCF 4. Ci t AS trn giao din Web FHoSS ng nhp vo giao din Web FHoSS. Service - Thit lp IFC mi: Creat - Thit lp Trigger point: Creat ( Trong phn ny c th set cc trigger point theo dch v cn trin khai. E.g Khi c bn tin REGISTER vi trng From cha a ch a@b.c.d th kch hot trigger point ta s set: Method: REGISTER Sip header: From Header content: .*a@b.c.d*. Mt trigger c th gm nhiu IFC - Thit lp AS: a ch, dch v tng ng. - Thit lp Dch v: Ci t dch v tng ng vi IFC Trong phn user setup dch v cho user Phai up AS len thi moi co the bat duoc ban tin Triger c 2 mode: Conjunctive v disjunctive Conj: (a or b) and (c or d) Disj: (a and b) or (c and d) Xy dng cc AS 5. Ci t Charging Server:??? Ch : - Cc file cu hnh cng P-CSCF: (chnh sa cng trc khi install source code) + /opt/OpenIMSCore/ser_ims/cfg/open-ims.dnszone
10
+ /opt/OpenIMSCore/ser_ims/cfg/pcscf.cfg + /opt/OpenIMSCore/ser_ims/modules/pcscf/mod
11