{"id":253506,"date":"2015-03-21T09:00:02","date_gmt":"2015-03-21T05:00:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=253506"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=253506","title":{"rendered":"\u041f\u0438\u0448\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 Asterisk AMI \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f: \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \u043d\u0430 PHP \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0435 \u0438\u043b\u0438 \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 php socket \u043a\u043b\u0438\u0435\u043d\u0442 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438"},"content":{"rendered":"<br \/>\n<h2>\u0412\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u044f<\/h2>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e!<\/p>\n<p>  \u041c\u043e\u044f <a href=\"http:\/\/habrahabr.ru\/post\/253351\/\">\u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a> \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u0442\u043e \u043f\u0435\u0440\u0435\u0448\u043b\u0430 \u0438\u0437 \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0443 \u0438 \u043c\u043e\u0434\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0440\u0430\u0437\u0443 \u0434\u0430\u043b \u043c\u043d\u0435 \u043f\u043e\u043b\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435.<\/p>\n<p>  \u042f \u0445\u043e\u0447\u0443 \u043d\u0430\u0447\u0430\u0442\u044c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 API \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0441 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u043e\u043c \u0447\u0435\u0440\u0435\u0437 AMI. \u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f, \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0438 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043f\u044b\u0442, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043c\u0435\u043d\u044f \u0438 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0430\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 php API \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 AMI \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0430 \u0432\u0435\u043b\u043a\u043e\u043c \u043a \u0434\u0438\u0430\u043b\u043e\u0433\u0443.<\/p>\n<p>  \u0417\u0430\u0434\u0430\u0447\u0430 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0417\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u044f\u0447\u0443\u0442 \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0434\u043b\u044f Asterisk. \u0425\u043e\u0442\u044f \u043c\u043e\u0439 \u043e\u043f\u044b\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0437\u0434\u0435\u0441\u044c \u0438\u0437\u043b\u043e\u0436\u0443 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u00ab\u043a\u043e\u0434\u0434\u0435\u0440\u043e\u0432\u00bb \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u043f\u043e\u0442\u0435\u0448\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u00ab\u044d\u0433\u043e\u00bb, \u043d\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043d\u0435 \u0434\u0430\u0441\u0442 (\u043f\u0440\u0430\u0432\u0434\u0430 \u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u0438\u0440\u0442\u0443\u043e\u0437 \u044f\u0437\u044b\u043a\u0430 javascript \u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439 \u043d\u0438\u0431\u0443\u0434\u044c \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u044b\u0439 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c \u0431\u0443\u0440\u0436\u0443\u0439\u0441\u043a\u043e\u0439 \u0432\u0435\u0431-\u043c\u043e\u0440\u0434\u044b \u0434\u043b\u044f \u0430\u0441\u0442\u0435\u0440\u0430).<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a AMI \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0438 \u043f\u0440\u043e\u0449\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0438\u0434\u0442\u0438 \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u043c\u0443.<\/p>\n<p>  <b>\u0414\u043b\u044f \u043e\u0441\u043e\u0431\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 (\u0440\u0430\u0431\u043e\u0447\u0438\u0439) \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c<\/b>. \u0421 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041a\u043b\u0430\u0441\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>\u041c\u0430\u0442\u0447\u0430\u0441\u0442\u044c<\/h2>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u043a\u0435\u0442\u0430 \u043d\u0430 fsockopen.<\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043d\u0430\u0447\u0430\u0442\u044c \u043a\u043e\u0434\u0434\u0438\u043d\u0433 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043b\u0438\u043a\u0431\u0435\u0437.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 php \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0432 \u043a\u043e\u0434\u0435<\/b><\/p>\n<div class=\"spoiler_text\">.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">__destruct<\/b><\/p>\n<div class=\"spoiler_text\">\u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u043f\u0440\u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 (\u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430) \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c.<\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: function __destruct()     {        echo &quot;\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b&quot;;        \/\/ \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c.     } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">count<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: var $a = array (&quot;a&quot;,&quot;b&quot;,&quot;c&quot;); echo count($a); \/\/ count \u0432\u0435\u0440\u043d\u0435\u0442 3 (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432) <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">die<\/b><\/p>\n<div class=\"spoiler_text\">\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0435 \u0438 \u0432\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438. \u041e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u0442\u0435\u043b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: die (&quot;\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430&quot;); \/\/ \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043f\u0435\u0440\u0448\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438: &quot;\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">explode<\/b><\/p>\n<div class=\"spoiler_text\">\u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0430\u0440\u043a\u0435\u0440.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: $a = explode(&quot; &quot;,&quot;\u041c\u0430\u0448\u0430 \u043b\u044e\u0431\u0438\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0435\u0437\u0434\u043d\u0438\u0446\u0435\u0439&quot;); \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: $a[0]=&quot;\u041c\u0430\u0448\u0430&quot;, $a[1]=&quot;\u043b\u044e\u0431\u0438\u0442&quot;, $a[2]=&quot;\u0431\u044b\u0442\u044c&quot;, $a[3]=&quot;\u043d\u0430\u0435\u0437\u0434\u043d\u0438\u0446\u0435\u0439&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">fclose<\/b><\/p>\n<div class=\"spoiler_text\">\u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c\/\u0441\u043e\u043a\u0435\u0442\u043e\u043c.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: fclose($a); \/\/ \u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c\/\u0441\u043e\u043a\u0435\u0442\u043e\u043c \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c \u0441 $a \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u043c <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">fread<\/b><\/p>\n<div class=\"spoiler_text\">\u0427\u0438\u0442\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430\/\u0441\u043e\u043a\u0435\u0442\u0430.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: $b = fread($a,100); \/\/ \u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442 100 \u0431\u0430\u0439\u0442\u043e\u0432 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430\/\u0441\u043e\u043a\u0435\u0442\u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 $a \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u043c <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">fsockopen<\/b><\/p>\n<div class=\"spoiler_text\">\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u043e\u043a\u0435\u0442\u043e\u043c.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: $m= fsockopen(host, port,$a,$b,2); \/\/ $m \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440(\u0441\u0441\u044b\u043b\u043a\u0443) \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0441\u043e\u043a\u0435\u0442 \u0438\u043b\u0438 false \u0435\u0441\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c. <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">function<\/b><\/p>\n<div class=\"spoiler_text\">\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 php.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: function example() { echo &quot;function&quot;; } \/\/ \u041e\u0431\u044a\u044f\u0432\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e example <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">fwrite<\/b><\/p>\n<div class=\"spoiler_text\">\u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b\/\u0441\u043e\u043a\u0435\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u043e-\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: fwrite($a, &quot;\u0421\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438&quot;); \/\/ \u0417\u0430\u043f\u0438\u0448\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b\/\u0441\u043e\u043a\u0435\u0442 \u0441 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u043c $a \u0441\u0442\u0440\u043e\u043a\u0443 &quot;\u0421\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438&quot; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">public<\/b><\/p>\n<div class=\"spoiler_text\">\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442, \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438. \u041a\u043e \u0432\u0441\u0435\u043c\u0443, \u0447\u0442\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u0441\u043b\u043e\u0432\u043e\u043c public, \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: class TempClass {     public $a = '\u0417\u0434\u0435\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0430 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432\u043d\u0435 \u043a\u043b\u0430\u0441\u0441\u0430'; } $b = new TempClass(); echo $b-&gt;a; \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 '\u0417\u0434\u0435\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0430 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432\u043d\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">rand<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u044b\u0434\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u044b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: echo rand(100,999); \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043c\u0435\u0436\u0434\u0443 100 \u0438 999 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">return<\/b><\/p>\n<div class=\"spoiler_text\">\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0445\u043e\u0434 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 return \u0441\u0442\u043e\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\/\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f\/\u043b\u044e\u0431\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: function ad () { return 5; } echo ad(); \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442 5 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">set_time_limit<\/b><\/p>\n<div class=\"spoiler_text\">\u0417\u0430\u0434\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445. \u0415\u0441\u043b\u0438 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0447\u0438\u0441\u043b\u043e 0, \u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432\u0435\u0447\u043d\u043e, \u043f\u043e\u043a\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442 \u0441\u0432\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: set_time_limit (10); echo ad(); \/\/ \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u0443\u0434\u0435\u0442 5 \u0441\u0435\u043a\u0443\u043d\u0434. <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">sleep<\/b><\/p>\n<div class=\"spoiler_text\">\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: sleep (10); echo &quot;\u041d\u0435 \u0431\u043e\u0439\u0441\u044f, \u0443 \u0442\u0435\u0431\u044f \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f&quot;; \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 &quot;\u041d\u0435 \u0431\u043e\u0439\u0441\u044f, \u0443 \u0442\u0435\u0431\u044f \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f&quot; \u043d\u0430 10 \u0441\u0435\u043a\u0443\u043d\u0434. <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">socket_get_status<\/b><\/p>\n<div class=\"spoiler_text\">\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u043e\u043a\u0435\u0442\u0430  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: socket_get_status ($a); \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u043c \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435(\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430) \u0441\u043e\u043a\u0435\u0442\u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u043c $a. <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">stream_set_timeout<\/b><\/p>\n<div class=\"spoiler_text\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430 \u0434\u043b\u044f \u0441\u043e\u043a\u0435\u0442\u0430  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: stream_set_timeout ($a,0,1000); \/\/ \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u044b \u0443 \u0441\u043e\u043a\u0435\u0442\u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u043c $a. <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">trim<\/b><\/p>\n<div class=\"spoiler_text\">\u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: echo trim (&quot;      \u041c\u0430\u0448\u0430 \u043b\u044e\u0431\u0438\u0442      \u043d\u0430 \u0421\u0430\u0448\u0435             &quot;); \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 &quot;\u041c\u0430\u0448\u0430 \u043b\u044e\u0431\u0438\u0442      \u043d\u0430 \u0421\u0430\u0448\u0435&quot;; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">var_dump<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u044b\u0434\u0430\u0435\u0442 \u0432\u0441\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: var_dump(5); \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442 int(5); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">-&gt;<\/b><\/p>\n<div class=\"spoiler_text\">\u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430  <\/p>\n<pre><code class=\"php\">\u041f\u0440\u0438\u043c\u0435\u0440: class TempClass {     public $a = '\u041c\u0430\u0448\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u043c\u0435\u043d\u0442 \u0421\u0430\u0448\u0438'; } $b = new TempClass(); echo $b-&gt;a; \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 '\u041c\u0430\u0448\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u043c\u0435\u043d\u0442 \u0421\u0430\u0448\u0438' <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<pre><code class=\"php\">* \u041f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043b\u0438\u0447\u043d\u043e \u043c\u043d\u043e\u0439, \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u043b\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c\u0438, \u0438 \u0441\u043b\u0443\u0436\u0430\u0442 \u043b\u0438\u0448\u044c \u0434\u043b\u044f \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \u0415\u0441\u043b\u0438 \u0412\u0430\u0441 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043c\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u044c\u0431\u0430 \u043e\u0442\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0445. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0412\u0430\u0448\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u044f\u0441\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432,\u0442\u043e \u044f \u0432\u043d\u0435\u0441\u0443 \u0432 \u0441\u0442\u0430\u0442\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0441 \u0412\u0430\u0448\u0438\u043c \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c. <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f Asterisk AMI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f WinSCP<\/b><\/p>\n<div class=\"spoiler_text\">1. \u041a\u0430\u0447\u0430\u0435\u043c \u0441 <a href=\"http:\/\/winscp.net\/eng\/download.php\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 WinSCP<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/71a\/a99\/9a1\/71aa999a1ec041daa00645460ef11207.PNG\"\/><\/p>\n<p>  2. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0438 \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044f \u043f\u043e\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043a\u0440\u0430\u0441\u043d\u044b\u043c \u043c\u0430\u0440\u043a\u0435\u0440\u043e\u043c.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/f3f\/ef6\/3bd\/f3fef63bd9b744159b1581ba8fe26c8b.PNG\"\/><\/p>\n<p>  \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u00ab\u0434\u0430\u00bb \u043d\u0430 \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<p>  3. \u0414\u0430\u043b\u0435\u0435 \u0438\u0449\u0435\u043c \u0444\u0430\u0439\u043b manager.conf. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443 \u0444\u0430\u0439\u043b\u0430 \/etc\/asterisk\/.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b29\/e7d\/861\/b29e7d86102a422f9a6f353d9e1a90dd.PNG\"\/><\/p>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0434\u0432\u043e\u0439\u043d\u044b\u043c \u0449\u0435\u043b\u0447\u043a\u043e\u043c \u043c\u044b\u0448\u043a\u0438.<\/p>\n<p>  4. \u0412\u043d\u0443\u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0441\u0435\u043a\u0446\u0438\u044e [admin]<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/0a5\/f93\/bf4\/0a5f93bf42714a4e8447034e176e750f.PNG\"\/><\/p>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 \u0412\u0430\u0448\u0435\u0433\u043e \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a AMI. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e admin \u0438 amp11  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 SSH \u0442\u0443\u043d\u0435\u043b\u044c \u043a Asterisk AMI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f putty<\/b><\/p>\n<div class=\"spoiler_text\">1. <a href=\"http:\/\/www.putty.org\/\">\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c putty \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/eea\/f98\/1b9\/eeaf981b9e844beeb85e82ecde0f3fd3.PNG\"\/><\/p>\n<p>  2. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c putty. \u0412\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043a\u0440\u0430\u0441\u043d\u044b\u043c \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u043c. \u0412 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043a\u0440\u0430\u0441\u043d\u044b\u043c \u0441 \u043d\u0430\u0434\u043f\u0438\u0441\u044c\u044e 1, \u043f\u0438\u0448\u0435\u043c IP \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Asterisk. SSH \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c putty. Never \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442 putty \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0437\u0440\u044b\u0432\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/a97\/f82\/dd7\/a97f82dd7da64376ad06d1c62c9c7567.PNG\"\/><\/p>\n<p>  3. \u041d\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f(\u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u0440\u0443\u0442) \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enter.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/2e5\/e28\/bfd\/2e5e28bfdc5b4728834138e9659fb67a.PNG\"\/><\/p>\n<p>  4. \u0412\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enter.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/a8e\/9ea\/32e\/a8e9ea32e6d0428c8385d5c0b6e0f374.PNG\"\/><\/p>\n<p>  5. \u0415\u0441\u043b\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u044d\u043a\u0440\u0430\u043d.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/089\/d64\/e94\/089d64e946594e41ba29a82724e9c8f0.PNG\"\/><\/p>\n<p>  6. \u0412\u0432\u043e\u0434\u0438\u043c: telnet 127.0.0.1 5038 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0430: Asterisk Call Manager<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/fc7\/ce0\/1a0\/fc7ce01a059c4aa1996450451d5c311d.PNG\"\/><\/p>\n<p>  7. \u0412\u0432\u043e\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<br \/>  Action: Login \/\/ \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enter<br \/>  Username: \u0418\u043c\u044f_\u043a\u043e\u0442\u043e\u0440\u043e\u0435_\u043c\u044b_\u043d\u0430\u0448\u043b\u0438_\u0447\u0435\u0440\u0435\u0437_WinSCP \/\/ \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enter<br \/>  Secret: \u041f\u0430\u0440\u043e\u043b\u044c_\u043a\u043e\u0442\u043e\u0440\u044b\u0439_\u043c\u044b_\u043d\u0430\u0448\u043b\u0438_\u0447\u0435\u0440\u0435\u0437_WinSCP \/\/ \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c 2 \u0440\u0430\u0437\u0430 Enter<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/997\/5ac\/bc9\/9975acbc996143d79294247b13b29bd5.PNG\"\/><\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0430: Message: Authentication accepted<\/p>\n<p>  8. \u0412\u0432\u043e\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<br \/>  Action: Logoff \/\/ \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c 2 \u0440\u0430\u0437\u0430 Enter<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/5e4\/317\/82d\/5e431782dc2b4ccaa95f5120c54ccead.PNG\"\/><\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<br \/>  Response: Goodbye<br \/>  Message: Thanks for all the fish.<\/p>\n<p>  * \u0412\u043e\u0442 \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 putty \u043f\u043e SSH \u043a AMI \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0430  <\/div>\n<\/div>\n<h2>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u043a\u043b\u0430\u0441\u0441\u0430<\/h2>\n<p>  \u0421\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u0430\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0441.  <\/p>\n<table border=\"1\">\n<tr>\n<th><nobr>\u0417\u0430\u0434\u0430\u0447\u0430.<\/nobr><\/th>\n<th><nobr>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c.<\/nobr><\/th>\n<th><nobr>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043a\u043b\u0430\u0441\u0441\u0430.<\/nobr><\/th>\n<\/tr>\n<tr>\n<td>\u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430.<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 __construct();<br \/>  \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 $this-&gt;ini \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u0430.<\/td>\n<\/tr>\n<tr>\n<td>\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430.<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 __destruct();<\/td>\n<\/tr>\n<tr>\n<td>\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u043e\u043a\u0435\u0442\u043e\u043c.<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0424\u0443\u043d\u043a\u0446\u0438\u044f connect();<\/td>\n<\/tr>\n<tr>\n<td>\u0420\u0430\u0437\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u043e\u043a\u0435\u0442\u043e\u043c<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0424\u0443\u043d\u043a\u0446\u0438\u044f disconnect();  <\/td>\n<\/tr>\n<tr>\n<td>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0432 AsterIsk AMI.<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0424\u0443\u043d\u043a\u0446\u0438\u044f init();<\/td>\n<\/tr>\n<tr>\n<td>\u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u0441\u043e\u043a\u0435\u0442.<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0424\u0443\u043d\u043a\u0446\u0438\u044f write();<\/td>\n<\/tr>\n<tr>\n<td>\u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0441\u043e\u043a\u0435\u0442\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e.<\/td>\n<td>\u041d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0424\u0443\u043d\u043a\u0446\u0438\u044f read_syn();<\/td>\n<\/tr>\n<tr>\n<td>\u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0441\u043e\u043a\u0435\u0442\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e.<\/td>\n<td>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td>\n<td>\u0424\u0443\u043d\u043a\u0446\u0438\u044f read();<\/td>\n<\/tr>\n<\/table>\n<p>  \u042d\u0442\u043e \u0433\u0440\u0443\u0431\u043e\u0435 \u0422\u0417 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0447\u0435\u0440\u0435\u0437 PHP \u0441 Asterisk AMI.<\/p>\n<h2>\u041a\u043e\u0434\u0434\u0438\u043d\u0433<\/h2>\n<p>  <\/p>\n<h3>\u0420\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u0434\u043b\u044f \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u044f\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0435\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u0438.<\/h3>\n<p>  \u041f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442:  <\/p>\n<ul>\n<li>$i, $ii,$iii,$iiii \u2014 \u0432\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 $i \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0446\u0438\u043a\u043b\u0430 for <\/li>\n<li>$s, $ss, $sss, $ssss \u2014 \u0432\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 $s \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 <\/li>\n<li>$m, $mm, $mmm, $mmmm \u2014 \u0432\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 $m \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438<\/li>\n<li>\u041a\u0430\u0436\u0434\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430 \u043e\u0442\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043e\u0442 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u0430. <\/li>\n<li>\u041a\u0430\u0436\u0434\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0449\u0435\u0439\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 unset \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0434\u0435\u043c\u043e\u043d\u044b \u043d\u0430 PHP \u043d\u0435 \u043a\u0443\u0448\u0430\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u044c.<\/li>\n<\/ul>\n<h3>__construct(),__destruct() \u0438 $this-&gt;ini<\/h3>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435. \u0412\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 $this-&gt;ini.<\/p>\n<pre><code class=\"php\">&lt;?php class Asterisk_ami {     \/*  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u0430     *\/     public $ini = array();      \/*  \u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430.    *\/     function __construct ()     {         \/* \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e *\/         $this-&gt;ini[&quot;con&quot;] = false;              \/* \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 *\/     }     \/*  \u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430  *\/     function __destruct()     {         unset ($this-&gt;ini);  \/* \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0432\u043e \u0432\u0441\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e $this-&gt;ini \u0442\u043e \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0435 \u043e\u0434\u043d\u0443. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0440\u0438\u0442\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e php \u0441\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u0437\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u043c, \u0438 \u044f \u0441 \u044d\u0442\u0438\u043c \u0441\u043e\u0433\u043b\u0430\u0448\u0443\u0441\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0434\u0435\u043c\u043e\u043d\u0430\u0445 *\/     } } ?&gt; <\/code><\/pre>\n<p>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0438 \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h3>connect() \u0438 disconnect()<\/h3>\n<p>  \u0414\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0441\u043e\u043a\u0435\u0442\u043e\u043c \u044f \u0440\u0435\u0448\u0438\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e fsockopen.<\/p>\n<pre><code class=\"php\">fsockopen(host, port,$a,$b,$c); \u0433\u0434\u0435 host - IP \u0430\u0434\u0440\u0435\u0441 \u0445\u043e\u0442\u0441\u0430 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f, port - \u043f\u043e\u0440\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, $a - \u043d\u043e\u043c\u0435\u0440 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, $b - \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, $c - \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u0441\u043e\u043a\u0435\u0442\u0430(\u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440). <\/code><\/pre>\n<p>  \u0418\u0437 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c 2 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432. \u042d\u0442\u043e IP \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u0430. \u0422\u0430\u043a \u043a\u0430\u043a $a,$b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0430 \u043c\u044b \u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0435 \u0431\u044e\u0440\u043e \u0447\u0442\u043e\u0431\u044b \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043f\u0440\u0430\u0432\u043a\u0438) \u0442\u043e \u0438\u0445 \u043c\u044b \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u043c. \u0410 $c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<p>  <s>\u041f\u043e\u0447\u0435\u043c\u0443 \u044f \u043f\u0438\u0448\u0443 \u0447\u0442\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0434\u0435\u043c\u043e\u043d\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u043f\u043e<br \/>  \u0431\u0430\u0440\u0430\u0431\u0430\u043d\u0443 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0436\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 PHP. <\/s><\/p>\n<p>  \u0414\u043b\u044f \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0432\u0435\u0434\u0435\u043c 2 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430:<\/p>\n<pre><code class=\"php\">$this-&gt;ini[&quot;host&quot;] = &quot;127.0.0.1&quot;;       \/* IP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 *\/ $this-&gt;ini[&quot;port&quot;] = &quot;5038&quot;;              \/* \u041f\u043e\u0440\u0442 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f *\/ <\/code><\/pre>\n<p>  \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e:<\/p>\n<pre><code class=\"php\">&lt;?php class Asterisk_ami {     \/*  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u0430     *\/     public $ini = array();      \/*  \u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430.    *\/     function __construct ()     {         \/* \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e *\/         $this-&gt;ini[&quot;con&quot;] = false;              \/* \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 *\/         $this-&gt;ini[&quot;host&quot;] = &quot;127.0.0.1&quot;;       \/* IP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 *\/         $this-&gt;ini[&quot;port&quot;] = &quot;5038&quot;;            \/* \u041f\u043e\u0440\u0442 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f *\/     }     \/*  \u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430  *\/     function __destruct()     {         unset ($this-&gt;ini);  \/* \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0432\u043e \u0432\u0441\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e $this-&gt;ini \u0442\u043e \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0435 \u043e\u0434\u043d\u0443. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0440\u0438\u0442\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e php \u0441\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u0437\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u043c, \u0438 \u044f \u0441 \u044d\u0442\u0438\u043c \u0441\u043e\u0433\u043b\u0430\u0448\u0443\u0441\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0434\u0435\u043c\u043e\u043d\u0430\u0445 *\/     }     \/*  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u0430  *\/     function connect()     {         $this-&gt;ini[&quot;con&quot;] = fsockopen($this-&gt;ini[&quot;host&quot;], $this-&gt;ini[&quot;port&quot;],$a,$b,10);         if ($this-&gt;ini[&quot;con&quot;])         {             stream_set_timeout($this-&gt;ini[&quot;con&quot;], 0, 400000);         \/* \u0412\u043e\u0442 \u0447\u0435\u0441\u0442\u043d\u043e \u044f \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u044e \u043f\u043e\u0447\u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u044d\u0442\u0438\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c, \u043d\u043e \u0431\u0435\u0437 \u043d\u0435\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u044b\u043f\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043c\u0443\u0441\u043e\u0440, \u0438\u043b\u0438 \u0441\u043e\u043a\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u043f\u0430\u0442\u044c, \u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0438\u043c \u0438 \u043a\u043b\u0430\u0441\u0441 *\/         }     }     \/*  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u0430  *\/     function connect()     {         if ($this-&gt;ini[&quot;con&quot;])    \/* \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 *\/         {             fclose($this-&gt;ini[&quot;con&quot;]);  \/* \u0422\u043e \u043c\u044b \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u043a\u0435\u0442 *\/         }     }  } ?&gt; <\/code><\/pre>\n<p>  <\/p>\n<h3>write();<\/h3>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a \u0410\u041c\u0418 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u043a\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u0442\u0440\u043e\u043a, \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0435 \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0414\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c php \u0444\u0443\u043d\u043a\u0446\u0438\u044e fwrite.\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 ActionID \u043d\u0430\u0448\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u043f\u0430\u043a\u0435\u0442\u044b \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0442 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0430 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c.  <\/p>\n<pre><code class=\"php\">    \/* \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0441\u043e\u043a\u0435\u0442 *\/     function write($a)      \/* $a \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0441\u043e\u043a\u0435\u0442 *\/     {         $m = rand (10000000000000000,99999999900000000);        \/* \u0420\u0430\u043d\u0434\u043e\u043c\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u043d\u0434\u043e\u043c\u043d\u043e\u0433\u043e ActionID *\/         fwrite($this-&gt;con, &quot;ActionID: $this-&gt;action_id$m\\r\\n$a\\r\\n\\r\\n&quot;); \/* \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0441\u043e\u043a\u0435\u0442 *\/         $this-&gt;sleepi();        \/* \u0421\u0443\u0442\u044c \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u0446\u0438\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0430\u0440\u0430\u0433\u0440\u0430\u0444\u0435. *\/         return $m;     \/* \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c ActionID *\/     } <\/code><\/pre>\n<h3>sleepi();<\/h3>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u043e\u043a\u0435\u0442, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u0434\u0430. \u041f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043c \u0447\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043d\u0430\u0448\u0438\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u043c. \u041d\u0430\u0448 \u043f\u0430\u043a\u0435\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u043a\u0435\u0442. \u0421\u0435\u0440\u0432\u0435\u0440 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043d\u044f\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439, \u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442 \u043d\u0430\u0448\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0437\u0436\u0435. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u043f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u043b\u0443\u0447\u0448\u0435 \u0434\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0441\u043f\u0435\u043b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f \u0432\u0432\u0435\u043b \u0432 \u043a\u043b\u0430\u0441\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u0441\u044b\u043f\u0430\u0442\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.  <\/p>\n<pre><code class=\"php\">class Asterisk_ami {  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      function __construct ()     {         \/* \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e *\/         $this-&gt;ini[&quot;con&quot;] = false;              \/* \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 *\/         $this-&gt;ini[&quot;host&quot;] = &quot;127.0.0.1&quot;;       \/* IP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 *\/         $this-&gt;ini[&quot;port&quot;] = &quot;5038&quot;;            \/* \u041f\u043e\u0440\u0442 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f *\/         $this-&gt;ini[&quot;sleep_time&quot;]=1500;          \/* \u0412 \u0434\u0435\u043c\u043e\u043d\u0430\u0445 \u044d\u0442\u0430 \u0446\u0438\u0444\u0440\u0430 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0432 \u043c\u043e\u0435\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0432\u0441\u0435\u0433\u043e &quot;5&quot; *\/     }   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      \/*  \u0417\u0430\u0434\u0430\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043f\u0430\u0443\u0437\u0443 \u043c\u0435\u0436\u0434\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u0447\u0442\u0435\u043d\u0438\u044f    *\/     function sleepi ()     {         sleep($this-&gt;ini[&quot;sleep_time&quot;]);        \/* \u0421\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0441\u044b\u043f\u0430\u0442\u044c \u043d\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f *\/     } } <\/code><\/pre>\n<p>  <\/p>\n<h3>init() \u0438 read();<\/h3>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u043e\u0434.<\/p>\n<pre><code class=\"php\">    \/*  \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u043e\u043a\u0435\u0442\u0430  *\/     function read()     {         $mm = array();         $b = array();         $k = 0;         $s = &quot;&quot;;         $this-&gt;sleepi();         do         {             $s.= fread($this-&gt;con,1024);             sleep($this-&gt;read_sleep_time);             $mmm=socket_get_status($this-&gt;con);         }   while ($mmm['unread_bytes']);         $mm = explode (&quot;\\r\\n&quot;,$s);         for ($i=0;$i&lt;count($mm);$i++)         {             if ($mm[$i]==&quot;&quot;)             {                 $k++;             }             $m = explode(&quot;:&quot;,$mm[$i]);             if (isset($m[1]))             {                 $this-&gt;ini[&quot;lastRead&quot;][$k][trim($m[0])] = trim($m[1]);             }         }         return $this-&gt;ini[&quot;lastRead&quot;];     } <\/code><\/pre>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a AMI:<\/p>\n<pre><code class=\"php\">&lt;?php class Asterisk_ami {     \/*  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u0430     *\/     public $ini = array();      \/*  \u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430.    *\/     function __construct ()     {         \/* \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e *\/         $this-&gt;ini[&quot;con&quot;] = false;              \/* \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 *\/         $this-&gt;ini[&quot;host&quot;] = &quot;127.0.0.1&quot;;       \/* IP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 *\/         $this-&gt;ini[&quot;port&quot;] = &quot;5038&quot;;            \/* \u041f\u043e\u0440\u0442 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f *\/         $this-&gt;ini[&quot;lastActionID&quot;] = 0;         \/* \u0417\u0434\u0435\u0441\u044c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 ActionID *\/         $this-&gt;ini[&quot;lastRead&quot;] = array ();      \/* \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 *\/         $this-&gt;ini[&quot;sleep_time&quot;]=1.5;          \/* \u0412 \u0434\u0435\u043c\u043e\u043d\u0430\u0445 \u044d\u0442\u0430 \u0446\u0438\u0444\u0440\u0430 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0432 \u043c\u043e\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0432\u0441\u0435\u0433\u043e &quot;0.005&quot; *\/         $this-&gt;ini[&quot;login&quot;] = &quot;admin&quot;;          \/* \u041b\u043e\u0433\u0438\u043d \u0434\u043b\u044f \u0410\u041c\u0418 *\/         $this-&gt;ini[&quot;password&quot;] = &quot;amp11&quot;;       \/* \u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0410\u041c\u0418 *\/     }     \/*  \u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430  *\/     function __destruct()     {         unset ($this-&gt;ini);  \/* \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0432\u043e \u0432\u0441\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e $this-&gt;ini \u0442\u043e \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0435 \u043e\u0434\u043d\u0443. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0440\u0438\u0442\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e php \u0441\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u0437\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u043c, \u0438 \u044f \u0441 \u044d\u0442\u0438\u043c \u0441\u043e\u0433\u043b\u0430\u0448\u0443\u0441\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0434\u0435\u043c\u043e\u043d\u0430\u0445 *\/     }     \/*  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u0430  *\/     function connect()     {         $this-&gt;ini[&quot;con&quot;] = fsockopen($this-&gt;ini[&quot;host&quot;], $this-&gt;ini[&quot;port&quot;],$a,$b,10);         if ($this-&gt;ini[&quot;con&quot;])         {             stream_set_timeout($this-&gt;ini[&quot;con&quot;], 0, 400000);         \/* \u0412\u043e\u0442 \u0447\u0435\u0441\u0442\u043d\u043e \u044f \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u044e \u043f\u043e\u0447\u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u044d\u0442\u0438\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c, \u043d\u043e \u0431\u0435\u0437 \u043d\u0435\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u044b\u043f\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043c\u0443\u0441\u043e\u0440, \u0438\u043b\u0438 \u0441\u043e\u043a\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u043f\u0430\u0442\u044c, \u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0438\u043c \u0438 \u043a\u043b\u0430\u0441\u0441 *\/         }     }     \/*  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u0430  *\/     function disconnect()     {         if ($this-&gt;ini[&quot;con&quot;])    \/* \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 *\/         {             fclose($this-&gt;ini[&quot;con&quot;]);  \/* \u0422\u043e \u043c\u044b \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u043a\u0435\u0442 *\/         }     }     \/* \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0441\u043e\u043a\u0435\u0442 *\/     function write($a)      \/* $a \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0441\u043e\u043a\u0435\u0442 *\/     {         $this-&gt;ini[&quot;lastActionID&quot;] = rand (10000000000000000,99999999900000000);        \/* \u0420\u0430\u043d\u0434\u043e\u043c\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u043d\u0434\u043e\u043c\u043d\u043e\u0433\u043e ActionID *\/         fwrite($this-&gt;ini[&quot;con&quot;], &quot;ActionID: &quot;.$this-&gt;ini[&quot;lastActionID&quot;].&quot;\\r\\n$a\\r\\n\\r\\n&quot;); \/* \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0441\u043e\u043a\u0435\u0442 *\/         $this-&gt;sleepi();        \/* \u0421\u0443\u0442\u044c \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u0446\u0438\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0430\u0440\u0430\u0433\u0440\u0430\u0444\u0435. *\/         return $this-&gt;ini[&quot;lastActionID&quot;];     \/* \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c ActionID *\/     }     \/*  \u0417\u0430\u0434\u0430\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043f\u0430\u0443\u0437\u0443 \u043c\u0435\u0436\u0434\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u0447\u0442\u0435\u043d\u0438\u044f    *\/     function sleepi ()     {         sleep($this-&gt;ini[&quot;sleep_time&quot;]);        \/* \u0421\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0441\u044b\u043f\u0430\u0442\u044c \u043d\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f *\/     }      \/*  \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u043e\u043a\u0435\u0442\u0430  *\/     function read()     {         $mm = array();         $b = array();         $k = 0;         $s = &quot;&quot;;         $this-&gt;sleepi();         do         {             $s.= fread($this-&gt;ini[&quot;con&quot;],1024);             sleep(0.005);             $mmm=socket_get_status($this-&gt;ini[&quot;con&quot;]);         }   while ($mmm['unread_bytes']);         $mm = explode (&quot;\\r\\n&quot;,$s);         $this-&gt;ini[&quot;lastRead&quot;] = array();         for ($i=0;$i&lt;count($mm);$i++)         {             if ($mm[$i]==&quot;&quot;)             {                 $k++;             }             $m = explode(&quot;:&quot;,$mm[$i]);             if (isset($m[1]))             {                 $this-&gt;ini[&quot;lastRead&quot;][$k][trim($m[0])] = trim($m[1]);             }         }         unset ($b);         unset ($k);         unset ($mm);         unset ($mm);         unset ($mmm);         unset ($i);         unset ($s);         return $this-&gt;ini[&quot;lastRead&quot;];     }     \/* *\/     function init()     {     return $this-&gt;write(&quot;Action: Login\\r\\nUsername: &quot;.$this-&gt;ini[&quot;login&quot;].&quot;\\r\\nSecret: &quot;.$this-&gt;ini[&quot;password&quot;].&quot;\\r\\n\\r\\n&quot;);     } }  \/* \u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0447\u0442\u043e \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a \u0410\u041c\u0418 \u0438\u0434\u0443\u0442 \u043f\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u0443 *\/ $a = new Asterisk_ami(); $a-&gt;connect(); if ($a-&gt;ini[&quot;con&quot;]) {     $a-&gt;init();     $a-&gt;write(&quot;Action: ListCommands&quot;);     var_dump($a-&gt;read());     $a-&gt;disconnect();     unset($a); }  ?&gt; <\/code><\/pre>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">array(4) {<br \/>   [0]=&gt;<br \/>   array(2) {<br \/>   [\u00abResponse\u00bb]=&gt;<br \/>   string(7) \u00abSuccess\u00bb<br \/>   [\u00abMessage\u00bb]=&gt;<br \/>   string(23) \u00abAuthentication accepted\u00bb<br \/>   }<br \/>   [1]=&gt;<br \/>   array(3) {<br \/>   [\u00abEvent\u00bb]=&gt;<br \/>   string(11) \u00abFullyBooted\u00bb<br \/>   [\u00abPrivilege\u00bb]=&gt;<br \/>   string(10) \u00absystem,all\u00bb<br \/>   [\u00abStatus\u00bb]=&gt;<br \/>   string(12) \u00abFully Booted\u00bb<br \/>   }<br \/>   [2]=&gt;<br \/>   array(2) {<br \/>   [\u00abResponse\u00bb]=&gt;<br \/>   string(7) \u00abSuccess\u00bb<br \/>   [\u00abEvents\u00bb]=&gt;<br \/>   string(2) \u00abOn\u00bb<br \/>   }<br \/>   [3]=&gt;<br \/>   array(115) {<br \/>   [\u00abResponse\u00bb]=&gt;<br \/>   string(7) \u00abSuccess\u00bb<br \/>   [\u00abActionID\u00bb]=&gt;<br \/>   string(17) \u00ab67932087789661188\u00bb<br \/>   [\u00abWaitEvent\u00bb]=&gt;<br \/>   string(34) \u00abWait for an event to occur. (Priv\u00bb<br \/>   [\u00abDeviceStateList\u00bb]=&gt;<br \/>   string(44) \u00abList the current known device states. (Priv\u00bb<br \/>   [\u00abPresenceStateList\u00bb]=&gt;<br \/>   string(46) \u00abList the current known presence states. (Priv\u00bb<br \/>   [\u00abQueueReset\u00bb]=&gt;<br \/>   string(30) \u00abReset queue statistics. (Priv\u00bb<br \/>   [\u00abQueueReload\u00bb]=&gt;<br \/>   string(71) \u00abReload a queue, queues, or any sub-section of a queue or queues. (Priv\u00bb<br \/>   [\u00abQueueRule\u00bb]=&gt;<br \/>   string(19) \u00abQueue Rules. (Priv\u00bb<br \/>   [\u00abQueueMemberRingInUse\u00bb]=&gt;<br \/>   string(50) \u00abSet the ringinuse value for a queue member. (Priv\u00bb<br \/>   [\u00abQueuePenalty\u00bb]=&gt;<br \/>   string(42) \u00abSet the penalty for a queue member. (Priv\u00bb<br \/>   [\u00abQueueLog\u00bb]=&gt;<br \/>   string(38) \u00abAdds custom entry in queue_log. (Priv\u00bb<br \/>   [\u00abQueuePause\u00bb]=&gt;<br \/>   string(52) \u00abMakes a queue member temporarily unavailable. (Priv\u00bb<br \/>   [\u00abQueueRemove\u00bb]=&gt;<br \/>   string(35) \u00abRemove interface from queue. (Priv\u00bb<br \/>   [\u00abQueueAdd\u00bb]=&gt;<br \/>   string(30) \u00abAdd interface to queue. (Priv\u00bb<br \/>   [\u00abQueueSummary\u00bb]=&gt;<br \/>   string(26) \u00abShow queue summary. (Priv\u00bb<br \/>   [\u00abQueueStatus\u00bb]=&gt;<br \/>   string(25) \u00abShow queue status. (Priv\u00bb<br \/>   [\u00abQueues\u00bb]=&gt;<br \/>   string(14) \u00abQueues. (Priv\u00bb<br \/>   [\u00abControlPlayback\u00bb]=&gt;<br \/>   string(64) \u00abControl the playback of a file being played to a channel. (Priv\u00bb<br \/>   [\u00abStopMixMonitor\u00bb]=&gt;<br \/>   string(86) \u00abStop recording a call through MixMonitor, and free the recording&#8217;s file handle. (Priv\u00bb<br \/>   [\u00abMixMonitor\u00bb]=&gt;<br \/>   string(178) \u00abRecord a call and mix the audio during the recording. Use of StopMixMonitor is required to guarantee the audio file is available for processing during dialplan execution. (Priv\u00bb<br \/>   [\u00abMixMonitorMute\u00bb]=&gt;<br \/>   string(44) \u00abMute \/ unMute a Mixmonitor recording. (Priv\u00bb<br \/>   [\u00abVoicemailRefresh\u00bb]=&gt;<br \/>   string(51) \u00abTell Asterisk to poll mailboxes for a change (Priv\u00bb<br \/>   [\u00abVoicemailUsersList\u00bb]=&gt;<br \/>   string(43) \u00abList All Voicemail User Information. (Priv\u00bb<br \/>   [\u00abPlayDTMF\u00bb]=&gt;<br \/>   string(46) \u00abPlay DTMF signal on a specific channel. (Priv\u00bb<br \/>   [\u00abMuteAudio\u00bb]=&gt;<br \/>   string(28) \u00abMute an audio stream. (Priv\u00bb<br \/>   [\u00abConfbridgeSetSingleVideoSrc\u00bb]=&gt;<br \/>   string(94) \u00abSet a conference user as the single video source distributed to all other participants. (Priv\u00bb<br \/>   [\u00abConfbridgeStopRecord\u00bb]=&gt;<br \/>   string(46) \u00abStop recording a Confbridge conference. (Priv\u00bb<br \/>   [\u00abConfbridgeStartRecord\u00bb]=&gt;<br \/>   string(47) \u00abStart recording a Confbridge conference. (Priv\u00bb<br \/>   [\u00abConfbridgeLock\u00bb]=&gt;<br \/>   string(36) \u00abLock a Confbridge conference. (Priv\u00bb<br \/>   [\u00abConfbridgeUnlock\u00bb]=&gt;<br \/>   string(38) \u00abUnlock a Confbridge conference. (Priv\u00bb<br \/>   [\u00abConfbridgeKick\u00bb]=&gt;<br \/>   string(30) \u00abKick a Confbridge user. (Priv\u00bb<br \/>   [\u00abConfbridgeUnmute\u00bb]=&gt;<br \/>   string(32) \u00abUnmute a Confbridge user. (Priv\u00bb<br \/>   [\u00abConfbridgeMute\u00bb]=&gt;<br \/>   string(30) \u00abMute a Confbridge user. (Priv\u00bb<br \/>   [\u00abConfbridgeListRooms\u00bb]=&gt;<br \/>   string(31) \u00abList active conferences. (Priv\u00bb<br \/>   [\u00abConfbridgeList\u00bb]=&gt;<br \/>   string(41) \u00abList participants in a conference. (Priv\u00bb<br \/>   [\u00abMeetmeListRooms\u00bb]=&gt;<br \/>   string(31) \u00abList active conferences. (Priv\u00bb<br \/>   [\u00abMeetmeList\u00bb]=&gt;<br \/>   string(41) \u00abList participants in a conference. (Priv\u00bb<br \/>   [\u00abMeetmeUnmute\u00bb]=&gt;<br \/>   string(28) \u00abUnmute a Meetme user. (Priv\u00bb<br \/>   [\u00abMeetmeMute\u00bb]=&gt;<br \/>   string(26) \u00abMute a Meetme user. (Priv\u00bb<br \/>   [\u00abPJSIPNotify\u00bb]=&gt;<br \/>   string(63) \u00abSend a NOTIFY to either an endpoint or an arbitrary URI. (Priv\u00bb<br \/>   [\u00abPJSIPShowRegistrationsOutbound\u00bb]=&gt;<br \/>   string(42) \u00abLists PJSIP outbound registrations. (Priv\u00bb<br \/>   [\u00abPJSIPUnregister\u00bb]=&gt;<br \/>   string(43) \u00abUnregister an outbound registration. (Priv\u00bb<br \/>   [\u00abPJSIPShowRegistrationsInbound\u00bb]=&gt;<br \/>   string(41) \u00abLists PJSIP inbound registrations. (Priv\u00bb<br \/>   [\u00abPRIDebugFileUnset\u00bb]=&gt;<br \/>   string(50) \u00abDisables file output for PRI debug messages (Priv\u00bb<br \/>   [\u00abPRIDebugFileSet\u00bb]=&gt;<br \/>   string(53) \u00abSet the file used for PRI debug message output (Priv\u00bb<br \/>   [\u00abPRIDebugSet\u00bb]=&gt;<br \/>   string(38) \u00abSet PRI debug levels for a span (Priv\u00bb<br \/>   [\u00abPRIShowSpans\u00bb]=&gt;<br \/>   string(32) \u00abShow status of PRI spans. (Priv\u00bb<br \/>   [\u00abDAHDIRestart\u00bb]=&gt;<br \/>   string(55) \u00abFully Restart DAHDI channels (terminates calls). (Priv\u00bb<br \/>   [\u00abDAHDIShowChannels\u00bb]=&gt;<br \/>   string(37) \u00abShow status of DAHDI channels. (Priv\u00bb<br \/>   [\u00abDAHDIDNDoff\u00bb]=&gt;<br \/>   string(54) \u00abToggle DAHDI channel Do Not Disturb status OFF. (Priv\u00bb<br \/>   [\u00abDAHDIDNDon\u00bb]=&gt;<br \/>   string(53) \u00abToggle DAHDI channel Do Not Disturb status ON. (Priv\u00bb<br \/>   [\u00abDAHDIDialOffhook\u00bb]=&gt;<br \/>   string(45) \u00abDial over DAHDI channel while offhook. (Priv\u00bb<br \/>   [\u00abDAHDIHangup\u00bb]=&gt;<br \/>   string(28) \u00abHangup DAHDI Channel. (Priv\u00bb<br \/>   [\u00abDAHDITransfer\u00bb]=&gt;<br \/>   string(30) \u00abTransfer DAHDI Channel. (Priv\u00bb<br \/>   [\u00abSIPpeerstatus\u00bb]=&gt;<br \/>   string(54) \u00abShow the status of one or all of the sip peers. (Priv\u00bb<br \/>   [\u00abSIPnotify\u00bb]=&gt;<br \/>   string(25) \u00abSend a SIP notify. (Priv\u00bb<br \/>   [\u00abSIPshowregistry\u00bb]=&gt;<br \/>   string(44) \u00abShow SIP registrations (text format). (Priv\u00bb<br \/>   [\u00abSIPqualifypeer\u00bb]=&gt;<br \/>   string(25) \u00abQualify SIP peers. (Priv\u00bb<br \/>   [\u00abSIPshowpeer\u00bb]=&gt;<br \/>   string(35) \u00abshow SIP peer (text format). (Priv\u00bb<br \/>   [\u00abSIPpeers\u00bb]=&gt;<br \/>   string(36) \u00abList SIP peers (text format). (Priv\u00bb<br \/>   [\u00abIAXregistry\u00bb]=&gt;<br \/>   string(30) \u00abShow IAX registrations. (Priv\u00bb<br \/>   [\u00abIAXnetstats\u00bb]=&gt;<br \/>   string(25) \u00abShow IAX Netstats. (Priv\u00bb<br \/>   [\u00abIAXpeerlist\u00bb]=&gt;<br \/>   string(22) \u00abList IAX Peers. (Priv\u00bb<br \/>   [\u00abIAXpeers\u00bb]=&gt;<br \/>   string(22) \u00abList IAX peers. (Priv\u00bb<br \/>   [\u00abPark\u00bb]=&gt;<br \/>   string(22) \u00abPark a channel. (Priv\u00bb<br \/>   [\u00abParkedCalls\u00bb]=&gt;<br \/>   string(25) \u00abList parked calls. (Priv\u00bb<br \/>   [\u00abParkinglots\u00bb]=&gt;<br \/>   string(33) \u00abGet a list of parking lots (Priv\u00bb<br \/>   [\u00abFAXStats\u00bb]=&gt;<br \/>   string(35) \u00abResponds with fax statistics (Priv\u00bb<br \/>   [\u00abFAXSession\u00bb]=&gt;<br \/>   string(67) \u00abResponds with a detailed description of a single FAX session (Priv\u00bb<br \/>   [\u00abFAXSessions\u00bb]=&gt;<br \/>   string(32) \u00abLists active FAX sessions (Priv\u00bb<br \/>   [\u00abPJSIPShowResourceLists\u00bb]=&gt;<br \/>   string(55) \u00abDisplays settings for configured resource lists. (Priv\u00bb<br \/>   [\u00abPJSIPShowSubscriptionsOutbound\u00bb]=&gt;<br \/>   string(27) \u00abLists subscriptions. (Priv\u00bb<br \/>   [\u00abPJSIPShowSubscriptionsInbound\u00bb]=&gt;<br \/>   string(27) \u00abLists subscriptions. (Priv\u00bb<br \/>   [\u00abUnpauseMonitor\u00bb]=&gt;<br \/>   string(39) \u00abUnpause monitoring of a channel. (Priv\u00bb<br \/>   [\u00abPauseMonitor\u00bb]=&gt;<br \/>   string(37) \u00abPause monitoring of a channel. (Priv\u00bb<br \/>   [\u00abChangeMonitor\u00bb]=&gt;<br \/>   string(47) \u00abChange monitoring filename of a channel. (Priv\u00bb<br \/>   [\u00abStopMonitor\u00bb]=&gt;<br \/>   string(33) \u00abStop monitoring a channel. (Priv\u00bb<br \/>   [\u00abMonitor\u00bb]=&gt;<br \/>   string(25) \u00abMonitor a channel. (Priv\u00bb<br \/>   [\u00abPJSIPQualify\u00bb]=&gt;<br \/>   string(37) \u00abQualify a chan_pjsip endpoint. (Priv\u00bb<br \/>   [\u00abPJSIPShowEndpoint\u00bb]=&gt;<br \/>   string(53) \u00abDetail listing of an endpoint and its objects. (Priv\u00bb<br \/>   [\u00abPJSIPShowEndpoints\u00bb]=&gt;<br \/>   string(29) \u00abLists PJSIP endpoints. (Priv\u00bb<br \/>   [\u00abBridgeKick\u00bb]=&gt;<br \/>   string(36) \u00abKick a channel from a bridge. (Priv\u00bb<br \/>   [\u00abBridgeDestroy\u00bb]=&gt;<br \/>   string(24) \u00abDestroy a bridge. (Priv\u00bb<br \/>   [\u00abBridgeInfo\u00bb]=&gt;<br \/>   string(38) \u00abGet information about a bridge. (Priv\u00bb<br \/>   [\u00abBridgeList\u00bb]=&gt;<br \/>   string(43) \u00abGet a list of bridges in the system. (Priv\u00bb<br \/>   [\u00abBlindTransfer\u00bb]=&gt;<br \/>   string(57) \u00abBlind transfer channel(s) to the given destination (Priv\u00bb<br \/>   [\u00abFilter\u00bb]=&gt;<br \/>   string(63) \u00abDynamically add filters for the current manager session. (Priv\u00bb<br \/>   [\u00abModuleCheck\u00bb]=&gt;<br \/>   string(33) \u00abCheck if module is loaded. (Priv\u00bb<br \/>   [\u00abModuleLoad\u00bb]=&gt;<br \/>   string(25) \u00abModule management. (Priv\u00bb<br \/>   [\u00abCoreShowChannels\u00bb]=&gt;<br \/>   string(38) \u00abList currently active channels. (Priv\u00bb<br \/>   [\u00abLoggerRotate\u00bb]=&gt;<br \/>   string(45) \u00abReload and rotate the Asterisk logger. (Priv\u00bb<br \/>   [\u00abReload\u00bb]=&gt;<br \/>   string(27) \u00abSend a reload event. (Priv\u00bb<br \/>   [\u00abCoreStatus\u00bb]=&gt;<br \/>   string(38) \u00abShow PBX core status variables. (Priv\u00bb<br \/>   [\u00abCoreSettings\u00bb]=&gt;<br \/>   string(44) \u00abShow PBX core settings (version etc). (Priv\u00bb<br \/>   [\u00abUserEvent\u00bb]=&gt;<br \/>   string(31) \u00abSend an arbitrary event. (Priv\u00bb<br \/>   [\u00abUpdateConfig\u00bb]=&gt;<br \/>   string(34) \u00abUpdate basic configuration. (Priv\u00bb<br \/>   [\u00abSendText\u00bb]=&gt;<br \/>   string(36) \u00abSend text message to channel. (Priv\u00bb<br \/>   [\u00abListCommands\u00bb]=&gt;<br \/>   string(39) \u00abList available manager commands. (Priv\u00bb<br \/>   [\u00abMailboxCount\u00bb]=&gt;<br \/>   string(35) \u00abCheck Mailbox Message Count. (Priv\u00bb<br \/>   [\u00abMailboxStatus\u00bb]=&gt;<br \/>   string(21) \u00abCheck mailbox. (Priv\u00bb<br \/>   [\u00abAbsoluteTimeout\u00bb]=&gt;<br \/>   string(28) \u00abSet absolute timeout. (Priv\u00bb<br \/>   [\u00abPresenceState\u00bb]=&gt;<br \/>   string(27) \u00abCheck Presence State (Priv\u00bb<br \/>   [\u00abExtensionState\u00bb]=&gt;<br \/>   string(30) \u00abCheck Extension Status. (Priv\u00bb<br \/>   [\u00abCommand\u00bb]=&gt;<br \/>   string(36) \u00abExecute Asterisk CLI Command. (Priv\u00bb<br \/>   [\u00abOriginate\u00bb]=&gt;<br \/>   string(24) \u00abOriginate a call. (Priv\u00bb<br \/>   [\u00abAtxfer\u00bb]=&gt;<br \/>   string(25) \u00abAttended transfer. (Priv\u00bb<br \/>   [\u00abRedirect\u00bb]=&gt;<br \/>   string(34) \u00abRedirect (transfer) a call. (Priv\u00bb<br \/>   [\u00abListCategories\u00bb]=&gt;<br \/>   string(45) \u00abList categories in configuration file. (Priv\u00bb<br \/>   [\u00abCreateConfig\u00bb]=&gt;<br \/>   string(60) \u00abCreates an empty file in the configuration directory. (Priv\u00bb<br \/>   [\u00abStatus\u00bb]=&gt;<br \/>   string(27) \u00abList channel status. (Priv\u00bb<br \/>   [\u00abGetConfigJSON\u00bb]=&gt;<br \/>   string(44) \u00abRetrieve configuration (JSON format). (Priv\u00bb<br \/>   [\u00abGetConfig\u00bb]=&gt;<br \/>   string(30) \u00abRetrieve configuration. (Priv\u00bb<br \/>   [\u00abGetvar\u00bb]=&gt;<br \/>   string(49) \u00abGets a channel variable or function value. (Priv\u00bb<br \/>   [\u00abSetvar\u00bb]=&gt;<br \/>   string(49) \u00abSets a channel variable or function value. (Priv\u00bb<br \/>   [\u00abShowDialPlan\u00bb]=&gt;<br \/>   string(22) \u00abShow dialplan contexts\u00bb<br \/>   }<br \/>  }  <\/div>\n<\/div>\n<h2>\u0420\u0435\u0437\u044e\u043c\u0435<\/h2>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438 \u0432 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e. \u0418 \u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a \u0410\u041c\u0418 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>  \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043f\u0430\u0441\u0438\u0431\u043e <a href=\"http:\/\/habrahabr.ru\/users\/HiNeX\/\">HiNeX<\/a> \u0437\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u043c \u043a\u043e\u0434\u0435.<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c \u043a\u0442\u043e \u0434\u043e\u0447\u0438\u0442\u0430\u043b. \u0418 \u0434\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0430\u0445 \u0422\u041c.<\/p>\n<p>  (\u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0435 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c, \u0442\u043e \u043a\u0430\u043a\u043e\u0439 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u0432 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a \u0410\u041c\u0418 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438? \u041f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445.)    \t\t\t\t<\/p>\n<div class=\"polling\">\n<form action=\"\/json\/polling\/\" class=\"poll\" method=\"post\">\n<div class=\"poll_title\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0442\u0435\u043c\u0443?<\/div>\n<p>  \t\t<input type=\"hidden\" name=\"post_id\" value=\"253387\"\/> \t\t<input type=\"hidden\" name=\"polling_question_id\" value=\"13331\"\/>  \t\t<\/p>\n<table class=\"answer\">\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv65911\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"65911\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv65911\">\u0414\u0430, \u043c\u043d\u0435 \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv65913\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"65913\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv65913\">\u041d\u0435\u0442, \u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv65915\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"65915\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv65915\">\u0410 \u043c\u043d\u0435 \u043f\u043e\u0440\u043e\u0432\u043d\u0443<\/label> \t\t\t\t<\/td>\n<\/tr>\n<\/table>\n<p class=\"total\">\u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u043e 20 \u0447\u0435\u043b\u043e\u0432\u0435\u043a. \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u043e\u0441\u044c 10 \u0447\u0435\u043b\u043e\u0432\u0435\u043a.<\/p>\n<\/p><\/form>\n<p class=\"for_users_only_msg\">\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a href=\"https:\/\/habrahabr.ru\/auth\/login\/\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/p>\n<\/p><\/div>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/253387\/\"> http:\/\/habrahabr.ru\/post\/253387\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<br \/>\n<h2>\u0412\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u044f<\/h2>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e!<\/p>\n<p>  \u041c\u043e\u044f <a href=\"http:\/\/habrahabr.ru\/post\/253351\/\">\u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a> \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u0442\u043e \u043f\u0435\u0440\u0435\u0448\u043b\u0430 \u0438\u0437 \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0443 \u0438 \u043c\u043e\u0434\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0440\u0430\u0437\u0443 \u0434\u0430\u043b \u043c\u043d\u0435 \u043f\u043e\u043b\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435.<\/p>\n<p>  \u042f \u0445\u043e\u0447\u0443 \u043d\u0430\u0447\u0430\u0442\u044c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 API \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0441 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u043e\u043c \u0447\u0435\u0440\u0435\u0437 AMI. \u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f, \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0438 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043f\u044b\u0442, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043c\u0435\u043d\u044f \u0438 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0430\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 php API \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 AMI \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0430 \u0432\u0435\u043b\u043a\u043e\u043c \u043a \u0434\u0438\u0430\u043b\u043e\u0433\u0443.<\/p>\n<p>  \u0417\u0430\u0434\u0430\u0447\u0430 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0417\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u044f\u0447\u0443\u0442 \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0434\u043b\u044f Asterisk. \u0425\u043e\u0442\u044f \u043c\u043e\u0439 \u043e\u043f\u044b\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0437\u0434\u0435\u0441\u044c \u0438\u0437\u043b\u043e\u0436\u0443 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u00ab\u043a\u043e\u0434\u0434\u0435\u0440\u043e\u0432\u00bb \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u043f\u043e\u0442\u0435\u0448\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u00ab\u044d\u0433\u043e\u00bb, \u043d\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043d\u0435 \u0434\u0430\u0441\u0442 (\u043f\u0440\u0430\u0432\u0434\u0430 \u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u0438\u0440\u0442\u0443\u043e\u0437 \u044f\u0437\u044b\u043a\u0430 javascript \u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439 \u043d\u0438\u0431\u0443\u0434\u044c \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u044b\u0439 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c \u0431\u0443\u0440\u0436\u0443\u0439\u0441\u043a\u043e\u0439 \u0432\u0435\u0431-\u043c\u043e\u0440\u0434\u044b \u0434\u043b\u044f \u0430\u0441\u0442\u0435\u0440\u0430).<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a AMI \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0438 \u043f\u0440\u043e\u0449\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0438\u0434\u0442\u0438 \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u043c\u0443.<\/p>\n<p>  <b>\u0414\u043b\u044f \u043e\u0441\u043e\u0431\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 (\u0440\u0430\u0431\u043e\u0447\u0438\u0439) \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c<\/b>. \u0421 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041a\u043b\u0430\u0441\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-253506","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=253506"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253506\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=253506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=253506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=253506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}