You are on page 1of 8

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng Mn: C S Tin Hc Vin Thng

g Bi thc hnh s 3: DIALPLAN C BN

1. GII THIU DIALPLAN Dialplan l tri tim ca h thng Asterisk. Dialplan cho bit cc cuc gi s c x l nh th no qua h thng Asterisk. Dialplan bao gm tp hp cc dng lnh hay cc ng dng theo mt trnh t no m h thng phi thc hin p ng nhu cu chuyn mch cuc gi. hiu r v cu hnh thnh cng h thng Asterisk th iu kin tin quyt l phi bit Dialplan hot ng th no. Dialplan l cng vic thit lp cho hot ng ca h thng nh nh hng cc cuc gi vo v ra h thng, l mt danh sch cc bc hay cc lnh lin tc nhau thc hin mt tc v no m h thng phi thc hin theo. Khc bit vi cc h thng in thoi truyn thng tt c cc cng vic cu hnh h thng u l t pha ngi s dng. H thng chng ta c hon chnh khng ph thuc rt nhiu vo vic chng ta c hiu r Dialplan hay khng?. Dialplan c cu hnh qua tp tin extension.conf, lin quan n vic cu hnh Dialplan c nhng khi nim cn nm : Extentions (s ni b) : s ni b l con s m thu bao cn gi, l thnh phn m Dialplan thc hin kch hot khi c cuc gi vo. S ni b chnh l ht nhn h thng xc nh cuc gi cn thc hin. Priorities (th t thc hin) : l th t thc hin cc ng dng trong Dialplan Applications (cc ng dng) : y l phn quan trng trong Diaplan, gi thc hin cc ng dng c th Contexts ( ng cnh) : l cc tnh hung x l c th m ngi dng t ra cho Dialplan x l Dialplan c phn chia thnh nhiu ng cnh khc nhau nh [incoming], [outgoing] Trong mi ng cnh, cc dng lnh s gi thc hin cc ng dng trn 1 s ni b c th v theo th t u tin c ch nh trc. Lu : Trc khi cu hnh hy lu li tp tin extention.conf gc v thc hin trn tp tin extention.conf rng. 2. CU HNH DIALPLAN a. Khai bo Context Ng cnh (context) l thnh phn khng th thiu t chc Dialplan v chng ta khng c t tn ng cnh c khong trng. Mt trong nhng iu quan trng nht ca vic s dng ng cnh l bt buc phi bo mt. Nu s dng ng cnh ng, cho php ngi gi ny thc hin kh nng c bit no (nh l cuc gi ng di) m khng cho php i vi nhng ngi gi khc. Nu khng thit k dialplan mt cch cNn thn, c th cho php nhng ngi khc s dng h thng mt cch khng mong mun. l iu cn nh khi xy dng h thng Asterisk . Sau y l t chc cc ng cnh trong tp tin cu hnh extention.conf

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

N h vy ng vi mi trng hp h thng s c ng cnh khc nhau, ng cnh c t trong du [] . Ng cnh [general] N g cnh u tin trong tp tin extention.conf l [general]. C 3 thng s c thit lp ti ng cnh ny: static=yes|no : hin ti ch c gi tr yes l c s dng, nu static=yes v writeprotect=no th chng ta c th lu dialplan t dng lnh ca Asterisk CLI>save dialplan. CLI l giao tip dng lnh ca h thng Asterisk, ti y chng ta c th thc hin cc lnh tng tc vi Asterisk nh xem trng thi cc extention lit k cc ng dng, t giao tip dng lnh ca h iu hnh linux chuyn qua giao tip dng lnh ca Asterisk c thc hin bng lnh #asterisk r). writeprotect = yes|no : Thit lp bng yes lu dialplan. autofallthrough=yes|no : thit lp gi tr yes th sau khi hon tt vic x l cuc gi Asterisk s kt thc cuc gi, cn thit lp gi tr no th sau khi hon tt x l cuc gi th h thng s i extention khc quay s.

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

Ng cnh [global] N g cnh [globals] l ni khai bo cc bin ring t nh ngha s dng trong cc ng cnh x l extention nhng phn tip theo. Cc bin khng phn bit ch hoa v ch thng nn bin ${MYVAR} v ${mYvaR} l nh nhau. V d :

Cc ng cnh khc i vi Asterisk khi ni n ng cnh th thng quan tm n trng hp c th no , do trong h thng s c rt nhiu ng cnh khc nhau. V d: khi gi n tng i Asterisk c mt thng ip thng bo nh sau Cho mng cc Bn gi n cng ty chng ti hy nhn phm 1 gp phng kinh doanh phm 2 gp phng k thut khi ngi gi chn phm 1 th h thng s chuyn n mt ng cnh l [PhongKinhDoanh] khi ngi gi nhn phm 2 th h thng s nh hng cuc gi qua ng cnh [PhongKyThuat] .

N goi ta khi cu hnh cho cc knh thoi th ng cnh y l vic x l cc cuc gi tng ng vi knh qua k hoch diaplan. V d: Vi tp tin SIP.conf

Trong tp tin extention.conf

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

b. Bin trong Asterisk Phn loi bin trong Dialplan Asterisk s dng bin trong cc i s ca application, c php c s dng nh sau: ${TenBien} TenBien cha bt k chui s alphanumeric nhng phi bt u bng mt k t s. Bin do ngi dng t khng phn bit ch hoa ch thng v d : ${TenBien} v ${TENBIEN} l nh nhau, nhng vi cc bin do Asterisk t phi gi ng tn bin v c phn bit ch hoa ch thng. V d ${EXTEN} l bin do Asterisk t nn khng th gi ${exten}, nu gi nh vy l sai. C 3 kiu bin trong h thng Asterisk: Bin ton cc (global variables) : c nh ngha ti ng cnh [globals] hoc c khai bo bng lnh SetGlobalVar Mt khi c nh ngha, bin c th c s dng bi bt k knh no ti bt k thi im no Bin knh (channel variables) : c khai bo bng lnh Set, bin knh ch c hiu lc bn trong knh khai bo chng. Mt khi kt thc cuc gi bin knh cng s khng cn tn ti na Bin mi trng (environment variables) : l bin m Asterisk c th truy cp bin mi trng ca h iu hnh linux. truy cp bin mi trng chng ta dng c php : ${ENV(foo)} Trong qu trnh khai bo bin cn ch l: nu khai bo bin ton cc v bin knh cng tn nhau th gi tr ca bin l bin knh nhng ti knh khc nu gi tn bin ton cc th gi tr bin ton cc c hiu lc v bin knh ch c hiu lc ti knh . Mt s bin nh ngha bi Dialplan Asterisk nh ngha mt s bin gip ch trong vic thc hin Dialplan, cc bin ny c phn bit ch hoa ch thng nn cn lu khi gi s dng, a phn cc bin do Asterisk nh ngha u c k t ch hoa. ${ANSWEREDTIME} : Lu tng s thi gian m thoi ${CHANNEL}: Knh hin ti ${CONTEXT}: N g cnh hin ti ${PRIORITY} : Th t hin ti ${DIALSTATUS} : Trng thi quay s nh bn, khng tr li Trn y gii thiu mt s bin m Asterisk cung cp, cn rt nhiu bin na ty vo nhu cu trong k hoch dialplan m s dng cho ph hp c. Lnh dng trong Dialplan Lnh hon chnh trong Dialplan c dng sau: N ame (tn k t hoc con s) ca s ni b Priority (s th t) : mi s ni b c th bao gm nhiu th t thc hin, mi th t gi l priority

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

Application (or command) : thc hin mt ng dng c th no cho cuc gi exten => tng ng vi mi ng dng thc hin. exten=> ging nhau cho mi dng thc hin trong Dialplan. V d:

7325010 l s in thoi m thu bao quay, cn cc s 1 v 2 l cc priorites tc l th t thc hin cc lnh. Khi thu bao quay s 7325010 th chung my in thoi ti Zap/1 trong vng 20 giy. N u sau 20 giy khng tr li th cuc gi s c nh hng n hp th thoi u7325010 ch u y c ngha l 'u'navailable message. Name - s ni b Dialplan l mt tp gm nhiu s ni b, khi mt cuc gi tng ng vi s ni b no th ng dng cho cuc gi s c thc hin. S ni b c th n gin vi mt ch danh c th nh 8051, letoan hay l mt chui so mu c thc hin nh _9xxx. Khai bo cc s ni b tu vo trng hp s dng m c phn bit ch hoa v ch thng hay khng. N u ta khai bo s ni b th no th khi gi n phi gi ng nh th ngha l c phn bit ch hoa v ch thng, cn s ni b s dng trong 1 ng cnh th khng phn bit ch hoa hay thng. V d: phn bit ch hoa v ch thng

V d: khng phn bit ch hoa v ch thng

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

Extention chnh l s in thoi ni b c 3 kiu extention nh sau: litteral, predifined v pattern Litteral : l cch khai bo thng thng cha cc con s, k t, hoc c hai. V d nh : 8051, x-ten, 8051-SIP. Predefined : y l cc extention c nh ngha trc x l cc trng hp c th xy ra trong k hoch dialplan nh my in thoi khng gn vi mng, khng tr li, qu thi gian timeout, hay chuyn n in thoi vin

V d:

Trong on dialplan trn thc hin quay s my ni b 100 trong thi gian 15 giy, nu qu thi gian th thng bo ht thi gian timeout vi extention t, cn nu my in thoi khng tr li hay khng c trn mng th pht thng bo invalid qua extention i. Pattern (So mu) : trong thc t s my in thoi ni b thng l mt dy nhiu con s chng hng t 100-999, vi mt dy s nh th ti u trong khai bo khng cn cch no khc hn l dng Pattern gii quyt. Mt s quy nh to mu trong dialplan _ l k t bt u ca mt Pattern. Z l con s bt k t 1-9 X l con s bt k t 0-9

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

N l con s bt k t 2-9 [] so khp bt k s hoc vng s no c ch nh trong du [] . Du chm i din cho mi con s ( _1234. s u tin l 1234 cn li l s bt k v d 12345 hay 123456789 u c ) Ch : khng s dng _. v trong Pattern ny s so khp tt c k c cc extention nh ngha trc (Predefined) thay vo chng ta s dng _X. V d: _09XXXXXXXX : Pattern cc s in thoi mng di ng vit nam _092XXXXXXX : Pattern cc s in thoi mng HT mobile. _098XXXXXXX : Pattern cc s in thoi mng VietTel mobile. _059XXXXX : Pattern cc s in thoi ti Tnh GiaLai _11N : Pattern cc s in thoi c bit nh 113,114,115 Priorities - th t u tin Priorities l th t thc hin cc ng dng trong dialplan, khi th t 1 c thc hin th k tip l ng dng ti th t s 2 c thc hin. Asterisk khng quan tm th t sp xp cu lnh th no m ch cn bit n priorities trn mi dng lnh. V d:

K t version 1.2 ca Asterisk thay v s dng gn mt con s c th cho th t thc hin nh trn th ta c th gn k t n cho mi dng exten=> iu ny s ni vi Asterisk l ng dng vi th t tip theo s thc hin. Th t thc hin tng dng 1 t trn xung di. V d:

Applications hm ng dng y l phn quan trng trong Diaplan tc l ng dng no s c thc hin trn mi dng, cc ng dng nh thc hin quay s, tr li cuc gi hay n gin l nhc my, gc my bit thm thng tin v cc ng dng cng nh cc thng s km theo th hy dng lnh show Aplications trn giao tip dng lnh ca Asterisk : Chng ta hy xem xt s lc mt s ng dng thng gp trong Dialplan (xem thm phn ph lc : Mt s ng dng ca Dialplan) Background() : ng dng ny thc hin pht mt file m thanh v ch nhn con s t phm nhn ca my in thoi, sau khi nhn con s t phm nhn my in thoi, Asterisk s ngt pht thng ip v x l chuyn n s th t priority tng ng vi con s nhn c

Khoa Cng ngh Thng tin i hc Khoa hc t nhin B mn Mng my tnh v Vin thng

Goto() : L ng dng thc hin nhy t context, extention, priority hin hnh n context, extention, priority c ch nh trong ng dng goto(). GotoIf () : ging nh Goto() nhng c xem xt iu kin (xem ph lc A) GotoIfTime(): ging nh Goto() nhng da vo gi ca h thng quyt nh c r nhnh hay khng. Dial() : ng dng thc hin quay s in thoi. Chng hn khi chng ta tip tc v d trn th khi chuyn n cc phng tng ng, Asterisk s quay s SIP/8051 cho phng k thut, iax2/8000 cho phng Hnh Chnh v gi n zap/1 cho phng tip th bn hng. Answer() : l ng dng thc hin tr li cuc gi, mt s tnh hung dialplan khng cn ng dng ny nhng ng logic ca x l cuc gi chng ta nn s dng . Playback() : thc hin pht ra on tin nhn thoi vi li cho helloworld tn tp tin hello-world c t ti th mc /var/lib/asterisk/sounds/ y l th mc mc nh ly tp tin thoi s dng, nhng nu chng ta c mt tp tin hello-world t ti th mc khc chng ta cng c th ch r th mc ng dng playback() thc hin v d nh playback(thumuc/hello-world) . Hangup() : l ng dng thc hin chc nng kt thc cuc gi, mt khi ng dng ny thc hin th xem nh kt thc cuc gi hin hnh, cc lnh dialplan sau li gi ng dng s khng c thc hin . Read() : tip nhn d liu nhp vo t thu . Authenticate(): thc hin xc minh con s thu bao nhp vo, nu ng th th t(priority) tip theo s thc hin cn ngc li s kt thc . Record() : thu li nhng tin nhn thoi phc v cho k hoch dialplan.

You might also like