рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!
рдЖрдЦрд┐рд░реА рд╡рд┐рд╖рдп рдореЗрдВ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреНрд░рд╛рдлреНрдЯ рдореЗрдВ), рдореИрдВрдиреЗ рдПрди-рд╡реЗрдВ рдирдВрдмрд░ рдХреЗ рд╕рд┐рдо рдХрд╛рд░реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХреЙрд▓ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдз рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рд╣реИрдмрд░реЛрд╕рд┐рдЯреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред рд╡рд┐рд╖рдп, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╛рдпрд╛, рд╕реБрдзрд╛рд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд▓рд╕ - рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рд╕реАрдорд╛ рд╡рд╛рд▓реА рд╕рд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рджрд┐рдпрд╛ рдЧрдпрд╛: FreeBSD 9, Asterisk 11.4, 2x Addpac GS1002 (рд╕рднреА 4 рд╕рд┐рдо рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рд╕рд┐рдо рдХрд╛рд░реНрдб рдкрд░ 4 рдЯреНрд░рдВрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛: рдХреНрд░рдорд╢рдГ 9001, 9002, 9003, 9004ред рдЙрдирдХреЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рдорд╛рд╣ 300 рдорд┐рдирдЯ рдХреЗ "рдЕрд╕реАрдорд┐рдд" рдХреЗ рд╕рд╛рде рдПрдХ рдзрд╛рд░реАрджрд╛рд░ рдЯреИрд░рд┐рдл рд╣реИред
рдХрд╛рд░реНрдп: рдпрджрд┐ рдХрд┐рд╕реА рд╕рд┐рдо рдХрд╛рд░реНрдб рдкрд░ рдХреЛрдИ рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рднреЗрдЬреЗрдВ (рдпрд╣ рдЯреИрд░рд┐рдл рдХреЗ рд╕рд╛рде рдЬреАрдПрд╕рдПрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╕реНрддрд╛ рд╣реИ)
1. mysql рдореЗрдВ cdr рдмрдЪрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдореБрдЭреЗ
рдореИрдиреБрдЕрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдЖрдкрдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ cdr_mysql.so рдореЙрдбреНрдпреВрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝реВрдВрдЧрд╛ред
2. рд╕рдВрджрд░реНрдн рдХреЛ рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ редconf (рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП app_mysql.so рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рд╕рд┐рдВрдкрд▓ рдореИрд╕рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕)!
рдореИрдХреНрд░реЛ рдореЗрдВ рд╣реА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИред
[macro-gsm] exten => s,1(start),Set(ARG2=$[${ARG2} + 1]) ;, same => n,GotoIf($[${ARG2}>=9005]?sip:repeat) ; 4 , 9005 - same => n(repeat),MYSQL(Connect connid localhost asterisk password asterisk) ; same => n,MYSQL(Query resultid ${connid} SELECT SUM(`billsec`) FROM `cdr` WHERE `dstchannel` LIKE '%${ARG2}%' AND `calldate` BETWEEN DATE_FORMAT(NOW(),'%Y-%m-01') AND LAST_DAY(NOW()) + INTERVAL 1 DAY) ; . - same => n,MYSQL(Fetch fetchid ${resultid} duration) ; duration same => n,MYSQL(Clear ${resultid}) ; same => n,MYSQL(Disconnect ${connid}) same => n,GotoIf($[${duration}<=18000]?call:start) ; 300 , , - , same => n(call),Set(limit=$[18000 - ${duration}]) ; , same => n,Dial(SIP/${ARG2}/${ARG1},,S(${limit})tTr) ; same => n,GotoIf($[${DIALSTATUS}=ANSWER]?finish:start) ; - , - same => n(sip),Dial(SIP/ctm/${ARG1},,Ttr) ; same => n(finish),Hangup ; exten => h,1,MYSQL(Clear ${resultid}) ; , . same => n,MYSQL(Disconnect ${connid})
рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЙрд▓ рдЙрджрд╛рд╣рд░рдг: exten => _79XXXXXXXXX, 1, рдореИрдХреНрд░реЛ (рдЬреАрдПрд╕рдПрдо, $ {EXTEN}, 9000)
9000: рдЯреНрд░рдВрдХ рд╕рдВрдЦреНрдпрд╛ - 1
рдореИрдХреНрд░реЛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯ рдиреБрдХрд╕рд╛рди рдПрдХ
рдЕрдкрдирд╛рдиреЗ рдпреЛрдЧреНрдп рдХреНрд╡реЗрд░реА рд╣реИ, рдЯреНрд░рдВрдХ рдирд╛рдо рдХреЗрд╡рд▓ рдбрд┐рдЬрд┐рдЯрд▓ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВред рдкреНрд▓рд╕ - рдпрд╣ рдкреНрд░рднрд╛рд╡реА рд╣реИ)
рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд▓рд┐рдП
pfactum ,
PyroRed рдФрд░
Malamut рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред
UPD: рдореИрдХреНрд░реЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛,
рд╡реНрд╣рд╛рдЗрдЯрдб рдФрд░
рд░реИрдЧрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж