{"id":268373,"date":"2015-11-17T15:44:06","date_gmt":"2015-11-17T12:44:06","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=268373"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=268373","title":{"rendered":"Javascript-\u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0432\u043e\u043d\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 voximplant"},"content":{"rendered":"<br \/>\n<h5><b>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/b><\/h5>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c <a href=\"http:\/\/voximplant.com\/\">voximplant<\/a>.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0449\u0435 \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0441 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043a\u0430\u043a \u0438 \u043c\u043d\u043e\u0433\u0438\u0435, \u043d\u0430\u0447\u0430\u043b \u0438\u0441\u043a\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438. \u0418 \u043a\u0430\u043a\u043e\u0432\u043e \u0436\u0435 \u0431\u044b\u043b\u043e \u043c\u043e\u0435 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0438 \u043c\u043d\u043e\u0433\u043e. \u0410 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043e.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0439, \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0432\u043e\u043b\u0435\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0432\u043e\u043a\u0441\u0438\u043c\u043f\u043b\u0430\u043d\u0442\u043e\u043c \u0441\u0430\u043c\u043e\u043c\u0443. \u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0431\u044b\u043b \u0432\u0437\u044f\u0442 \u043a\u043e\u0434 \u0438\u0437 <a href=\"http:\/\/habrahabr.ru\/post\/242191\/\">\u0445\u0430\u0431\u0440\u0430\u043f\u043e\u0441\u0442\u0430<\/a>: \u043d\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u044e \u043d\u0435\u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0439\u0434\u0443 \u0441\u0440\u0430\u0437\u0443 \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<h5><b>\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043a\u043e\u0434<\/b><\/h5>\n<p>  \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043a\u043e\u0434 \u0437\u0430\u0442\u043e\u0447\u0435\u043d \u043f\u043e\u0434 \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<ol>\n<li>\u0437\u0432\u043e\u043d\u043a\u0438 \u0441 \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440;<\/li>\n<li>\u0437\u0432\u043e\u043d\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u0430\u043d\u0435\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430).<\/li>\n<\/ol>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0430. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0442\u043e\u0438\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0432\u043e\u043d\u043a\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c(\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0443). \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u043e\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0437\u0432\u043e\u043d\u043a\u043e\u0432.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">js \u043a\u043e\u0434 \u043a\u043b\u0438\u0435\u043d\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">\/**  * @constructor  * @param {String} aLogin_str \u041b\u043e\u0433\u0438\u043d \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f voximplant. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440  * @param {String} aPassword_str \u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f voximplant. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440  * @param {Object} aOptOptions_obj \u041d\u0430\u0431\u043e\u0440 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043c\u0435\u0442\u043e\u0434\u0430 VoxImplant.getInstance().init(). \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0442\u0443\u0442: http:\/\/voximplant.com\/docs\/references\/websdk\/VoxImplant.Config.html  *   * *\/ function VoximaplantClient(aLogin_str, aPassword_str, aOptOptions_obj) {     var lLogin_str = aLogin_str;     var lPassword_str = aPassword_str;     var lOptions_obj = {         micRequired: true,         progressTone: true,         progressToneCountry: &quot;RU&quot;,         showDebugInfo: false     };     if (aOptOptions_obj && aOptOptions_obj instanceof Object) {         for (var i in aOptOptions_obj) {             lOptions_obj[i] = aOptOptions_obj[i];         }     }      \/**      * \u0421\u0442\u0430\u0442\u0443\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e VoximaplantClient \u0435\u0449\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b \u043c\u0435\u0442\u043e\u0434 init()      *\/     this.NOT_INTIALIZED = 0; \t \t\/**      * \u0421\u0442\u0430\u0442\u0443\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e VoximaplantClient \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b \u043c\u0435\u0442\u043e\u0434 init()      *\/     this.INTIALIZED = 1; \t \t\/**      * \u0421\u0442\u0430\u0442\u0443\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d. \u0415\u0441\u043b\u0438 \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 INTIALIZED      *\/     this.MIC_VERIFIED = 2; \t \t\/**      * \u0421\u0442\u0430\u0442\u0443\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 voximplant. \u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442: MIC_VERIFIED      *\/     this.CONNECTED = 3; \t \t\/**      * \u0421\u0442\u0430\u0442\u0443\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 voximplant.  \t * \u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442: CONNECTED \t * \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0437\u0432\u043e\u043d\u043a\u0438      *\/     this.LOGGED_IN = 4; \t \t\/**      * \u0421\u0442\u0430\u0442\u0443\u0441, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 voximplant, \u043d\u043e \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043e\u0440\u0432\u0430\u043b\u043e\u0441\u044c.      *\/     this.CONNECTION_CLOSED = 5;          \/**      * \u041f\u0440\u0438 \u043d\u0430\u0447\u0430\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0432\u043e\u043d\u043a\u0430 \u0432\u043e\u043a\u0441\u0438\u043c\u043f\u043b\u0430\u043d\u0442\u043e\u043c, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0435\u0441\u043b\u0438 \u0435\u0439 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      *\/     this.onCallingStartedEvent = null;          \/**      * \u041f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0437\u0432\u043e\u043d\u043a\u0430, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0435\u0441\u043b\u0438 \u0435\u0439 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      *\/     this.onCallingCompletedEvent = null;          \/**      * \u041f\u0440\u0438 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 VoximplantClient::init(), \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0435\u0441\u043b\u0438 \u0435\u0439 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      *\/     this.onInitializationCompletedEvent = null;     var self = this;     var tryToExecuteInitializationCompletedEventHandler = function() {         if (self.onInitializationCompletedEvent && typeof self.onInitializationCompletedEvent === 'function') {             self.onInitializationCompletedEvent();         }     };      var lStatus_int = this.NOT_INTIALIZED;     var lInstance_vx_obj = null;     var lCall_vx_obj = null;          this.init = function () {         if (lStatus_int &lt; this.INTIALIZED) {             lInstance_vx_obj = VoxImplant.getInstance();             var self = this;             lInstance_vx_obj.addEventListener(VoxImplant.Events.SDKReady, function() {                 lStatus_int = self.INTIALIZED;                 lInstance_vx_obj.addEventListener(VoxImplant.Events.MicAccessResult, function(e) {                     if (e.result) {                         lStatus_int = self.MIC_VERIFIED;                     } else {                         tryToExecuteInitializationCompletedEventHandler();                     }                 });                 if (!lInstance_vx_obj.connected()) {                     lInstance_vx_obj.addEventListener(VoxImplant.Events.ConnectionEstablished, function() {                         lStatus_int = self.CONNECTED;                         lInstance_vx_obj.addEventListener(VoxImplant.Events.AuthResult, function(e) {                             if (e.result) {                                 lStatus_int = self.LOGGED_IN;                             }                             tryToExecuteInitializationCompletedEventHandler();                         });                         lInstance_vx_obj.login(lLogin_str, lPassword_str);                     });                     lInstance_vx_obj.addEventListener(VoxImplant.Events.ConnectionClosed, function() {                         lStatus_int = self.CONNECTION_CLOSED;                     });                     lInstance_vx_obj.addEventListener(VoxImplant.Events.ConnectionFailed, function() {                         lStatus_int = self.CONNECTION_CLOSED;                         tryToExecuteInitializationCompletedEventHandler();                     });                     lInstance_vx_obj.connect();                 }             });             lInstance_vx_obj.init(lOptions_obj);         }     };          \/**      * \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 VoximplantClient.  \t * \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u044b: NOT_INTIALIZED, INTIALIZED, MIC_VERIFIED, CONNECTED, LOGGED_IN, CONNECTION_CLOSED \t * @return {Integer}      *\/     this.getStatus = function() {         return lStatus_int;     };          \/**      * \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d \u043b\u0438 \u0437\u0432\u043e\u043d\u043e\u043a \t * @return {Boolean}      *\/     this.isCallingAllowed = function() {         return lStatus_int === self.LOGGED_IN;     };          \/**      * \u0417\u0432\u043e\u043d\u0438\u043c \u043d\u0430 \u043d\u043e\u043c\u0435\u0440 \t *  \t * @param{String} aNumber \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0432\u043e\u043d\u0438\u043c      *\/     this.callToNumber = function(aNumber) {         if (!this.isCallingAllowed() || lCall_vx_obj !== null) {             return;         }         aNumber = aNumber.replace(\/[^0-9]\/g, '');         lCall_vx_obj = lInstance_vx_obj.call(aNumber);         var self = this;         var closeCallFunc = function() {             lCall_vx_obj.removeEventListener(VoxImplant.CallEvents.Failed, closeCallFunc);             lCall_vx_obj.removeEventListener(VoxImplant.CallEvents.Disconnected, closeCallFunc);             if (lCall_vx_obj.state() !== 'ENDED') {                 lCall_vx_obj.hangup();             }             lCall_vx_obj = null;              if (self.onCallingCompletedEvent && typeof self.onCallingCompletedEvent === 'function') {                 self.onCallingCompletedEvent();             }         };         lCall_vx_obj.addEventListener(VoxImplant.CallEvents.Failed, closeCallFunc);         lCall_vx_obj.addEventListener(VoxImplant.CallEvents.Disconnected, closeCallFunc);          if (this.onCallingStartedEvent && typeof this.onCallingStartedEvent === 'function') {             this.onCallingStartedEvent();         }     };          \/**      * \u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a      *\/     this.hangUp = function() {         if (!this.isCallingAllowed() || lCall_vx_obj === null) {             return;         }         lCall_vx_obj.hangup();     }; } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0435\u0433\u043e. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u043a\u0443\u044e html-\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u0437\u0432\u043e\u043d\u043a\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/275\/953\/3fa\/2759533fad5b4fdbbdae33fe4d7e594f.png\"\/><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u043a\u043e\u0434 html-\u0444\u043e\u0440\u043c\u044b<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"html\">&lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; \t&lt;head&gt; \t\t&lt;meta charset=&quot;utf-8&quot;&gt; \t\t&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt; \t\t&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt; \t\t&lt;title&gt;Voximplant test page&lt;\/title&gt; \t\t&lt;link href=&quot;css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot;&gt; \t&lt;\/head&gt; \t&lt;body&gt; \t\t&lt;div class=&quot;container&quot;&gt; \t\t\t&lt;div class=&quot;row&quot; style=&quot;margin-top:20px;&quot;&gt; \t\t\t\t&lt;div class=&quot;col-xs-4 col-sm-4 col-md-3 text-right&quot;&gt; \t\t\t\t\t\u041f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c \u043d\u0430 \u043d\u043e\u043c\u0435\u0440: \t\t\t\t&lt;\/div&gt; \t\t\t\t&lt;div class=&quot;col-xs-4 col-sm-4 col-md-3&quot;&gt; \t\t\t\t\t&lt;input type=&quot;password&quot; class=&quot;form-control&quot; id=&quot;phone_num&quot;\/&gt; \t\t\t\t&lt;\/div&gt; \t\t\t\t&lt;div class=&quot;col-xs-4 col-sm-4 col-md-3&quot;&gt; \t\t\t\t\t&lt;button type=&quot;button&quot; class=&quot;btn btn-success&quot; id=&quot;call_to_num&quot;&gt;&lt;span class=&quot;glyphicon glyphicon-earphone&quot;&gt;&lt;\/span&gt;&lt;\/button&gt; \t\t\t\t&lt;\/div&gt; \t\t\t&lt;\/div&gt; \t\t\t&lt;div class=&quot;row&quot; style=&quot;margin-top:20px;&quot;&gt; \t\t\t\t&lt;div class=&quot;col-md-12&quot; id=&quot;log&quot;&gt; \t\t\t\t&lt;\/div&gt; \t\t\t&lt;\/div&gt; \t\t&lt;\/div&gt; \t&lt;\/body&gt; &lt;\/html&gt; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432: \u0441\u043a\u0440\u0438\u043f\u0442 WebSDK voximplant&#8217;\u0430, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 jquery, \u043d\u0430\u0448 voximplantclient, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043a\u0440\u0438\u043f\u0442, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 voximplantclient.<\/p>\n<pre><code class=\"javascript\">&lt;script src=&quot;\/\/cdn.voximplant.com\/voximplant.min.js&quot;&gt;&lt;\/script&gt; &lt;script src=&quot;https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.11.3\/jquery.min.js&quot;&gt;&lt;\/script&gt; &lt;script src=&quot;js\/voximplantclient.js&quot;&gt;&lt;\/script&gt; &lt;script&gt; \tvar voximplantClient = new VoximaplantClient('xxxxx', 'xxxxx'); \tvoximplantClient.onInitializationCompletedEvent = function () { \t\t$('#log').append('&lt;p class=&quot;bg-warning&quot;&gt;\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0430\u0446\u0438\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430&lt;\/p&gt;'); \t\tcallToNumber(); \t}; \tvoximplantClient.onCallingStartedEvent = function () { \t\t$('#call_to_num').removeClass('btn-success btn-warning').addClass('btn-danger'); \t\t$('#log').append('&lt;p class=&quot;bg-danger&quot;&gt;\u0417\u0432\u043e\u043d\u043e\u043a \u043d\u0430\u0447\u0430\u043b\u0441\u044f&lt;\/p&gt;'); \t}; \tvoximplantClient.onCallingCompletedEvent = function () { \t\t$('#call_to_num').removeClass('btn-danger btn-warning').addClass('btn-success'); \t\t$('#log').append('&lt;p class=&quot;bg-success&quot;&gt;\u0417\u0432\u043e\u043d\u043e\u043a \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d&lt;\/p&gt;'); \t}; \t \tfunction callToNumber() { \t\tif (voximplantClient.isCallingAllowed()) { \t\t\tvoximplantClient.callToNumber($('#phone_num').val()); \t\t} else { \t\t\tvar voximplantStatus = voximplantClient.getStatus(); \t\t\tif (voximplantStatus === voximplantClient.NOT_INTIALIZED) { \t\t\t\tvoximplantClient.init(); \t\t\t\t$('#call_to_num').removeClass('btn-success btn-danger').addClass('btn-warning'); \t\t\t\t$('#log').append('&lt;p class=&quot;bg-warning&quot;&gt;\u041d\u0430\u0447\u0430\u0442\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f&lt;\/p&gt;'); \t\t\t} else { \t\t\t\tswitch (voximplantStatus) { \t\t\t\t\tcase voximplantClient.INTIALIZED: \t\t\t\t\t\tmsg_text = '\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a. \u041d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0443'; \t\t\t\t\t\tbreak; \t\t\t\t\tcase voximplantClient.MIC_VERIFIED: \t\t\t\t\t\tmsg_text = '\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a. \u041d\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c voximplant'; \t\t\t\t\t\tbreak; \t\t\t\t\tcase voximplantClient.CONNECTED: \t\t\t\t\t\tmsg_text = '\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a. \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 voximplant'; \t\t\t\t\t\tbreak; \t\t\t\t\tcase voximplantClient.CONNECTION_CLOSED: \t\t\t\t\t\tmsg_text = '\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a. \u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c voximplant \u0437\u0430\u043a\u0440\u044b\u0442\u043e. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.'; \t\t\t\t\t\tbreak; \t\t\t\t} \t\t\t\talert(msg_text); \t\t\t} \t\t} \t} \t \t$(document).ready(function () { \t\t$('#call_to_num').click(function () { \t\t\tif ($(this).hasClass('btn-success')) { \t\t\t\tcallToNumber(); \t\t\t} else if ($(this).hasClass('btn-danger')) { \t\t\t\tvoximplantClient.hangUp(); \t\t\t} \t\t}); \t}); &lt;\/script&gt; <\/code><\/pre>\n<p>  \u041f\u043e-\u043c\u043e\u0435\u043c\u0443 \u043a\u043e\u0434 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u043e\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c, \u0447\u0442\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0447\u0435\u0433\u043e. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e0f\/b2e\/c41\/e0fb2ec415224481ae9880424b1c8e4e.gif\"\/><\/p>\n<h5><b>\u0414\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438<\/b><\/h5>\n<p>  \u041a \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043d\u0435\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u0437\u0432\u043e\u043d\u043e\u043a;<\/li>\n<li>\u041d\u043e\u043c\u0435\u0440 \u0434\u043b\u044f \u0434\u043e\u0437\u0432\u043e\u043d\u0430 \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u0441\u0430\u0439\u0442\u0435;<\/li>\n<li>\u041f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0437\u0432\u043e\u043d\u043a\u0430 \u0438 \u043d\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u0437\u0432\u043e\u043d\u043a\u0430;<\/li>\n<li>\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432;<\/li>\n<li>\u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 \u041e\u041e\u041f-\u0441\u0442\u0438\u043b\u0435, \u0447\u0442\u043e \u0441\u0432\u043e\u0434\u0438\u0442 \u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0438 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\u041d\u0435\u0442\u043e\u0447\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 MIC_VERIFIED, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c voximplant, \u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c. \u0414\u0430, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0437\u0430\u043c\u0435\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438;<\/li>\n<li>\u041a\u043b\u0438\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0432\u043e\u043d\u043a\u043e\u0432;<\/li>\n<li>\u041d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 onCallingStartedEvent. \u041a\u043e\u0433\u0434\u0430 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0437\u0432\u043e\u043d\u043e\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c, \u0430 \u043d\u0435 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0437\u0432\u043e\u043d\u043e\u043a \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043e\u0437\u0432\u043e\u043d\u0430;<\/li>\n<\/ul>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043a\u043b\u0430\u0441\u0441 \u0432\u0441\u0435\u0446\u0435\u043b\u043e \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043b \u0441\u0435\u0431\u044f. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u0435\u0441\u043b\u0438 \u044d\u0442\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043c\u0430\u043b\u043e \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u0441\u0435\u043c \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430<a href=\"https:\/\/github.com\/Serganbus\/VoximplantClient\"> \u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/a>.<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c \u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e.       <\/p>\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\/271055\/\"> http:\/\/habrahabr.ru\/post\/271055\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<br \/>\n<h5><b>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/b><\/h5>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c <a href=\"http:\/\/voximplant.com\/\">voximplant<\/a>.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0449\u0435 \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0441 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043a\u0430\u043a \u0438 \u043c\u043d\u043e\u0433\u0438\u0435, \u043d\u0430\u0447\u0430\u043b \u0438\u0441\u043a\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438. \u0418 \u043a\u0430\u043a\u043e\u0432\u043e \u0436\u0435 \u0431\u044b\u043b\u043e \u043c\u043e\u0435 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0438 \u043c\u043d\u043e\u0433\u043e. \u0410 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043e.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0439, \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0432\u043e\u043b\u0435\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0432\u043e\u043a\u0441\u0438\u043c\u043f\u043b\u0430\u043d\u0442\u043e\u043c \u0441\u0430\u043c\u043e\u043c\u0443. \u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0431\u044b\u043b \u0432\u0437\u044f\u0442 \u043a\u043e\u0434 \u0438\u0437 <a href=\"http:\/\/habrahabr.ru\/post\/242191\/\">\u0445\u0430\u0431\u0440\u0430\u043f\u043e\u0441\u0442\u0430<\/a>: \u043d\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u044e \u043d\u0435\u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0439\u0434\u0443 \u0441\u0440\u0430\u0437\u0443 \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<h5><b>\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043a\u043e\u0434<\/b><\/h5>\n<p>  \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043a\u043e\u0434 \u0437\u0430\u0442\u043e\u0447\u0435\u043d \u043f\u043e\u0434 \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<ol>\n<li>\u0437\u0432\u043e\u043d\u043a\u0438 \u0441 \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440;<\/li>\n<li>\u0437\u0432\u043e\u043d\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u0430\u043d\u0435\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430).<\/li>\n<\/ol>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0430. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0442\u043e\u0438\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0432\u043e\u043d\u043a\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c(\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0443). \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u043e\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0437\u0432\u043e\u043d\u043a\u043e\u0432.  <\/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-268373","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/268373","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=268373"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/268373\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=268373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=268373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=268373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}