Professional Documents
Culture Documents
1. Yu cu phn cng
Ty theo mc ch s dng v s lng ngi dng h thng s c trang b phn cng theo cc mc khc nhau. Di y l mt khuyn ngh t cng ng s dng asterisk Mc ch Th nghim, hc tp H thng cho vn phng hoc nh ring H thng cho doanh nghip nh H thng thng mi c va v ln S lng cc knh 1-5 5-10 Ti 15 knh Hn 15 Cu hnh ti thiu 400-MHz x86, 256 MB RAM 1-GHz x86, 512 MB RAM 3-GHz x86, 1 GB RAM Dual CPUs hoc trin khai trn nhiu server
2. Ci t Asterisk
2.1. Lp t phn cng
My ch: ch thng s in th trn khe PCI phi tng thch vi cc card giao tip cn kt ni Card giao tip mng: Kt ni my ch vi mng IP Card giao tip analog: Kt ni my ch vi mng PSTN. Card ny c hai loi FXO Foreign eXchange Office Kt ni ti nh cung cp PSTN FXS Foreign eXchange Station Kt ni cc in thoi PSTN vo PBX
Hnh 1:
Thng tin v cc loi card cng nh gi c ca chng c th tham kho ti trang web http://www.digium.com Hin ti ti s dng hai card nghin cu v xy dng ti liu ny l card TDM400P. (01 card 4 port FXO TDM04B v 01 card 4 port FXS TDM40B)
2.2. Yu cu phn mm
H iu hnh: Linux based. th nghim v xy dng ti liu ny, ti s dng bn phn phi Redhat linux 9.0 Gi phn mm asterisk: Download t asterisk. http://www.asterisk.org/downloads Zapata driver zaptel trong trng hp s dng cc card kt ni FXO/FXS ni vi mng PSTN. Nu h thng ko s dng cc card ny (ch l IP n thun) th c th s dng module ztdummy thay th. Zapata driver c th download ti http://downloads.digium.com/pub/telephony/zaptel/ Cc yu cu v th vin v trnh bin dch: Trnh bin dch gcc phin bn 3.x tr ln Gi m ngun nhn kernel-source (vi phin bn nhn 2.4) Th vin bison: gip asterisk phn tch cu lnh CLI Th vin openssl v openssl-devel tr gip vic m ha Th vin libnewt v gi devel lin quan bin dch zaptel driver Tm li: Cc gi phn mm cn thit thi im hin ti bao gm
asterisk-1.4.4.tar.gz zaptel-1.4.2.1.tar.gz Cc gi rpm cn ci t thm cho bn RedhatLinux 9.0 (nu cha ci) gcc-3.2.2-5 bison-1.35-6 openssl-devel-0.9.7a-2 openssl-0.9.7a-2 newt-0.51.4-1 newt-devel-0.51.4-1 kernel-source-2.4.20-8 Ch khi ci cc gi trn s c thng bo cn ci t mt s gi khc lin quan.
ln s /usr/src/linux-2.4.20-8 /usr/srv/linux-2.4 Trc khi bin dch, ta c th thay i mt s tham s trong file zconfig.h. Cc tham s ny s nh hng n hot ng ca trnh iu khin sau khi bin dch. Mt s tham s c th thay i v tnh nng ca chng c m t trong bng sau: Tnh nng Cu hnh mc nh
/* #define BOOST_RINGER */ /* #define CONFIG_CALC_XLAW */ /* #define CONFIG_ZAPTEL_MMX */ /* #define ECHO_CAN_STEVE */ /* #define ECHO_CAN_STEVE2 */ /* #define ECHO_CAN_MARK */ #define ECHO_CAN_MARK2 /* #define ECHO_CAN_MARK3 */ /* #define AGGRESSIVE_SUPPRESSOR */ /* #define NO_ECHOCAN_DISABLE */ /* #define CONFIG_ZAPATA_NET */ /* #define CONFIG_ZAPATA_PPP */ /* #define CONFIG_ZAPTEL_WATCHDOG */ #define DEFAULT_TONE_ZONE 0 /* #define CONFIG_CAC_GROUNDSTART */ /* #define TDM_REVH_MATCHALL */
Boost ringer Disable -law/A-law precomputation Enable MMX optimization Choose echo cancellation method
Enable aggressive suppression Disable echo cancellation Enable HDLC Enable ZapRAS Enable Zaptels watchdog Set default tone zone Enable CAC ground start signaling TDM400P Revision H PCI ID workaround
Thng tin c th v tnh nng cng nh ti u ha thit b da trn cc tham s ny s c tm hiu v trnh by trong mt phn khc. n gin, ti s dng thng s mc nh bin dch v ci t module zaptel. Cc lnh bin dch v ci t nh sau: cd /usr/src/zaptel-version make distclean ./configure make make install make config
Lu vi lnh ./configure, chng ta c th thm vo mt s tham s. bit chi tit cc tham s ny, g lnh ./configure help. Lnh make config s to script trong th mc khi ng h iu hnh np module vo nhn khi h thng khi ng. Vi lnh make instal, module zaptel v mt s ng dng s c ci t vo h thng trong c hai cng c h tr rt hiu qu l ztcfg v zttool. Cng c ztcfg dng kim tra v cu hnh thit b da trn file cu hnh /etc/zaptel.conf. Cng c zttool c s dng kim tra trng thi ca thit b. S dng lnh man xem thng tin chi tit v hai chng trnh ny. bt u khi ng trnh iu khin thit b, ti s dng lnh sau y: /etc/init.d/zaptel start kim tra module zaptel c np vo b nh cha, ta dng lnh lsmod. Kt qu lnh thc lsmod ca ti nh sau:
Ch cc dng gch chn chnh l module iu khin thit b zaptel Ta c th thay i tham s ca module wctdm bng lnh modprobe ti u ha hot ng ca module ny. Vn ny s c tm hiu v trnh by sau.
make samples Lnh make samples s to ra cc file cu hnh mu vi cc tham s mc nh gip cho vic thit lp v ci t asterisk c nhanh chng v d dng hn. Chng ta s iu chnh cc tham s ny trong cc phn sau. Sau khi bin dch v ci t thnh cng, chng ta c th khi ng v s dng Asterisk vi cc tham s mc nh nh trn. C nhiu cch khi ng asterisk nhng cch n gin nht l thc hin lnh sau: /usr/sbin/asterisk vo ch dng lnh ca asterisk ta dng mt trong hai cch sau /user/sbin/asterisk cvvvv Nu asterisk cha chy hoc /user/sbin/asterisk rvvvv Nu asterisk ang hot ng to cc script khi ng asterisk khi boot h thng, s dng lnh sau khi make install make config
/var/run/: Cha file ghi process ID ca Asterisk server phc v vic qun l tin trnh /var/log/asterisk/: Cha cc file log hot ng ca Asterisk server trong c th mc /var/log/asterisk/cdr-csv cha d liu phc v vic ghi cc s dng Ngoi ra, cc lnh thc thi ca Asterisk server c lu tr trong cc th mc ca h thng nh /usr/sbin, /user/lib
Ch khi thay i cc tham s trong cc file cu hnh trn, cn khi ng li Asterisk server dch v hot ng vi cc tham s mi.
Cc cng giao tip s c nh ngha v xc nh da vo kiu bo hiu n s dng trong file cu hnh zaptel.conf. Cng FXO s c khai bo s dng kiu bo hiu FXS v tng ng cng FXS s c khai bo s dng kiu bo hiu FXO. Di y, ti xin trnh by vic cu hnh vi tng loi cng giao tip v th nghim chng theo tng bc Cu hnh file zaptel.conf Cu hnh file zapata.conf t kch bn cuc gi Kim tra hot ng
Ch : C th lnh khi ng trn s gp thng bo bn do module ang c s dng bi Asterisk. Nu gp thng bo ny, ta tt chng trnh asterisk bng lnh sau: killall -9 asterisk Ri thc thi li cc lnh trn Sau khi np c module, kim tra li h thng bng lnh ztcfg: ztcfg vv Sau y l kt qu ca ti:
Tip theo, ta s cu hnh cho Asterisk giao tip vi card zaptel bng cc tham s trong file zapata.conf nh sau: [trunkgroups] ; nh ngha cc nhm trung k ti y. Mc nh c th b qua
[channels]
echocancel=yes echotraining=yes
; nh ngha cc cng context=incoming signalling=fxs_ks channel => 1 ; Cuc gi n s ng vi context [incoming] ; Dng kiu bo hiu FXS cho cng FXO ; ng thoi PSTN gn ti cng s 1 ; nh ngha ID cho cuc gi n
callerid=incoming <123>
Khi c cuc gi n cng s 1, Asterisk server s phi thc thi cc tc v p ng cuc gi. Nh cu hnh trn, Asterisk server s tm n kch bn cuc gi ti context [incoming] trong file extension.conf. to kch bn test, trong file extension.conf ta thm mt kch bn nh sau: [incoming] ; incoming calls from the FXO port are directed to this context from zapata.conf exten => s,1,Answer( ) exten => s,2,Echo( ) Vi kch bn trn, cc cuc gi n s c kt ni vi mt b lp nhc li li ngi gi. kim tra card, s dng lnh zttool theo di hot ng ca thit b, khi kt ni line thoi vo cng s 1 th thng tin hin th ti zttool hnh di y:
S dng mt in thoi khc (di ng hoc c nh) gi n s thu bao ca line thoi gn vo card th Asterisk server s nhc my v khi ng b lp hot ng.
; Tham s khai bo cho cng FXS context=internal signalling=fxo_ks channel => 1 ; S dng context [internel] cho cuc gi i ; Dng bo hiu FXO cho cng FXS ; in thoi ni vi cng 1
kim tra thit b, ti to mt kch bn gi lp vi s gi n l 1080 trong file cu hnh extension.conf nh sau [internal] exten => 1080,1,Answer( ) exten => 1080,2,Echo( ) Gn ng thoi t mt in thoi analog vo cng s 1 trn card, s dng cng c zttool kim tra thit b ti c kt qu nh sau: Khi cha nhc my in thoi
Khi nhc my
My in thoi pht m mi quay s, quay 1080 khi ng b lp ca Asterisk server. (Ch ch khi khi ng Asterisk server th mi c m mi quay s ti my in thoi, khi Asterisk cha khi ng th ch c tn hiu bo ti my in thoi ch khng c m mi quay s).
;Phn sau khai bo ngi dng huydd vi mt khu l matkhau [huydd] type=friend secret=matkhau
host=dynamic ; a ch s c xc nh khi ng k SIP canreinvite=no context=internal ; S dng context internal cho huydd
; Khai bo ngi dng huydd_iax vi mt khu matkhau [huydd_iax] type=friend callerid=huydd_iax username=huydd_iax secret=matkhau ;Thng tin hin th khi gi n
context=internal host=dynamic
y, my ch Asterisk c a ch tng ng vi tn min sip1.cdit.com.vn Sau khi nhp thng tin v ngi dng, Xlite s tin hnh ng k vi Asterisk server. Trong trng hp ng k thnh cng, server s hin th thng tin log (gi lnh asterisk rvvvvvv trc khi chy Xlite trn my trm hin th thng tin) nh sau
Vi giao thc IAX, do c thit k ring cho bo hiu lin server nn khng nhiu softphone h tr giao thc ny. y ti s dng sn phm softphone Firefly ca hng Frehstel. Cc tham s cu hnh c thit lp cho ngi dng IAX c m t nh hnh di y:
Sau khi nhp thng tin, trn Asterisk server s hin th thng tin nh hnh di y cho bit ng k thnh cng
Ta c th dng cc softphone trn quay n s 1080 thit lp cc phn trc kim tra.
Cc ch th ny c t trong file cu hnh extension.conf v cc file include lin quan c ch ra trong file extension.conf. Kch bn cuc gi trong Asterisk server c phn thnh cc vng khc nhau c gi l context. Mi ngi dng hoc cc phn t h thng thuc cc context khc nhau thc hin theo cc ch th ca context . Theo nh hng dn cu hnh cc phn trn, hin ti chng ta cn cu hnh 2 context: Internal: Cho cc thit b ni vo cng FXS v cc thu bao SIP, IAX gi ln nhau v gi qua PSTN Incoming: Cho kt ni gi vo t mng PSTN
Ngoi ra, h thng cn mt context chung cha cc tham s tng qut l general. Mi context s c t trong mt vng bt u bng k hiu tn context trong cp ngoc [], v d [incoming]. Di y ti s khai bo kch bn cuc gi phc v mc tiu sau: Cuc gi n t mng PSTN s c chuyn n a ch thu bao SIP huydd Cuc gi n cc thu bao SIP s chuyn ti ia ch tng ng Cuc gi n cc thu bao mng PSTN s bt u vi u s 9
4. Kt lun
Ch vi mt s thit b phn cng n gin kt hp vi asterisk, chng ta hon ton c th t chc mt tng i hon chnh th nghim dch v VoIP cng nh kt ni gia mng IP v PSTN. Hng dn trn y mi ch l mt s bc c bn thit lp h thng. Cn rt nhiu ch lin quan c th ti u cng nh lm phong ph thm kch bn dch v m ti cha c thi gian nghin cu v trnh by y. Tuy nhin ti hi vng s c dp nghin cu v trnh by thm v h thng rt th v ny. Mi thng tin trao i xin gi n huydd@cdit.com.vn