
ãã®èšäºã§ã¯ãã·ã³ã°ã«ããŒãE1
Digium TE121Pã«ãŒãã®äŸã䜿çšããŠãCentOSãªãã¬ãŒãã£ã³ã°ã·ã¹ãã äžã®FreeSWITCHã«æ¥ç¶ããäŸãæ€èšããŸãã
ç©ççãªæ¥ç¶
çè«çã«ã¯ãç©çââçãªæ¥ç¶ã¯ãã¬ãã©ããŒãããã€ããŒãæäŸããå¿
èŠããããŸãã ãã®ã«ãŒãã«ã¯ã75ΩRJ-45ã³ãã¯ã¿ããããŸãã
ããšãã°ãNSGate NS-200 / SB-LEã¢ãã ãšE1 + LAN + V.35ããŒãã䜿çšããŠãããã€ããŒã«æ¥ç¶ããŸãããããã€ããŒãããã«1ã€ã®å°çšåç·ãšE1ããã³ã€ãŒãµãããã«æ¥ç¶ããããšã匷ããå§ãããŸãã
ã±ãŒãã«ã®ãã³é
åã¯
ãã¡ãã§ã芧
ããã ããŸã ã
ã«ãŒãããããã€ããŒã«æ¥ç¶ããããšããã¡ãã以äžã§èª¬æããããã«ãã¹ãŠãæ£ããæ§æããªãéããã«ãŒãã®ã©ã€ããç·è²ã«å€ãããŸãã
ã«ã¹ã¿ãã€ãº
ããŒããæ©èœãããã«ã¯ã次ã®3ã€ã®ã³ã³ããŒãã³ããã€ã³ã¹ããŒã«ããŠæ§æããå¿
èŠããããŸãã
- libPRIã¯ãISDNã®ã¹ããªãŒãã³ã°TDMã€ã³ã¿ãŒãã§ãŒã¹ã§ããPRIïŒãã©ã€ããªã¬ãŒãã€ã³ã¿ãŒãã§ãŒã¹ïŒããã³BRIïŒããŒã·ãã¯ã¬ãŒãã€ã³ã¿ãŒãã§ãŒã¹ïŒã§åäœããããã«èšèšãããã©ã€ãã©ãªã§ãã
- DAHDI -Digiumã補é ããããŒãçšã®ãã©ã€ããŒã
- FreeTDM-ãã¬ãã©ããŒããŒããæäœããããã®FreeSWITCHã¢ãžã¥ãŒã«ã
libPRI
ããããlibpriãããŠã³ããŒãããŸãïŒ
downloads.asterisk.org/pub/telephony/libpriããšãã°ã次ã®ããã«ïŒ
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
ãããŠã€ã³ã¹ããŒã«ïŒ
make make install
å®éã«ã€ã³ã¹ããŒã«ãããã¹ãŠã ç¹å¥ãªèšå®ã¯å¿
èŠãããŸããã
FreeSWITCHã¯ãlibPRIãä»ããŠDAHDIãšå¯Ÿè©±ããŸãã
DAHDI
ãŸããDAHDIã®ã€ã³ã¹ããŒã«ããã»ã¹ã«ã€ããŠã¯ãwiki.freeswitch.org /
wiki /
OpenZap_Dahdiã§èª¬æããŠããŸãã
ãããã£ãŠãã«ãŒããã€ã³ã¹ããŒã«ããåŸãã·ã¹ãã ã§ç¢ºèªããŠãã ãã
lspci -v
ãããŠãã«ãŒãã座ã£ãŠããå²ã蟌ã¿ãèŠãŠãã ããïŒ
cat /proc/interrupts
wctdmãå¥ã®irqãå æããŠããå Žåã¯è¯å¥œã§ããã誰ããšå
±æããå Žåã¯ãã«ãŒãã®æäœãšé³å£°ã®å質ã«åœ±é¿ãäžããå¯èœæ§ãããããããã©ã€ããŒãå¥ã®å²ã蟌ã¿ã«é
眮ããããšããå§ãããŸãã
ããããDAHDIãããŠã³ããŒãããŸãïŒ
downloads.asterisk.org/pub/telephony/dahdi-linux-completeããšãã°ã次ã®ããã«ïŒ
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
ãŠãŒã¶ãŒã¢ã¹ã¿ãªã¹ã¯ã远å
adduser asterisk
ãããŠ/ etcã«ãã©ã«ããŒãäœæããŸã
mkdir /etc/asterisk
å¿
èŠãããŸãããããã©ã€ããŒãã€ã³ã¹ããŒã«ããéã®ãšã©ãŒãåé¿ããããã«è¡ãå¿
èŠããããŸãã
make all make install
æåã®ã€ã³ã¹ããŒã«ããã£ãå Žåã¯ãconfigãå®è¡ããŠãµã³ãã«ã®æ§æãã¡ã€ã«ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸã
make config
èµ·åæã«ããã«DAHDIãæå¹ã«ã§ããŸã
chkconfig dahdi on
DAHDIæ§æãžã§ãã¬ãŒã¿ãŒãèµ·åããŸã
/usr/sbin/dahdi_genconf
ãã¡ã€ã«ã®ç·šé/ etc / dahdi / modules
ã³ã¡ã³ãåãããŠããªãè¡ã1ã€ãããŸãã
wcte12xp
æ®ãã®ã¢ãžã¥ãŒã«ã¯äžèŠã§ããããŒãããªãããã«ã³ã¡ã³ãã¢ãŠãããå¿
èŠããããŸãã
次ã«ã/ etc / dahdi / system.confãæ§æããŸãã
æ¥ç¶èšå®ïŒspan = <span num>ã<timing source>ã<line build outïŒLBOïŒ>ã<framing>ã<coding> [ãyellow]
span num-ã¹ãã³ã·ãªã¢ã«çªå·
ã¿ã€ãã³ã°ãœãŒã¹ -ã¿ã€ããŒåæã®ãœãŒã¹ãéžæããŸãã 0-ãã¹ã¿ãŒã1以äž-ãã¹ã¿ãŒã¯ãªã¢ãŒãåŽã§ãã æ°å€ã倧ããã»ã©ãåªå
é äœã¯äœããªããŸãã
ã©ã€ã³ãã«ãã¢ãŠãïŒLBOïŒ -ãªã¢ãŒãåŽãŸã§ã®è·é¢ã«å¿ããéžæã ãã®å Žåã«æ©èœãããã©ããã¯ããããŸããããè¡šã¯æ¬¡ã®ãšããã§ãã
0ïŒ0 dbïŒCSUïŒ/ 0-133ãã£ãŒãïŒDSX-1ïŒ
1ïŒ133-266ãã£ãŒãïŒDSX-1ïŒ
2ïŒ266-399ãã£ãŒãïŒDSX-1ïŒ
3ïŒ399-533ãã£ãŒãïŒDSX-1ïŒ
4ïŒ533-655ãã£ãŒãïŒDSX-1ïŒ
5ïŒ-7.5dbïŒCSUïŒ
6ïŒ-15dbïŒCSUïŒ
7ïŒ-22.5dbïŒCSUïŒ
ãã¬ãŒãã³ã° -é»è©±ã¢ã©ãŒã ã®ã¿ã€ãã E1ã§ã¯ãccsãŸãã¯casãéžæãããŠããŸãã
ã³ãŒãã£ã³ã° -ã€ã³ã©ã€ã³ã§ã³ãŒãã£ã³ã°ã E1ã®å Žåã¯ãamiãŸãã¯hdb3ãéžæããŸãã
é»è² -crc4ããã§ãã¯ããã³çæãããŠãããã©ããã
ããããã¹ãŠã®E1ãã©ã¡ãŒã¿ãŒã¯ããã¬ãã©ããŒãããã€ããŒããå ±åãããå¿
èŠããããŸãïŒãã¡ãããspan numãé€ãïŒã
以äžã¯ã
ãã£ãã«ã®
æ§æã§ãã<ããã€ã¹> = <ãã£ãã«ãªã¹ã>
E1ã¹ããªãŒã ã§ã¯ãbchanãšdchanã®ã¿ã®ããã€ã¹ã«é¢å¿ããããŸãã E1ã®å Žåãæ¬¡ã®èšå®ã䜿çšãããŸãã
bchan = 1-15,17-31
dchan = 16
以äžã«
ã¿ã€ã ãŸãŒã³ã«ã€ããŠèª¬æã
ãŸããloadzone = <ãŸãŒã³>
defaultzone = <ãŸãŒã³>
ã¿ã€ã ãŸãŒã³ã¯2æåã®ã³ãŒãã§ç€ºãããŸãã ããã©ã«ãã¯usã§ãã
以äžã¯ããã£ãã«äžã®PCMãšã³ã³ãŒãã«ã€ããŠèª¬æããŠããŸãã
mulawïŒG.711u = PCMUïŒãšalawïŒG.711a = PCMAïŒããéžæããŸãã
次ã«ã
ãšã³ãŒãã£ã³ã»ã©ã«ã€ããŠèª¬æããŸã
ãechocanceller = <echocanceller name>ã<channel's>
ãšã³ãŒãã£ã³ã»ã©ãŒå -mg2ãkb1ãsec2ãsecã
以äžã«ãäŸãšããŠ/etc/dahdi/system.confãã¡ã€ã«ã瀺ããŸãã
ããã§ãDAHDIãéå§ã§ããŸãã
service dahdi start
/ usr / sbinã«DAHDIãã€ã³ã¹ããŒã«ãããšãããã€ãã®ãŠãŒãã£ãªãã£ãæžã蟌ãŸããŸãã
dahdi_test dahdi_test Opened pseudo dahdi interface, measuring accuracy... 99.999% 99.995% 99.999% 99.999% 99.999% 99.999% 99.999% --- Results after 7 passes --- Best: 99.999 -- Worst: 99.995 -- Average: 99.998506, Difference: 99.998507
99.9æªæºã®å€ã¯æªãçµæã§ãã ããã¯ãDAHDIããã€ã¹ãå²ã蟌ã¿ãããã»ããµæéã«é¢ããŠä»ã®ããã»ã¹ãšç«¶åããããšãäœåãªããããããšãæå³ããé³è³ªã®äœäžã«ã€ãªããå¯èœæ§ããããŸãã
dahdi_toolã«ãŒãã®ã¹ããŒã¿ã¹ãšãã®æäœã®ãšã©ãŒã衚瀺ããŸãã
dahdi_scanããšãã°ã次ã®ãããªãããã«é¢ããæ
å ±ã衚瀺ããŸãã
[1] active=yes alarms=OK description=Wildcard TE121 Card 0 name=WCT1/0 manufacturer=Digium devicetype=Wildcard TE121 (VPMADT032) location=PCI Bus 05 Slot 09 basechan=1 totchans=31 irq=169 type=digital-E1 syncsrc=1 lbo=0 db (CSU)/0-133 feet (DSX-1) coding_opts=AMI,HDB3 framing_opts=CCS,CRC4 coding=HDB3 framing=CCS
dahdi_cfg [ãªãã·ã§ã³]
æ§æã衚瀺
dahdi_hardwareã€ã³ã¹ããŒã«ãããŠããã«ãŒãã«é¢ããæ
å ±ã衚瀺ããŸã
Freetdm
ããŒãã䜿çšããã«ã¯ãFreeSWDMã«freetdmã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ããã«ãlibpriãµããŒãã䜿çšããŠã³ã³ãã€ã«ããå¿
èŠããããŸãã libpriãªãã§ã³ã³ãã€ã«ãããå Žåãåã³ã³ãã€ã«ããå¿
èŠããããŸãã
cd libs/freetdm ./configure --with-libpri make make install
FreeTDMãæ§æããã«ã¯ãconfãã©ã«ããŒå
ã®3ã€ã®ãã¡ã€ã«ãfreetdm.confãzt.confãããã³autoload_configs / freetdm.conf.xmlã調æŽããå¿
èŠããããŸãã ãã¡ãããFreeTDMã¢ãžã¥ãŒã«ã¯autoload_configs / modules.conf.xmlãã¡ã€ã«ã«å«ããå¿
èŠããããŸãã
freetdm.confã®æ§æ
Zaptel / DAHDIã»ã¯ã·ã§ã³ãæ§æããŸãã ãããè¡ãã«ã¯ã次ã®ã»ã¯ã·ã§ã³ãäœæããŸãïŒæ¢å®ã§ã¯æ¢ã«äœæãããŠããŸãïŒã
[span zt myDAHDISpan]
myDAHDISpan-ããã¯ä»»æã®ååã«ããããšãã§ããŸãã
ãã®ãã¡ã€ã«ã§ã¯ããã©ã¡ãŒã¿ãŒã¯ã=>ãèšå·ã§å€ãšåºåãããŠããããšã«æ³šæããŠãã ããã
name-éžæãã
åå ã
trunk_type-ã¿ã€ããå¯èœãªå€ïŒE1ãT1ãJ1ãBRIãBRI_PTMPãFXOãFXSãEMãæ±ºå®ããŸãã
group-çºä¿¡ã³ãŒã«ã®æ¡ä»¶ä»ãã°ã«ãŒãåãæåã§å§ãŸãå¿
èŠããããŸãã ããã«ããã€ã€ã«ãã©ã³ã®äŸã§ã¯ããã€ã€ã«ãã©ã³ã®äœ¿ç𿹿³ãããããŸãã
txgain-éä¿¡çšã®ãµãŠã³ãã
匷åãŸãã¯æžè¡°ããŸãã floatãšå
¥åããŸãã å€ã倧ãããããšãæªã¿ãçããå¯èœæ§ããããŸãã å
žåçãªå€ã®ç¯å²ã¯-5.0ã5.0
rxgain-åä¿¡ãããµãŠã³ãã
匷åãŸãã¯æžè¡°ããŸãã floatãšå
¥åããŸãã å€ã倧ãããããšãæªã¿ãçããå¯èœæ§ããããŸãã å
žåçãªå€ã®ç¯å²ã¯-5.0ã5.0
E1ã¹ããªãŒã ã®
analog-start-typeããã³
numberãªãã·ã§ã³ã¯å¿
èŠãããŸããã
bãã£ãã«-bãã£ãã«çªå·ã bchanãã©ã¡ãŒã¿ãŒããïŒãã¡ã€ã«/etc/dahdi/system.confïŒ
dãã£ãã«-dãã£ãã«ã®çªå·ã dchanãã©ã¡ãŒã¿ãŒããïŒãã¡ã€ã«/etc/dahdi/system.confïŒ
ãã®
ã±ãŒã¹ã§ã¯ ã
fxo -channel ã
fxs-channelããã³
em-channelãã©ã¡ãŒã¿ãŒã¯å¿
èŠãããŸããã
cas-channelãªãã·ã§ã³ãš
debugdtmfãªãã·ã§ã³ã
圹ç«ã€å ŽåããããŸãã
ç§ã®äœæ¥freetdm.confã®äŸïŒ
[span zt pri] name => pri trunk_type => E1 group => e1group b-channel => 1-15 d-channel => 16 b-channel => 17-31
zt.confã®æ§æ
ç§ã¯ãããæ°ã«ããããã¹ãŠã®ããã©ã«ãå€ãåããŸããã
[defaults] codec_ms => 20 wink_ms => 150 flash_ms => 750 echo_cancel_level => 64 rxgain => 0.0 txgain => 3.0
freetdm.conf.xmlã®æ§æ
<configuration name="freetdm.conf" description="Freetdm Configuration"> <settings> <param name="debug" value="7"/> </settings> <libpri_spans> <span id="1" name="pri"> <param name="node" value="network"/> <param name="switch" value="euroisdn"/> <param name="l1" value="alaw"/> <param name="dp" value="international"/> <param name="debug" value="all"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> </span> </libpri_spans> </configuration>
åå屿§-freetdm.confã§æå®ããååãšäžèŽããã¹ãã³å
ä»ã®ãã©ã¡ãŒã¿ãŒã¯æ¬¡ã®å€ãåãããšãã§ããŸãã
ããŒããŸãã¯ã¢ãŒã -ããŒãã¿ã€ãïŒæ¬åŒ§å
ã¯æå¹ãªå矩èªïŒïŒcpeïŒãŠãŒã¶ãŒïŒãnetworkïŒnetïŒ
ã¹ã€ãããŸãã¯æ¹èš ïŒæ¬åŒ§å
ã¯æå¹ãªå矩èªïŒïŒni1ãni2ãdms100ãlucent5eïŒ5essïŒãatt4essïŒ4essïŒãeuroisdnïŒq931ïŒãgr303eocãgr303tmc
l1ãŸãã¯layer1 ïŒalawãulaw
dpãŸãã¯ton ïŒã€ã³ã¿ãŒãã·ã§ãã«ããã·ã§ãã«ãããŒã«ã«ããã©ã€ããŒããäžæ
ãããã®ãã©ã¡ãŒã¿ãŒãçè§£ãããšããããã€ããŒã¯E1ã¹ããªãŒã ã®æ¥ç¶å
ã®ãããã€ããŒã«éç¥ããå¿
èŠããããŸãã
次ã«ãé話ã®éä¿¡å
ãæå®ããŸãã
dialplan-ã³ãŒã«ãéä¿¡ããããã€ã€ã«
ãã©ã³ ïŒXMLãYAMLãã¢ã¹ã¿ãªã¹ã¯ïŒïŒïŒ
context-åŒã³åºããéä¿¡ãããã³ã³ããã¹ãã
次ã®ãªãã·ã§ã³ã¯ãªãã·ã§ã³ã§ãã
debug ïŒq921_allãq921_rawãq921_dumpãq921_stateãq931_allãq931_dumpãq931_stateãq931_anomalyãconfigãapduãaoc
éè€ãã€ã€ã« ïŒæ¬åŒ§å
ã¯æå¹ãªå矩èªïŒïŒã¯ãïŒäž¡æ¹ïŒãçä¿¡ïŒåä¿¡ïŒãçºä¿¡ïŒéä¿¡ïŒãããã
opts ïŒãµãžã§ã¹ããã£ãã«ãé€å€ãã£ã¹ãã¬ã€ãçç¥ãªãã€ã¬ã¯ãçªå·ãaoc
service_message_support ïŒtrueãfalse
ããŒãã¿ã€ããæ¹èšããšã³ã³ãŒãã®ãã©ã¡ãŒã¿ãŒã¯ããã¬ãã©ããŒãããã€ããŒã«æäŸããå¿
èŠããããŸãã
ã¯ãããã©ã¡ãŒã¿ãŒåã«ã¯å矩èªããããŸãã ããŒã=ã¢ãŒããã¹ã€ãã=ãã€ã¢ã¬ã¯ãã
ãã€ã€ã«ãã©ã³ã®ã»ããã¢ãã
çºä¿¡ã³ãŒã«ã¯ã次ã®ã«ãŒã«ã«åŸã£ãŠèšè¿°ãããŸãã
freetdm / <ã¹ãã³åãŸãã¯ã°ã«ãŒãå> / a / <destination_number>
æåãaãã¯å°ããå Žåãããã°ã倧ããå ŽåããããŸãã æåãµã€ãºïŒheheïŒã¯ãFreeTDMãã¹ãã³å
ã®ç©ºããã£ãã«ãéžæããæ¹æ³ãå®çŸ©ããŸãã ãAã-äžããäžãã€ãŸã æåããæå€§ãŸã§ãããã³ãAã-äžããäžãã€ãŸã æå€§å€ïŒãã®å Žåã¯31ïŒããæåã®å€ãŸã§ã
ããšãã°ã9ã§å§ãŸããã¹ãŠã®çªå·ãã«ãŒãã«éä¿¡ãããŸã
<extension name="outgoing_pri"> <condition field="destination_number" expression="^9(\d+)$"> <action application="bridge" data="freetdm/e1group/a/$1"/> </condition> </extension>
次ã®äŸã§ã¯ããã¹ãŠã®çä¿¡ã³ãŒã«ãivr_mainïŒç§ã®å Žåã¯IVRã¡ãã¥ãŒïŒãšããååã§å
ç·çªå·ã«éä¿¡ããŸãã
<extension name="pri_input"> <condition field="chan_name" expression="^(FreeTDM)"> <action application="set" data="ringback=${ru-ring}"/> <action application="set" data="transfer_ringback=${ru-ring}"/> <action application="transfer" data="ivr_main XML default"/> </condition> </extension>
ãŸããäžè¬çã«ãã©ããããããã
ãã¡ãããäž»ãªæ
å ±æºã¯ãã¡ãã§ãïŒ
http :
//wiki.freeswitch.org/wiki/FreeTDMCLIã³ãã³ããSIPããããŒããã£ãã«å€æ°ãªã©ãå€ãã®è¿œå æ
å ±ããããŸãã