TRNG I HC BCH KHOA H NIVIN CNG NGH THNG TIN V TRUYN THNG*******
********
BO CO
Thc hnhTruyn thng a phng tin
Nhm 7 Th 5 Sinh vin thc hin:Nguyn c Chin 20111249 Gio vin hng
dn:PGS.TS. Nguyn Th Hong Lan
H Ni 2014
MC LC
PHN I:TM HIU CHUNG V ASTERISK31. Gii thiu v Asterisk32. Kin trc
chung ca Asterisk3PHN II: CC KCH BN TH NGHIM TRN ASTERISK51. Bi th
nghim 151.1. Mc ch.51.2. Ni dung th nghim.51.3. Tin hnh.51.4. Kt qu
th nghim.72. Bi th nghim 2122.1. Mc ch.132.2. Ni dung th
nghim.132.3. Tin hnh v kt qu.133. Bi th nghim 3163.1. Yu cu:163.2.
Thc hin:163.3. Kt qu:20KT LUN21
PHN I:TM HIU CHUNG V ASTERISK1. Gii thiu v Asterisk Asterisk l h
thng chuyn mch mm, l phn mm ngun m c vit bng ngn ng C chy trn h iu
hnh linux thc hin tt c cc tnh nng ca tng i PBX (Private Branch
Exchange). Asterisk ra i vo nm 1999 bi mt sinh vin sinh nm 1977 tn
l Mark Spencer. Asterisk l mt b cng c m ngun m cho cc ng dng thoi v
l mt server x l cuc gi vi y chc nng. Nhiu h thng Asterisk c ci t
thnh cng trn khp th gii. Cng ngh Asterisk ang phc v cho nhiu doanh
nghip. y l xu th tt yu ca ngi s dng in thoi, v cc cng ty u c mng my
tnh v cn lin lc vi nhau trong cng vic gia cc phng ban hoc chi nhnh
v cn mt chi ph thp thm ch khng phi tn chi ph khi thc hin cc cuc gi
trn mng ni b ca cng ty. Ngoi ra chng cn cung cp cc ng dng giao tip
vi mng PSTN (Public Switched Telephone Network: Mng chuyn mch in
thoi cng cng) cho php gi ra bt c s in thoi no trn mng PSTN.2. Kin
trc chung ca Asterisk
Asterisk c 4 khi chc nng chnh: Codec translator API:Cc hm m nhim
thc thi v gii nn cc chun khc nhau nh G711, GSM, G729 Asterisk
Channel API :Giao tip vi cc knh lin lc khc nhau, y l u mi cho vic
kt ni cc cuc gi tng thch vi nhiu chun giao thc giao tip khc nhau
nhSIP, IAX, H323. Zaptel Asterisk file format API : Asterisk tng
thch vi vic xl cc loi file c nh dng khc nhau nhMP3, wav, gsm
Asterisk Aplication API :Bao gm tt ccc ng dng c thc thi trong hthng
Asterisk nhvoicemail, callerID
PHN II: CC KCH BN TH NGHIM TRN ASTERISK1. Bi th nghim 1iu kin th
nghim: Asterisk c ci t sn trn my ch. Mi my client ci t Telnet
Client, softphone : EkigaCc my client : Nguyn c Chin: 102 : 101 :
102 : 103 : 104a ch my ch:192.168.4.11Nhm trng:1.1. Mc ch.- Tm hiu
mi trng lm vic ca phn mm Asterisk.- Ci t v th nghim truyn m thanh
theo m hnh PC to PC trn mng Lan ti phng th nghim.1.2. Ni dung th
nghim.Server s dng: 192.168.4.11Tin hnh cu hnh 2 tp th mc:
sip.config v extension.confThm thng tin thu bao ti tp sip.confThm
thng tin dialplan ti tp extension.confCu hnh tng t ti softphone cc
my client truy cp.1.3. Tin hnh. T client, dng telnet truy cp vo my
ch g lnh: telnet 192.168.4.11. Trong 192.168.4.11 l a ch ca my ch.
Nhp tn ti khon : lab801 v password : 123 Truy cp vo cc th mc
/ect/asterisk/sip.conf v /ect/asterisk/extensions.conf tin hnh cu
hnh li Ti tp /ect/asterisk/sip.conf tin hnh thm cc thng tin thu
bao:4
[101]type=friendhost=dynamicsecrect=123[102]type=friendhost=dynamicsecrect=123[103]type=friendhost=dynamicsecrect=123[104]type=friendhost=dynamicsecrect=123[105]type=friendhost=dynamicsecrect=123Trong
: [101, 102,...105] : nh ngha tn ca user. Type=friend : Trng type
xc nh mi kt ni l 1 user, peer hay l friend, loi user c dng cho cc
cuc gi n, peer c dng cho cc cuc gi i, v loi friend c dng cho c 2.
Host=dynamic : Trng host yu cu client ng k cho Asterisk bit IP ca
mnh. y Host=dynamic cho php cc client c IP ng bt k. Secrect=123 :
Password ca user l 123. Ti tp extension.conf : thm thng tin
dialplan[default]exten=>101,1,Dial(SIP/101)exten=>102,1,Dial(SIP/102)exten=>103,1,Dial(SIP/103)exten=>104,1,Dial(SIP/104)exten=>105,1,Dial(SIP/105)Trong
: [default] : Tn ca lut quay s. exten=>101,1,Dial(SIP/101): Khi
c my gi n my 101 th mc u tin th nht s gi n my 101, s dng giao thc
SIP, 101 chung v ch c nhc my. Retart li h thng bng lnh:
#/etc/init.d/asterick/retart Tin hnh cu hnh trn Softphone ti mi
PC.1.4. Kt qu th nghim. S dng phn mm Putty SSH vo my ch Asterisk
:
Nhp username: lab801, password: 123 Sau khi ng nhp thnh cng,
chnh sa file sip.conf bng lnh:sudo pico /etc/asterisk/sip.conf Thm
thng tin thu bao vo tp tin sip.conf :
[101]type=friendhost=dynamicsecrect=123[102]type=friendhost=dynamicsecrect=123[103]type=friendhost=dynamicsecrect=123[104]type=friendhost=dynamicsecrect=123[105]type=friendhost=dynamicsecrect=123
Ci t v cu hnh trn Softphone ti PC: S dng Ekiga Softphone ( ci sn
ti cc my trong phng thc hnh).
Khi ng Ekiga, sau to mt Account. Lu : phn Registrar phi in ng a
ch IP ca my ch Asterisk ( y l 192.168.4.11), User v Authentication
User phi ng thu bao, phi t Password khp vi password ca thue bao.
Name c th t ty .
Sau khi to xong Account th ng nhp, lc ny c th tin hnh cuc gi.
Thc hin cuc gi n thu bao xxx bng cch s dng lnh:
sip:[email protected]
Vi xxx l s ca thu bao cn A.B.C.D l a ch IP ca my ch Asterisk, vi
iu kin thu bao xxx c ng k thnh cng.
Kt qu: cuc gi thnh cng, thu bao 101 v 102 kt ni v c th hi thoi
vi nhau. Tng t i vi thu bao 101 v 104.
2. Bi th nghim 2iu kin th nghim: Asterisk c ci t sn trn my ch.
Mi my client ci t Telnet Client, softphone : EkigaCc my client :
Nguyn c Chin : 102 :101 :102 :103 :104 :105a ch my
ch:192.168.4.11Nhm trng: 2.1. Mc ch.- Hiu khi nim v hot ng ca tng i
ni b- Ci t mt tng i ni b trn Asterick v th nghim mi trng phng th
nghim mt s tc nghim tng i in thoi.2.2. Ni dung th nghim. S dng cc
thu bao th nghim 1 thc hin cc chc nng theo cc kch bn bi 2. Nm kch
bn:1. Kch bn my bn2. Kch bn ngi dng vng mt3. Kch bn chuyn cuc gi4.
Kch bn r nhnh cuc gi5. Tm hiu chc nng qun l h thng2.3. Tin hnh v kt
qu. Tin hnh khai bo cc thu bao li nh th nghim 1. bi ny s dng my ch
c a ch: 192.168.1.11 d dng thao tc, s dng phn mm: SSH vo file:
/ect/asterisk/sip.conf v /ect/asterisk/extensions.conf, dng notepad
chnh sa.a. Kch bn 1: My bnTin hnh nh th nghim 1. Kt qu: Khi c c hai
my 103 v 104 cng gi n 101 th my 101 vn nhn c v c 2 lines.Khi my 105
gi n my 101 th b bo my bn.b. Kch bn 2: Ngi dng vng mt nh ngha trn
file extensions.conf trng hp ngi dng vng mt. Kch bn l cc my khi gi
vo mt my no khng nhc my trong 20s s t ng kt thc cuc gi. Chnh sa ni
dung file extensions.conf:[default]
exten=>101,1,Dial(SIP/101,20) exten=>101,2,hangup()Trong :
[default] :l trng context. exten=>101,1,Dial(SIP/101,20) : c {
ngha khi c cuc gi n user 101, mc u tin th nht s l quay s (Dial) n
user 101, s dng giao thc SIP, 101 chung v ch c nhc my trong vng
20s. exten=>101,2,hangup() : c ngha khi c cuc gi n user 101, sau
20s khng nhc my s l kt thc cuc gi (hang up). Kt qu: Thu bao 103 gi
n thu bao 101, ch 20s thu bao 101 khng nhc my th s t ng kt thc cuc
gi.
c. Kch bn 3: Kch bn chuyn cuc gi Yu cu: nh ngha trn file
extensions.conf trng hp chuyn cuc gi. Kch bn l cc my khi gi vo my A
khng nhc my trong 20s s c t ng chuyn sang gi vo my B. Thc hin:Tng t
cc bc trn, m file extensions.conf (cc user c khai bo trong sip.conf
t phn 2.1)Chnh sa ni dung file extensions.conf:[default]
exten=>101,1,Dial(SIP/101,20) exten=>101,2,Dial(SIP/102)Trong
: [default]: l trng context. exten=>101,1,Dial(SIP/101,20): c {
ngha khi c cuc gi n user 101, mc u tin th nht s l quay s (Dial) n
user 101, s dng giao thc SIP, 101 chung v ch c nhc my trong vng
20s. exten=>101,2,Dial(SIP/102): c { ngha khi c cuc gi n user
101, mc u tin th 2 s l quay s (Dial) n user 102, s dng giao thc
SIP. Khi c cuc gi n 101 th tng i s x l mc u tin 1 trc l quay s v ch
101 tr li trong 20s. Nu sau 20s, 101 khng nhc my th s chuyn sang
quay s n thu bao 102.
Kt qu: Thu bao 103 gi n thu bao 101, ch 20s thu bao 101 khng nhc
my th s t ng chuyn cuc gi n thu bao 102. Mt khc, khi thu bao 103 gi
n thu bao 101, trong qu trnh 20s, thu bao 101 dng cuc gi th h thng
cng s t ng chuyn cuc gi n thu bao 102.d. Kch bn 4: R nhnh cuc giYu
cu: nh ngha trn file extensions.conf trng hp r nhnh cuc gi. Kch bn
xy ra l: cc thu bao khi gi n thu bao A s c nghe thng ip hello, khi
cc thu bao c th nhn phm 1 thc hin r nhnh cuc gi ti thu bao B, nhn
phm 2 r nhnh cuc gi n thu bao C.Thc hin: Chnh sa ni dung file
extensions.conf:[default] exten=>101,1,goto(PBX,101,1) [PBX]
exten=>101,1,background(helloWorld) exten=>1,1,Dial(SIP/103)
exten=>2,1,Dial(SIP,104)Trong : [default] v [PBX] l tn context.
exten=>101,1,goto(PBX,101,1) : khi c cuc gi n user 101, vi mc u
tin l 1 s thc hin ng dng goto. ng dng goto s chuyn estension 101 n
context PBX, mc u tin l 1. exten=>101,1,background(hello) : ng
dng background c gi pht on m thanh hello. N c dng ch mt phm nhp vo
t user. Ngi dng c th nhp phm m khng cn nghe ht on m thanh.
exten=>1,1,Dial(SIP/103) : nu ngi dng nhp vo phm 1 (ng vi
extension1), tng i s thc hin ng dng Dial n user 103, theo giao thc
SIP. Thu bao 103 s chung ch c nhc my. exten=>2,1,Dial(SIP/104) :
nu ngi dng nhp vo phm 2 (ng vi extension2), tng i s thc hin ng dng
Dial n user 104, theo giao thc SIP. Thu bao 104 s chung ch c nhc
my.
Kt qu:
Do s sut nn nhm em mt nh chp mn hnh, qu trnh thc hin ng nh kch
bn, tuy nhin ko s dng c file m thanh khi ch cuc gi, thnh thong khng
gi c do nghn ng truyn
3. Bi th nghim 33.1. Yu cu: Ci t v cu hnh xy dng mt cuc hp trc
tuyn qua mng IP. C mt ch ta, cc thnh vin chnh thc v khng chnh thc.
Kch bn cuc hi ngh thoi: 1my ng vai tr ch ton pht biu trc. Sau ch ta
ln lt cho cc thnh vin chnh thc c pht biu, ti mi thi im ch c 1 ngi c
pht biu. Cc thnh vin khng chnh thc ch c nghe.3.2. Thc hin: Cu hnh
context trong file
sip.conf[101]type=friendhost=dynamicsecret=123context=admin To 1
phng hp trong file Meetme.conf:[roomsconf => 1000Trong rooms l
tn context, Conf=>1000 dng to phng s hiu l 1000, khng c mt khu
ng nhp v mt khu qun tr. Chnh sa file extensions.conf:[default]
exten => 101,1,Dial(SIP/101) exten => 102,1,Dial(SIP/102)
exten => 103,1,Dial(SIP/103) exten => 104,1,Dial(SIP/103)
exten => 105,1,Dial(SIP/103)
;thanh vien chinh thucexten=> 201,1,Answer() exten=>
201,n,MeetMe(1000,pi) ;thanh vien quan sat exten=>
202,1,Answer() exten=> 202,n,MeetMe(1000,lpi)Trong : [default],
exten => 102,1,Dial(SIP/102) : nh trnh by trn. exten=>
201,1,Answer() : thnh vin chnh thc mun tham gia vo phng hp s gi n s
201. Khi c cuc gi n 201, mc u tin th nht l gi ng dng Answer tr li
cuc gi ny. Tc v tip theo cn cuc gi c tr li trc khi thc thi.
exten=> 201,n,MeetMe(1000,pi) : khi cuc gi n 201 c tr li, ng dng
MeetMe c thc hin cho php user tham gia vo phng hp s 1000, cc option
l p: c thot khi phng khi bm # v i: c thng bo khi c thnh vin vo/ra
phng hp. exten=> 202,1,Answer(): thnh vin khng chnh thc s gi n
202 tham gia phng hp. exten=> 202,n,MeetMe(1000,lpi): thnh vin c
a vo phng hp s 1000, cc option l l:ch nghe khng ni, p,I nh trn. Vn
trong file extensions.conf, cu hnh cho vai ch ta[admin] include
=> default exten=> 200,1,Answer()
exten=>200,n,Set(MEETME_RECORDINGFILE=/tmp/Conference-${CONFNO}-${UNIQUEID)
exten=> 200,n,MeetMe(1000,asprc)Trong : [admin] tn context
include => default : tt c cc khai bo trong context c tn l
default u c bao gm trong context admin ny. exten=>
200,1,Answer() :admin s gi n 200 tham gia cuc hp. u tin ng dng
Answer c gi v cc tc v sau cn cuc gi c tr li trc.
exten=>200,n,Set(MEETME_RECORDINGFILE=/tmp/Conference-${CONFNO}-${UNIQUEID):
ng dng Set c gi ci t 1 s thng s trong c ng dn ca file ghi m c khai
bo trong bin MEETME_RECORDINGFILE. exten=>
200,n,MeetMe(1000,asprc) : thu bao gi n 200, ng dng MeetMe s a vo
phng hp s hiu 1000, cc option dnh cho admin l: a:ch ch ta, s:ch xem
menu ca ch ton khi bm*, p:thot khi phng khi bm#, r:ghi m v c: c
thng bo s lng thnh vin trong cuc hp.Cc chc nng ca ch ta: (nh ngha
trong file extensions.conf) Kch tt c hoc thu bao ra khi phng
hp:exten=>900,1,Answer() exten=>900,n,MeetMeAdmin(1000,K)
exten=>901,1,Answer() exten=>901,n,MeetMeAdmin(1000,k,1)
exten=>902,1,Answer() exten=>902,n,MeetMeAdmin(1000,k,2)
exten=>903,1,Answer()exten=>903,n,MeetMeAdmin(1000,k,3) Kha,
m phng hpexten=>906,1,Answer()
exten=>906,n,MeetMeAdmin(1000,L) exten=>907,1,Answer()
exten=>907,n,MeetMeAdmin(1000,l) Tt ting cc thnh
vinexten=>908,1,Answer() exten=>908,n,MeetMeAdmin(1000,M,1)
exten=>909,1,Answer() exten=>909,n,MeetMeAdmin(1000,M,2)
exten=>910,1,Answer() exten=>910,n,MeetMeAdmin(1000,M,3) Tt/B
tt ting c phngexten=>913,1,Answer()
exten=>913,n,MeetMeAdmin(1000,N) exten=>914,1,Answer()
exten=>914,n,MeetMeAdmin(1000,n) Tng gim volume ni c
phngexten=>915,1,Answer() exten=>915,n,MeetMeAdmin(1000,s)
exten=>916,1,Answer() exten=>916,n,MeetMeAdmin(1000,S) Tng
gim volume nghe trong phngexten=>917,1,Answer()
exten=>917,n,MeetMeAdmin(1000,v)exten=>918,1,Answer()
exten=>918,n,MeetMeAdmin(1000,V) Tng gim volume ni 1 thnh
vinexten=>919,1,Answer() exten=>919,n,MeetMeAdmin(1000,t,1)
exten=>920,1,Answer() exten=>920,n,MeetMeAdmin(1000,T,1) Tng
gim volume nghe 1 thnh vinexten=>921,1,Answer()
exten=>921,n,MeetMeAdmin(1000,u,1)3.3. Kt qu: Kch bn hi ngh
trong phng hp:Ban u tt c cc thnh vin khng vo c, lc sau ch c cc thnh
vin chnh thc v d thnh vo c, tuy nhin admin khng vo c, khng thc hin
c cc chc nng ca adminNguyn nhn dn ti tnh trng trn l do : Nghn mang
: Ban u SSH refuse, nhng trng hp khng dng mng Lan Asterisk 1 lc sau
li chy mt ( c th do cc gi tin trong mng t hy vi TTL) Vn load cc
file config : CLI thng bo li
KT LUN Tm li, phn mm m ngun m Asterisk c th thc hin hu ht tt c
cc tnh nng c bn ca tng i PBX: cho php thit lp, kim sot v kt thc cc
cuc gi; qun l thu bao, h thng v lch s cc cuc gi; cc chc nng m rng v
dch v gia tng. Ngoi ra Asterisk cn h tr chc nng Hi ngh thoi trn mng
LAN. Do nhng u im trn, Asterisk khng ngng pht trin, hon thin, c
nhiu doanh nghip tin cy s dng. Qua 3 bi thc hnh trn, chng em c lm
quen, tm hiu v h thng chuyn mch mm m ngun m Asterisk, ng thi ng dng
vo thc t, qua tch ly c nhiu kinh nghim b ch cho cng vic tng
lai.