рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ Click2Call



рд╣рдорд╛рд░реЗ рд╕рдВрдЧрдарди рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рд╕рд░реНрд╡рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рднреА, рдореБрдЭреЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбреЗрд╕реНрдХ рдкрд░ рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдЬреЛ рдореБрдЭреЗ рдореЙрдирд┐рдЯрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдбрд╛рдпрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдореИрдХ OS X + Asterisk рдХреЗ рдПрдХ рд╕рдореВрд╣ рдкрд░ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред



рдкрд╛рдардХреЛрдВ рдХреЛ рдЖрдкрддреНрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ: рд╣реЗрдбрд╕реЗрдЯ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдФрд░ SIP рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ:
  1. рд░рд┐рд╕реАрд╡рд░ рдХреЛ рд╣рд╛рде рдореЗрдВ рдкрдХрдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рдлреЛрди рдкрд░ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрджрдд рдЕрднреА рднреА рдордЬрдмреВрдд рд╣реИ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рд╕реНрдкреАрдХрд░рдлреЛрди рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  2. рдПрдХ рд╡рд╛рдпрд░реНрдб рдФрд░ рд╡рд╛рдпрд░рд▓реЗрд╕ рд╣реЗрдбрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдЖрд╡рдзрд┐рдХ рддрдХрдиреАрдХреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд░реВрдЯ рдирд╣реАрдВ рд▓рд┐рдпрд╛;
  3. рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реБрд╡рд┐рдзрд╛ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рдПрд╕рдЖрдИрдкреА-рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдлрд┐рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рд┐рдп рд╕реЗ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧрд▓рд┐рдпрд╛рд░реЗ рдореЗрдВ рдпрд╛ рдХреИрдлреЗ рдХреА рджреАрд╡рд╛рд░ рдХреЗ рдмрд╛рд╣рд░ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмреНрд▓реВрдЯреВрде рд╣реЗрдбрд╕реЗрдЯ рднреА рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛)ред


рд╕рд┐рджреНрдзрд╛рдВрдд


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж Asterisk рд╕рдВрдЧрдд Click2Call рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рддрдХрдиреАрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдорд┐рд▓рд╛ рдФрд░, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЦреБрдж рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдкреНрд░рдпреБрдХреНрдд рдШрдЯрдХ:


рдХреЙрд▓ рджреАрдХреНрд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрди рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ
  1. рд╕реНрдерд╛рдиреАрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдпреВрдЖрд░рдПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ
  2. рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ php, рддрд╛рд░рд╛рдВрдХрди рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреЙрд▓ рдмрдирд╛рддрд╛ рд╣реИ
  3. рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рдореЗрд░реЗ SIP рдирдВрдмрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж, рджреВрд░рд╕реНрде рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдХреЙрд▓ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ


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

рдЕрднреНрдпрд╛рд╕


рд╕рднреА рддреАрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдХреНрд░рдо рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреА рдЬрд╛рдПрдЧреА: рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ, рд╡реЗрдм, рдореИрдХ рдУрдПрд╕ред

1. рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ Asterisk рдХреЛ рд╕реНрдерд╛рдиреАрдп рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ A рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ B. рдХреЗ рдХреЙрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ Asterisk рд╕рд░реНрд╡рд░ рдХреЗ / var / spool / asterisk / рдЖрдЙрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рдЦрдХрд░ рдпрд╛ Asterisk рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреЙрд▓ рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рд╣реЛ рд╕рдХрддреА рд╣реИ
Channel: Local/7777 MaxRetries: 1 RetryTime: 60 WaitTime: 30 Context: default Extension: +79201234567 Priority: 1 


рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддрд╛рд░рд╛рдВрдХрди рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХреЙрд▓ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рддрд░реАрдХреЗ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ - рдлрд╝рд╛рдЗрд▓, рдФрд░ рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдХрд╛рдмрд▓рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SIP рд╕рд░реНрд╡рд░ рдкрд░ рддрд╛рд░рд╛рдВрдХрди рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

manager.conf
 [general] enabled = yes webenabled = yes port = 5038 [asterisk] secret=mysecretpassword deny=0.0.0.0 permit=ABC0 ;    read=system,call,log,verbose,command,agent,user,originate write=system,call,log,verbose,command,agent,user,originate 

рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдореЗрдВ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ 5038 рдкрд░ рдкрд╣реБрдВрдЪ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ред

2. рдкрд╛рдХ рдХрд▓рд╛ рд╡реЗрдм

рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ
 <?php $receiver = str_replace(array(" ","(", ")", "-", "."), "", $receiver); switch (strlen($receiver)) { case 0: exit; break; case 6: $receiver="84722".$receiver; break; case 10: $receiver="8".$receiver; break; } // IP   Asterisk $sys_ip = "1.2.3.4"; //     $User_str = "asterisk"; // ...    $Secret_str = "mysecretpassword"; $our_exten = "Local/$sender"; $WaitTime = "10"; $domain = "127.0.0.1"; //     sip-,    -  SIP/xxx $strCustdata = "Call to ".($name!=""?$name:$receiver)." <$receiver>"; $oSocket = fsockopen ($sys_ip, 5038, $errnum, $errdesc) or die ("Connection to host failed"); sleep (1); fputs ($oSocket, "Action: login\r\n"); fputs ($oSocket, "Username: $User_str\r\n"); fputs ($oSocket, "Secret: $Secret_str\r\n\r\n"); $wrets = fgets ($oSocket,128); echo $wrets; fputs ($oSocket, "Events: off\r\n\r\n"); fputs ($oSocket, "Action: originate\r\n"); fputs ($oSocket, "Channel: $our_exten\r\n"); fputs ($oSocket, "WaitTime: $WaitTime\r\n"); fputs ($oSocket, "CallerId: $strCustdata\r\n"); fputs ($oSocket, "Exten: $receiver\r\n"); fputs ($oSocket, "Context: default\r\n"); fputs ($oSocket, "Async: yes\r\n"); fputs ($oSocket, "Priority: 1\r\n\r\n"); fputs ($oSocket, "Action: Logoff\r\n\r\n"); sleep (2); fclose ($oSocket); ?> 

рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреИрд░рд╛рдореАрдЯрд░, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдЪреИрдирд▓, рдПрдХреНрд╕рдЯреЗрди рдФрд░ рд╕рдВрджрд░реНрдн рд╣реИрдВред

3. рдкрд╛рдХ рдХрд▓рд╛ рдХреЙрд▓ рд╕рд░реНрдЬрдХ

Apple рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдмрдирд╛рдПрдВ рдФрд░ ~ / рд▓рд╛рдЗрдмреНрд░реЗрд░реА / рдПрдбреНрд░реЗрд╕ рдмреБрдХ рдкреНрд▓рдЧ-рдЗрди / рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ
 using terms from application "Contacts" on action property return "phone" end action property on action title for p with e return "Dial from Yealink" end action title on should enable action for p with e if value of e is missing value then return false else return true end if end should enable action on perform action for p with e set theName to name of p set telephone to the value of e tell application "Terminal" set param to "`echo \"<?php echo 'http://webserver/click2call/call.php?sender=7777&receiver='.urlencode('" & telephone & "').'&name='.urlencode('" & theName & "')?>\" | php`" do shell script "/opt/local/bin/wget -q -O - " & param & " >/dev/null 2>&1 & sleep 1" quit saving no end tell end perform action end using terms from 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ URL рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ wget рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЯрд░реНрдорд┐рдирд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ URL рдореЗрдВ UTF8 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдПрдирдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╕рднреА AppleScript рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗред рдпрджрд┐ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рдЯрд░реНрдорд┐рдирд▓.app рдХреЛ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреНрд▓реЛрдЬ рдПрдкреНрд▓реАрдХреЗрд╢рди рдХрдорд╛рдВрдб рдХреЛ рд╣рдЯрд╛рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

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

рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕реЗрд╡рд╛ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рдПрдХ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдСрдЯреЛрдореЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд░рди рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рджрд░реНрдЬ рдХрд░реЗрдВ
 /opt/local/bin/wget -q -O - "http://webserver/click2call/call.php?sender=7777&receiver=$1" > /dev/null 2>&1 

рдЗрдирдкреБрдЯ рдХреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рди рдХрд┐ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдХреЛред


рдкрд░рд┐рдгрд╛рдоред


рд╣рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдПрд╕рдЖрдИрдкреА рдлреЛрди рд╕реЗ рдЙрди рдирдВрдмрд░реЛрдВ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:



рдпрд╛ рдЗрд╕ рддрд░рд╣:



рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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


All Articles