
рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ, рдПрдХрд▓-рдкреЛрд░реНрдЯ E1
Digium TE121P рдХрд╛рд░реНрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП,
рд╣рдо рдЗрд╕реЗ CentOS рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ FreeSWITCH рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рд╢рд╛рд░реАрд░рд┐рдХ рд╕рдВрдмрдВрдз
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╢рд╛рд░реАрд░рд┐рдХ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЯреЗрд▓реАрдлреЛрдиреА рдкреНрд░рджрд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рд░реНрдб 75-рдУрдо рдЖрд░рдЬреЗ -45 рдХрдиреЗрдХреНрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП E1 + LAN + V.35 рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде NSGate NS-200 / SB-LE рдореЙрдбреЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдкреНрд░рджрд╛рддрд╛ рдХреЛ рддреБрд░рдВрдд рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд▓рд╛рдЗрди рдФрд░ E1 рдФрд░ рдИрдерд░рдиреЗрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рдХреЗрдмрд▓ рдкрд┐рдирдЖрдЙрдЯ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдЬрдм рдХрд╛рд░реНрдб рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ рдкреНрд░рдХрд╛рд╢ рд╣рд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИред
рд╕рдорд╛рдпреЛрдЬрди
рдмреЛрд░реНрдб рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддреАрди рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- libPRI ISDN: PRI (рдкреНрд░рд╛рдЗрдорд░реА рд░реЗрдЯ рдЗрдВрдЯрд░рдлреЗрд╕) рдФрд░ BRI (рдмреЗрд╕рд┐рдХ рд░реЗрдЯ рдЗрдВрдЯрд░рдлреЗрд╕) рдХреА TDM рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
- DAHDI - рдбрд┐рдЧрд┐рдпрдо рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ред
- 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 рдиреЗ DAHDI рдХреЗ рд╕рд╛рде libPRI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рддрдЪреАрдд рдХреАред
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
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Asterisk рдЬреЛрдбрд╝реЗрдВ
adduser asterisk
рдФрд░ / etc рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ
mkdir /etc/asterisk
рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
make all make install
рдпрджрд┐ рдкрд╣рд▓реА рд╕реНрдерд╛рдкрдирд╛ рдереА, рддреЛ рдЖрдкрдХреЛ рдирдореВрдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
make config
рдЖрдк рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рддреБрд░рдВрдд DAHDI рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
chkconfig dahdi on
DAHDI рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬрдирд░реЗрдЯрд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
/usr/sbin/dahdi_genconf
рдлрд╝рд╛рдЗрд▓ / etc / dahdi / рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдВрдкрд╛рджрди
рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
wcte12xp
рд╣рдореЗрдВ рдмрд╛рдХреА рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рд▓реЛрдб рди рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, /etc/dahdi/system.conf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк:рд╕реНрдкреИрди = <рд╕реНрдкреИрди рд╕рдВрдЦреНрдпрд╛>, <рдЯрд╛рдЗрдорд┐рдВрдЧ рд╕реЛрд░реНрд╕>, <рд▓рд╛рдЗрди рдмрд┐рд▓реНрдб рдЖрдЙрдЯ (рдПрд▓рдмреАрдУ)>, <рдлреНрд░реЗрдорд┐рдВрдЧ>, <рдХреЛрдбрд┐рдВрдЧ> [, рдкреАрд▓рд╛]
рд╕реНрдкреИрди рд╕рдВрдЦреНрдпрд╛ -
рд╕реНрдкреИрди рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛
рд╕рдордп рд╕реНрд░реЛрдд - рдЯрд╛рдЗрдорд░ рддреБрд▓реНрдпрдХрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд░реЛрдд рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред 0 - рдорд╛рд╕реНрдЯрд░, 1 рдпрд╛ рдЕрдзрд┐рдХ - рдорд╛рд╕реНрдЯрд░ рджреВрд░рд╕реНрде рдкрдХреНрд╖ рд╣реИред рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рддрдиреА рдмрдбрд╝реА рд╣реЛрдЧреА, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрддрдиреА рд╣реА рдХрдо рд╣реЛрдЧреАред
рд▓рд╛рдЗрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг (рдПрд▓рдмреАрдУ) - рджреВрд░рд╕реНрде рдкрдХреНрд╖ рдХреА рджреВрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрдпрдиред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрд╛рд▓рд┐рдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
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: -15 db (CSU)
7: -22.5db (CSU)
рдлреНрд░реЗрдорд┐рдВрдЧ - рдЯреЗрд▓реАрдлреЛрди рдЕрд▓рд╛рд░реНрдо рдХрд╛ рдкреНрд░рдХрд╛рд░ред E1 рдХреЗ рд▓рд┐рдП, ccs рдпрд╛ cas рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЛрдбрд┐рдВрдЧ - рд▓рд╛рдЗрди рдореЗрдВ рдХреЛрдбрд┐рдВрдЧред E1 рдХреЗ рд▓рд┐рдП, ami рдпрд╛ hdb3 рдЪреБрдиреЗрдВред
рдкреАрд▓рд╛ - рдХреНрдпрд╛ crc4 рдХреЛ рдЪреЗрдХ рдФрд░ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЗрди рд╕рднреА рдИ 1 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЖрдкрдХреЛ рдЯреЗрд▓реАрдлреЛрдиреА рдкреНрд░рджрд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕реНрдкрд╛рди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рдЪреИрдирд▓реЛрдВ рдХрд╛
рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:<рдбрд┐рд╡рд╛рдЗрд╕> = <рдЪреИрдирд▓ рд╕реВрдЪреА>
E1 рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдХреЗрд╡рд▓ bchan рдФрд░ dchan рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛрдЧреАред E1 рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
bchan = 1-15,17-31
dchan = 16
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╡рд░реНрдгрди
рдХрд░рддрд╛ рд╣реИ:рд▓реЛрдбрдЬрд╝реЛрди = <рдЬрд╝реЛрди>
defaultzone = <рдХреНрд╖реЗрддреНрд░>
рд╕рдордп рдХреНрд╖реЗрддреНрд░ рджреЛ-рдЕрдХреНрд╖рд░ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣рдо рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреИрдирд▓реЛрдВ рдкрд░ PCM рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ:
рдореБрд▓рд╡рд╛ (G.711u = PCMU) рдФрд░ рдЕрд▓рд╛рд╡ (G.711a = PCMA) рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░реЗрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рдЗрдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ
:echocanceller = <echocanceller рдирд╛рдо>, <рдЪреИрдирд▓ рдХрд╛>
рдЗрдХреЛрд╕реЗрдиреНрд▓рд░ рдирд╛рдо - 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
рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлреНрд░реАрд╕реНрдореИрдЯ рдкрд░ рдлреНрд░реАрдореЗрдЯ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ libpri рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЗрд╕реЗ рд▓реАрдмрдкреНрд░реА рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
cd libs/freetdm ./configure --with-libpri make make install
FreeTDM рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧреЛрдкрдиреАрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рддреАрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: freetdm.conf, zt.conf рдФрд░ autoload_configs / freetdm.conf.xmlред рдареАрдХ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдлреНрд░реАрдЯреАрдбреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдХреЛ рдСрдЯреЛрд▓реИрдб_рдХреЙрдиреНрдлрд╝рд┐рдЧреНрд╕ / рдореЙрдбреНрдпреВрд▓.рдХреЙрдиреНрдлрд╝рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
Freetdm.conf рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
Zaptel / DAHDI рдЕрдиреБрднрд╛рдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЕрдиреБрднрд╛рдЧ рдмрдирд╛рдПрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рдирд┐рд░реНрдорд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИ):
[рдЕрд╡рдзрд┐ zD myDAHDISpan]
myDAHDISpan - рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рдХреЛрдИ рднреА рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ "=>" рдЪрд┐рд╣реНрди рд╕реЗ рдорд╛рди рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдирд╛рдо - рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрдпрдирд┐рдд
рдирд╛рдо ред
trunk_type - рдкреНрд░рдХрд╛рд░, рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ: E1, T1, J1, BRI, BRI_PTMP, FXO, FXS, EMред
рд╕рдореВрд╣ - рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╢рд░реНрдд рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо, рдПрдХ рдкрддреНрд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
txgain - рд╕рдВрдЪрд░рдг рдХреЗ рд▓рд┐рдП рдзреНрд╡рдирд┐ рдХреЛ
рдмрдврд╝рд╛рддрд╛ рдпрд╛
рдмрдврд╝рд╛рддрд╛ рд╣реИ ред рдлреНрд▓реЛрдЯ рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдп рд╡рд┐рд░реВрдкрдг рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди -5.0 рд╕реЗ 5.0 рддрдХ рд╣реИ
rxgain - рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдирд┐ рдХреЛ
рдмрдврд╝рд╛рддрд╛ рдпрд╛
рдмрдврд╝рд╛рддрд╛ рд╣реИ ред рдлреНрд▓реЛрдЯ рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдп рд╡рд┐рд░реВрдкрдг рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди -5.0 рд╕реЗ 5.0 рддрдХ рд╣реИ
E1 рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП
рдПрдирд╛рд▓реЙрдЧ-рд╕реНрдЯрд╛рд░реНрдЯ-рдЯрд╛рдЗрдк рдФрд░
рдирдВрдмрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдмреА-рдЪреИрдирд▓ -
рдмреА-рдЪреИрдирд▓ рд╕рдВрдЦреНрдпрд╛ред рдмреИрдЪ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ (рдлрд╝рд╛рдЗрд▓ /etc/dahdi/system.conf)
рдбреА-рдЪреИрдирд▓ -
рдбреА-рдЪреИрдирд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ред Dchan рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ (рдлрд╝рд╛рдЗрд▓ /etc/dahdi/system.conf)
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ
рдПрдлрдПрдХреНрд╕рдУ-рдЪреИрдирд▓ ,
рдПрдлрдПрдХреНрд╕рдПрд╕-рдЪреИрдирд▓ рдФрд░
рдПрдо-рдЪреИрдирд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХреИрд╕-рдЪреИрдирд▓ рдФрд░
рдбреАрдмрдЧрдбреЗрдЯрдо рд╡рд┐рдХрд▓реНрдк рднреА рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг 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 (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛), рдиреЗрдЯрд╡рд░реНрдХ (рдиреЗрдЯ)
рд╕реНрд╡рд┐рдЪ рдпрд╛ рдмреЛрд▓реА (рдХреЛрд╖реНрдардХ рдореЗрдВ рдорд╛рдиреНрдп рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрдж рд╣реИрдВ): ni1, ni2, dms100, lucent5e (5ess), att4ess (4ess), рдпреВрд░реЛрдбрд┐рд╕рди (q931), рдЧреНрд░реАрдХреЛрдЗрдХ, gr303tmc
рдПрд▓ 1 рдпрд╛ рд▓реЗрдпрд░
1 : рдЕрд▓реНрд╡рд╛, рдЙрд▓реЙ
рдбреАрдкреА рдпрд╛ рдЯрди : рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп, рд░рд╛рд╖реНрдЯреНрд░реАрдп, рд╕реНрдерд╛рдиреАрдп, рдирд┐рдЬреА, рдЕрдЬреНрдЮрд╛рдд
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЙрд╕ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЖрдк E1 рд╕реНрдЯреНрд░реАрдо рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреЙрд▓ рдХрд╣рд╛рдВ рднреЗрдЬреЗрдВ:
рдбрд╛рдпрд▓рдкреНрд▓рд╛рди -
рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЙрд▓ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛: XML, YAML, Asterisk (?)
рд╕рдВрджрд░реНрдн - рдЬрд┐рд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреЙрд▓ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ:
рдбрд┐рдмрдЧ : q921_all, q921_raw, q921_dump, q921_state, q931_all, q931_dump, q931_state, q931_anomaly, config, apdu ,oc
рдУрд╡рд░рд▓реИрдкрдбрд┐рдпрд▓ (рдХреЛрд╖реНрдардХ рдореЗрдВ рдорд╛рдиреНрдп рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрдж рд╣реИрдВ): рд╣рд╛рдБ (рджреЛрдиреЛрдВ), рдЗрдирдХрдорд┐рдВрдЧ (рдкреНрд░рд╛рдкреНрдд), рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ (рднреЗрдЬреЗрдВ), рдирд╣реАрдВ
opts : рд╕реБрдЭрд╛рд╡_рдЪреИрдирд▓, omit_display, omit_redirecting_number, aoc
service_message_support : рд╕рддреНрдп, рдЕрд╕рддреНрдп
рдиреЛрдб рдкреНрд░рдХрд╛рд░, рдмреЛрд▓реА, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░, рдЖрдкрдХреЛ рдЯреЗрд▓реАрдлреЛрдиреА рдкреНрд░рджрд╛рддрд╛ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред
рдФрд░ рд╣рд╛рдВ, рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдореЛрдВ рдореЗрдВ рд╕рдорд╛рдирд╛рд░реНрдердХ рд╢рдмреНрдж рд╣реИрдВ, рдЕрд░реНрдерд╛рддред рдиреЛрдб = рдореЛрдб, рд╕реНрд╡рд┐рдЪ = рдмреЛрд▓реАред
рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рд╕реЗрдЯрдЕрдк
рдирд┐рд╡рд░реНрддрдорд╛рди рдХреЙрд▓ рдирд┐рдореНрди рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ:
freetdm / <span name рдпрд╛ group name> / a / <рдЧрдВрддрд╡реНрдп_рдирдВрдмрд░>
"рдП" рдЕрдХреНрд╖рд░ рдЫреЛрдЯрд╛, рдпрд╛ рд╢рд╛рдпрдж рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ (hehe) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ FreeTDM рд╕реНрдкрд╛рди рдореЗрдВ рдирд┐рд╢реБрд▓реНрдХ рдЪреИрдирд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛ред "рдП" - рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рддрдХ, рдпрд╛рдиреА рдкрд╣рд▓реА рд╕реЗ рдЕрдзрд┐рдХрддрдо, рдФрд░ "рдП" - рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ, рдпрд╛рдиреА рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХрддрдо (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 (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, IVI рдореЗрдиреВ):
<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/FreeTDMрдмрд╣реБрдд рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рднреА рд╣реИ, рдЬреИрд╕реЗ: рд╕реАрдПрд▓рдЖрдИ рдХрдорд╛рдВрдб, рдПрд╕рдЖрдИрдкреА рд╣реЗрдбрд░, рдЪреИрдирд▓ рдЪрд░ рдЖрджрд┐ред