рддрд╛рд░рд╛рдВрдХрдиред рд╕рдЪрд┐рд╡ / рдбрд┐рд╕реНрдкреИрдЪрд░ / рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдЙрддрд╛рд░рдирд╛ред рд╕рдорд░реНрдерди

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рддрд╛рд░рд╛рдВрдХрди рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛, рдЬрд┐рд╕рдХреА рд╢реБрд░реБрдЖрдд рдореИрдВрдиреЗ рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреА рдереАред

рдореИрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ (рдФрд░ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдФрд░ рдЧреИрд░-рддреБрдЪреНрдЫрддрд╛ рдХрд╛ рд░рд╣рд╕реНрдп рдЙрдард╛ рд╕рдХрддрд╛ рд╣реВрдВ), рдпрд╛ рдмрд╕ рджрд┐рд▓рдЪрд╕реНрдк, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдбрд╛рдпрд▓рдкреНрд▓реЗрдиред

рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдореЙрдбреНрдпреВрд▓, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИ, рд╡рд┐рдХреА рдореЗрдВ рдФрд░ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдкрд░ рдкреБрд╕реНрддрдХреЛрдВ рдореЗрдВ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред рдореИрдВ рддреБрд░рдВрдд рдпрд╣ рднреА рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдлреНрд░реАрдкреАрдмреАрдПрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдирдВрдЧреЗ рддрд╛рд░рд╛рдВрдХрди рдкрд░ рдпрд╣ рд╕рдм рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЧрд▓рдд, рдЕрддрд╛рд░реНрдХрд┐рдХ рдФрд░ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рдорд╛рдирддрд╛ рд╣реВрдВред

рдореИрдВ рд╕рдВрдЧрдардиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ - рд╕рдЪрд┐рд╡ рдХреЛ рдЙрддрд╛рд░рдирд╛ред рдХреЙрд▓ рд╕реЗрдВрдЯрд░ рдФрд░ рдЯреИрдХреНрд╕реА рдбрд┐рд╕реНрдкреИрдЪрд░ (рдереЛрдбрд╝реЗ рдмрджрд▓реЗ рд╣реБрдП рдбрд╛рдпрд▓рдкреНрд▓рд╛рди) рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдкрд░рд┐рджреГрд╢реНрдп:
- рд╕рдЪрд┐рд╡ рдХреЛ рдмреБрд▓рд╛рдУред
- рд╕рдЪрд┐рд╡ рдиреЗ рдлреЛрди рдЙрдард╛рдпрд╛ - рдмрд┐рдХреНрд░реА рд╡рд┐рднрд╛рдЧ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред
-рд╕рдЪрд┐рд╡ рдХреЙрд▓ рдХреЛ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
-рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИред
-рдЬрдм 24 рдШрдВрдЯреЗ рдХреЗ рднреАрддрд░ рджреЛрдмрд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рддреБрд░рдВрдд рдЙрд╕ рдореИрдиреЗрдЬрд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ред

рдпрд╣ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдореИрдВ рдХреИрдЯ рдХреЗ рддрд╣рдд рдкреВрдЫрддрд╛ рд╣реВрдВред

рд╡рд┐рд╖рдпрд╛рдВрддрд░:
рдкреНрд░рд╢реНрди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреНрдпреЛрдВ? рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ:
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЪрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлреЛрди рдирдВрдмрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдпрд╣ рднреВрд▓ рдпрд╛ рдЦреЛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рдмрдВрдзрдХ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рднреВрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЙрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рд╣реЛрдЧрд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕реАрдзреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдЪрд┐рд╡ рдХреЗ рдкрд╛рд╕ рдХрдИ рдХрд░реНрддрд╡реНрдп рднреА рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЯреЗрд▓реАрдлреЛрди рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рд▓рд╛рднрд╣реАрди рд╣реЛрддрд╛ рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рднреА, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓рд┐рдП рдЯреЗрд▓реАрдлрд╝реЛрди рдирдВрдмрд░ рдХреЗ 6-10 рдЕрдВрдХреЛрдВ рдХреЛ 13-15 рдХреЗ рдмрдЬрд╛рдп рдпрд╛рдж рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп:
- рдПрдХ рд╣реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдХреЗ рднреАрддрд░ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рдЪрд┐рд╡ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ред
- рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдореИрдиреЗрдЬрд░ рд╕реЗ рдмрд╛рдВрдзреЗрдВ

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрд░реНрдХ:
рдкреНрд░рдмрдВрдзрдХ рджреНрд╡рд╛рд░рд╛ рдлреЛрди рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, Asterisk рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирдВрдмрд░ "рдпрд╛рдж рд░рдЦрддрд╛ рд╣реИ" рдФрд░ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░, рдЕрдЧрд▓реЗ 24 рдШрдВрдЯреЛрдВ рдХреЗ рднреАрддрд░ рдЙрд╕ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ред

рдмреЛрдзред

рддрд╛рд░рд╛рдВрдХрди рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЙрд╕ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЙрд╕реЗ рдмреБрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЙрд╕ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рднреА рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдиреЗ рдлреЛрди рдЙрдард╛рдпрд╛ рдерд╛ред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рдПрдЧреА рдФрд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдПрдХ рддрд╛рд░рд╛рдВрдХрди рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред

рд╣рдо рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рдпрд╛ рдПрдХ рдореМрдЬреВрджрд╛ рдПрдХ рдореЗрдВ рдПрдХ рдореЗрдЬ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ mysql рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛)ред

рдмрдирд╛рдИ рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 4 рдлрд╝реАрд▓реНрдб рд╣реИрдВ:
рдЖрдИрдбреА рдЕрджреНрд╡рд┐рддреАрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓реНрдп
рдирдВрдмрд░ рдЧреНрд░рд╛рд╣рдХ рд╕рдВрдЦреНрдпрд╛
UTC рдореЗрдВ рджрд┐рдирд╛рдВрдХ
рдПрдЬреЗрдВрдЯ рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛

рдореИрдВрдиреЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓ 4 рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдП рд╣реИрдВ:

GET_DATA рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рдХрд╛ рдЕрд░реНрде рд╣реИ: рд╣рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЙрд╕рдХреЗ рдирдВрдмрд░ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ
SELECT agent, date, number FROM dbname.clients WHERE number= .

SET_DATA рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦреЗрдВ
INSERT INTO dbname.clients (number,date,agent) VALUES (' ',' UTC',' ')

UPDATE_TIME рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд╛ рд╕рдордп
UPDATE dbname.clients SET date= WHERE number=

DELETE_DATA рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдПрдВ
DELETE FROM dbname.clients WHERE number= AND date= UTC

рдЕрдм, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЯреВрд▓ рдбрд╛рдпрд▓рдкреИрди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдЬреЛ рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред

рдПрдХ рдХрджрдо - рдЧреНрд░рд╛рд╣рдХ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ:
рд╕рднреА рдЖрд╡рдХ рдХреЙрд▓ рд╢реБрд░реВ рдореЗрдВ рд╕рдЪрд┐рд╡ (рдмрд╛рд╣рд░реА рд╕реЗ рд╕рдВрджрд░реНрдн) рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЧреНрд░рд╛рд╣рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ - рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╕реЗ рдорд┐рд▓рд╛ рд╣реБрдЖ рд╣реИ?
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рд╣рдо GET_DATA рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдЬреЗрдВрдЯ рдирдВрдмрд░, рджрд┐рдирд╛рдВрдХ рдФрд░ рдХреЙрд▓рд░ рдирдВрдмрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ

[from-external]
exten=>_X.,1,Set(ARRAY(AGENT,DATE,NUMBER)=${ODBC_GET_DATA(${CALLERID(num)})")


рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдРрд╕реА рдХреЛрдИ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЪрд░ рд╕рдВрдЦреНрдпрд╛ рдЦрд╛рд▓реА рд░рд╣реЗрдЧреА - рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рддреБрд▓рдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдбрд╛рдпрд▓рди рдЖрдЧреЗ рдЬрд╛рдПрдЧрд╛:

exten=>_X.,n,GotoIf($[${NUMBER}!=""]?comparedate:dialexten)

рдпрджрд┐ рдЪрд░ рд╕рдВрдЦреНрдпрд╛ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдХреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЕрдЧрд▓рд╛ рдЪрд░рдг рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рд╣рдореЗрдВ рдХрд┐рддрдиреЗ рд╕рдордп рддрдХ рдмреБрд▓рд╛рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреА рддрд┐рдерд┐ рд╡рд░реНрддрдорд╛рди рдХреА рддрд╛рд░реАрдЦ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рддреБрд▓рдирд╛рддреНрдордХ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рддреЗ рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рддрд┐рдерд┐ рд╕реЗ рдШрдЯрд╛рдХрд░ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рджрд┐рдирд╛рдВрдХ рдЪрд░ рдХрд╛ рдорд╛рди рдФрд░ рдпрд╣ рд╕рдм DATERESULT рдЪрд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ:

exten=>_X.,n(comparedate),Set(DATERESULT=${MATH(${EPOCH}-${DATE},i)})

рдлрд┐рд░ рд╣рдо рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдореИрдЬрд┐рдХ рдирдВрдмрд░ 86400 рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ рдЗрд╕ рдирдВрдмрд░ рдХреЗ рд░рд╣рд╕реНрдп рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ рд╡реЗ рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдЬреЛ рд▓реЛрдЧ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рд╡реЗ рдпреВрдирд┐рдХреНрд╕ рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк рдХреНрдпрд╛ рд╣реИ рдЗрд╕ рдкрд░ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдЕрдкрдиреЗ рдХреНрд╖рд┐рддрд┐рдЬ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЧрдгрд┐рдд рдХреЛ рдпрд╛рдж рдХрд░реЗрдВрдЧреЗ), рдФрд░ рдХрд┐рд╕ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рдбрд╛рдпрд▓рд╛рдЧреЗрдВрдЯ рд╢рд╛рдЦрд╛рдУрдВ рд╕реЗ рджреВрд░ рд╣реЛ рдЧрдП рдФрд░ рд╡рд┐рд▓реЛрдкрдиред рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдЙрджреНрдзрд░рдг рдХреЗ рдмрд┐рдирд╛ рдФрд░ "<" рд╕рдВрдХреЗрдд рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ GotoIf рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛:

exten=>_X.,n,GotoIf($[${DATERESULT} < 86400]?dialagent:deleteagent)

рдбрд╛рдпрд▓реИрдЧреЗрдВрдЯ рд▓реЗрдмрд▓ рдЙрд╕ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд▓рдЧреНрди рд╣реИред рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рдордп рдХреЗ рдореВрд▓реНрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╣рдпреЛрдЧ рдЬрд╛рд░реА рд╣реИ:

exten=>_X.,n(dialagent),Dial(SIP/${AGENT},,Ttg)

exten=>_X.,n,Set(ODBC_UPDATE_TIME()=${EPOCH},${NUMBER})

exten=>_X.,n,Hangup()


рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓реЗрдмрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдЪрд┐рд╡ рдХреЗ рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЛ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдХрдВрдкрдиреА рдХреЛ 24 рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рд╣реИред

exten=>_X.,n(deleteagent),Set(ODBC_DELETE_DATA()=${NUMBER},${DATE})
exten=>_X.,n(dialexten),Dial(SIP/${EXTEN},,Ttg)


рдиреЛрдЯ:
рдореИрдВрдиреЗ рддрд╛рд░рд╛рдВрдХрд┐рдд рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рдордп рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдпрд╣ рдПрдХ рдмреИрд╕рд╛рдЦреА рд╣реИ рдФрд░ рдХреНрд░реЛрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╣реА php рдкрд░ рджрд┐рди рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдирд╛ рдФрд░ рд╕рдорд╛рдкреНрдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛ред

рдХреЙрд▓рд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрддрд╛рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╕рдордп рдмреНрд▓рд╛рдЗрдВрдбрдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддрд╛рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдХреЙрд▓рд░реА рдореИрдиреЗрдЬрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛред рдпрджрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рдЪрд┐рд╡ рдХреЛ рдХреЙрд▓рд░рд┐рдб рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирдВрдмрд░, рдФрд░ рд╕рдЪрд┐рд╡ рдирд╣реАрдВ, рд╕рдВрдЦреНрдпрд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣реЛред рдпрд╣ рдкрд╣рд▓рд╛ рдирд┐рд░реНрдгрдп рд╣реИ рдЬреЛ рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдЖ рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЬрдм рдмреНрд▓рд╛рдЗрдВрдбрдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрддрд╛рд░ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ 1 рдкрд▓ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛:
рд╣рдореЗрдВ рдлреЛрди рдЙрдард╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдмрдВрдзрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣рд╛рдБ рдореИрдВ рдирд┐рдпрдо рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдБрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрддрд╛рд░ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдпрд╣ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореВрд▓реНрдп setinterfacevar = рд╣рд╛рдБ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧ рдЖрдкрдХреЛ рдЙрди рд╕рджрд╕реНрдп рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рдорд╛рди рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдлреЛрди рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдХрддрд╛рд░ рд╕рджрд╕реНрдп рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк 2 рддрд░реАрдХреЛрдВ рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

1. рдПрдХ рдХрддрд╛рд░ рдХреЙрд▓ рдореЗрдВ рдПрдХ рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

exten=>500,1,Queue(Queue1,t,,,,,queue-answer)

[macro-queue-answer]

exten => s,1,Set(AGENT=${CUT(MEMBERINTERFACE,/,2)})


2. рд╣реИрдВрдЧрдЕрдк рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

exten=>500,1,Queue(Queue1,t)

exten => h,1,Set(AGENT=${CUT(MEMBERINTERFACE,/,2)})


рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕рдХрд╛ рдХреЙрд▓рд░реАрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рдзрд┐ 2 CALLERID рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдореИрдХреНрд░реЛ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреНрдпреВ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдореИрдХреНрд░реЛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рдореИрдВ рдЗрд╕реЗ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рдзрд┐ рдзреЛрдЦрд╛рдзрдбрд╝реА рдереА рдФрд░ рд╢рд╛рдкрд┐рдд рдереА, рдФрд░ рдореИрдВ рд╡рд┐рдзрд┐ 1 рдкрд░ рдмрд╕ рдЧрдпрд╛ред

рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рднреА рд╣реИ - рдЕрдЧрд░ рдореИрдВ рдмрд╛рд╣рд░реА рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИрдВрдЧрдЕрдк рдШрдЯрдирд╛ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реВрдВ, рддреЛ рдХрд┐рд╕реА рднреА рд╣реИрдВрдЧрдЕрдк (рдкреНрд░рдмрдВрдзрдХ рдпрд╛ рд╕рдЪрд┐рд╡ рд╣реЛ) рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдХреЙрд▓ рдХреЛ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрддрд╛рд░ рд╕реНрд╡рдпрдВ рдПрдХ рдирдП рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ:

exten=>500,1,Answer()

exten=>500,n,Goto(queue-answering,s,1)

[queue-answering]

exten=>s,1,Queue(Queue1,t)

exten => h,1,Set(AGENT=${CUT(MEMBERINTERFACE,/,2)})


рдкреНрд░рдмрдВрдзрдХ рдХреА рдкрдардиреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ:

exten => h,n,Set(ODBC_SET_DATA()="${CALLERID(num)}","${EPOCH}","${AGENT}")

рдЗрд╕ рдбрд╛рдпрд▓рди рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЖрдИрд╡реАрдЖрд░ рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдХреЙрд▓ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдФрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдХреЗ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдЖрдк рдлреЛрди рдЙрдард╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдШреЛрд╖рдгрд╛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡рд╣ рдЬрд╛рди рд╕рдХреЗ рдХрд┐ рдпрд╣ рдПрдХ рдирдП рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдХреЙрд▓ рд╣реИ, рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╕реЗред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдПрдХ рдЖрдзрд╛рд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдк рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд╕реНрддреА рдкреНрд░рджрд░реНрд╢рди рддрд╛рд░рд╛рдВрдХрди рд╕рдорд╛рдзрд╛рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдЬреАрдЖрдИ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛) рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреИрдХреНрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рдФрд░ рдХреБрдЫ рдХреЙрд▓ рд╕реЗрдВрдЯрд░ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In204048/


All Articles