{"id":189148,"date":"2013-08-06T18:55:02","date_gmt":"2013-08-06T14:55:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=189148"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=189148","title":{"rendered":"<span class=\"post_title\">\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f VoIP \u043a\u0430\u0440\u0442\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 FreeSWITCH \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c RADIUS<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0412\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0445\u043b\u0430\u043c\u0430 \u0432 \u0441\u0442\u043e\u0439\u043a\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0441\u043b\u0435\u0433\u043a\u0430 \u0437\u0430\u0431\u044b\u0442\u043e\u0439, \u043d\u043e \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043c\u0435\u0436\u0434\u0443\u0433\u043e\u0440\u043e\u0434\u043d\u0435\u0439\/\u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0434\u043b\u044f \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0437\u0432\u043e\u043d\u043a\u0430 \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c \u041f\u0418\u041d \u043a\u043e\u0434\u0430. \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0431\u0438\u043b\u043b\u0438\u043d\u0433 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c RADIUS, \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0437\u0432\u043e\u043d\u043a\u0430\u0445 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u0443\u0434\u0430 \u0436\u0435. <\/p>\n<p>  \u0421\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043c\u0430\u043b\u043e \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u0438\u0441\u0430\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0438, \u043c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041c\u043e\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043b\u0438\u0448\u044c \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0438\u0435\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u043e\u043c \u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0442\u043e \u0438 \u0437\u043d\u0430\u043a\u043e\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u043a\u0430\u043a\u0438\u0445 \u043b\u0438\u0431\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u0435\u0434\u0440\u0430\u0441\u0441\u0443\u0434\u043a\u043e\u0432. \u0412\u043f\u043e\u043b\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u043d\u0430 \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a\u0435, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0435\u0433\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043d\u043e \u043f\u043e \u0433\u043e\u0440\u044c\u043a\u043e\u043c\u0443 \u043e\u043f\u044b\u0442\u0443, \u0435\u0433\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0432 \u0441\u0430\u043c\u044b\u0439 \u043d\u0435\u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u043b\u0443\u0436\u0431\u044b \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043d\u0430\u0447\u0438\u0442\u0430\u0432\u0448\u0438\u0441\u044c \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0445 \u043e\u0442\u0437\u044b\u0432\u043e\u0432 \u0438 \u043e\u0431\u0437\u043e\u0440\u043e\u0432, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d FreeSWITCH. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u043d\u0435\u0433\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0438 \u0435\u0449\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0438\u0441\u043f\u0443\u0433\u0430\u043b\u043e, \u0432\u0435\u0434\u044c \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u0441\u044f, \u043a\u0430\u043a \u0410\u0441\u0442\u0435\u0440\u0438\u0441\u043a \u043d\u0430 \u0437\u0430\u043a\u0430\u0442\u0435 h323 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432 \u0441\u0442\u0440\u043e\u0433\u043e\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0439 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0431\u044b\u043b\u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u044b. \u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u044b\u043b \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0435\u043d <a href=\"http:\/\/wiki.freeswitch.org\">Wiki<\/a>.<\/p>\n<h4>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h4>\n<p>  \u0415\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u0437\u0432\u043e\u043d\u0438\u0442\u044c \u043f\u043e \u043c\u0435\u0436\u0433\u043e\u0440\u043e\u0434\u0443 \u0432\u044b\u0433\u043e\u0434\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u043e \u0442\u0430\u0440\u0438\u0444\u0430\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0441\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445 \u043b\u0438\u0431\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430, \u0433\u0434\u0435 \u043d\u0435\u0442 \u0432\u044b\u0445\u043e\u0434\u0430 \u043d\u0430 \u00ab8-\u043a\u0443\u00bb. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (\u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e), \u043a\u0443\u0434\u0430 \u043a\u043b\u0438\u0435\u043d\u0442 \u0437\u0432\u043e\u043d\u0438\u0442 (\u0434\u0430\u043b\u0435\u0435 555555), \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e (\u043f\u043e \u0410\u041e\u041d \u0438\u043b\u0438 \u041f\u0418\u041d \u043a\u043e\u0434\u0443), \u0441\u043b\u044b\u0448\u0438\u0442 \u0441\u0432\u043e\u0439 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0438 \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u043e\u043c\u0435\u0440 \u043a\u0443\u0434\u0430 \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c, \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0437\u0432\u043e\u043d\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0431\u0438\u043b\u043b\u0438\u043d\u0433 \u0434\u043b\u044f \u043e\u0431\u0441\u0447\u0435\u0442\u0430. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0441 \u0434\u0430\u0432\u043d\u0438\u0445 \u043b\u0435\u0442 (\u0438 \u0431\u044b\u043b\u043e \u043c\u0435\u0433\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0443\u0441\u043b\u0443\u0433\u043e\u0439) \u043d\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0439 \u0438 \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0439 Cisco AS5300. \u041f\u0440\u0435\u0434\u0432\u043e\u0441\u0445\u0438\u0449\u0430\u044f \u043a\u0440\u0438\u0442\u0438\u043a\u0443 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u0410\u041e\u041d: \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u0435\u0434\u043e\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0431\u0430\u043b\u0430\u043d\u0441\u043e\u0432 \u043d\u0438 \u0443 \u043a\u043e\u0433\u043e \u043d\u0435\u0442 \u2013 \u0440\u0438\u0441\u043a\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435, \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u043b\u043e \u2013 \u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u043a\u0430\u043a\u0438\u043c \u0410\u041e\u041d \u043c\u043e\u0436\u043d\u043e \u0437\u0432\u043e\u043d\u0438\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, \u0437\u0432\u043e\u043d\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 VoIP \u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e \u2013 \u043f\u0440\u043e\u0444\u0438\u0442 \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0437\u0432\u043e\u043d\u043a\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439, \u043c\u0435\u0441\u0442\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u043b\u0435\u0433\u043a\u043e.<\/p>\n<p>  \u0427\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0441\u0445\u0435\u043c\u044b \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u043f\u0440\u0430\u0432\u0430 \u044d\u0442\u043e expression \u0434\u043b\u044f extension\u2019\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/bb0\/959\/b6d\/bb0959b6dcc962880eaee76a8ba577d4.png\"\/><\/p>\n<p>  \u041d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e, \u043d\u043e \u043f\u043e\u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c.   <\/p>\n<ol>\n<li>\u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0434\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u0430 \u0444\u043e\u0440\u043c\u0430\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 \u0432 xml, \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 \u0438\u0445 \u0438\u043d\u043a\u043b\u0443\u0434\u043e\u0432 \u043f\u043e \u043d\u0430\u0447\u0430\u043b\u0443 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u043e\u0439.<\/li>\n<li>\u041e\u0447\u0435\u043d\u044c \u043d\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 condition, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u043d\u044f \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0431\u0438\u0432\u0430\u043b\u043e \u0441 \u0442\u043e\u043b\u043a\u0443 break=\u00abon-true\u00bb (\u043a\u0430\u043a \u0436\u0435 \u0442\u0430\u043a \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e \u0438\u0441\u0442\u0438\u043d\u0435), \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u043e\u0447\u0435\u043d\u044c \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043e\u0439\u0442\u0438 \u043a \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u0438 \u0432\u0441\u0451 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e. \u0415\u0441\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e, \u0442\u043e break \u0432\u043b\u0438\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0445\u043e\u0442\u044b (\u043e\u0431 \u043e\u0445\u043e\u0442\u0435 \u0447\u0443\u0442\u044c \u043d\u0438\u0436\u0435) \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 conditions \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c extension \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0432\u043f\u0430\u043b\u043e (true), \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u043b\u043e (false \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e) \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 (never).<\/li>\n<li>\u0412\u0441\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u043a\u0440\u043e\u043c\u0435 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c inline=\u00abtrue\u00bb, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 transfer \u0438\u043b\u0438 execute_extension. \u0421\u0443\u0442\u044c \u0432 \u0442\u043e\u043c \u0447\u0442\u043e FS \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 XML_Dialplan \u0432 \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430 \u2014 \u043e\u0445\u043e\u0442\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (hunting \u0438 executing). \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0445\u043e\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f conditions, actions and anti-actions \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0434\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u0430\u043a\u043e\u0433\u043e \u043b\u0438\u0431\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 extension.<\/li>\n<li>\u041d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0431\u0435\u0437 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043c\u0443\u0449\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0445 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/li>\n<li>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043a\u0443\u0434\u043d\u0430\u044f (\u0431\u044b\u043b\u043e \u044d\u043f\u0438\u0447\u043d\u044b\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432 \u0430\u043f\u0440\u0435\u043b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438: If you don&#8217;t know what this app does then you should not be using it! \ud83d\ude42 ).<\/li>\n<\/ol>\n<h4>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/h4>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 FS \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0442\u0430\u043c \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0434\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438. \u0412\u0441\u0435 \u043f\u0443\u0442\u0438 \u0431\u0443\u0434\u0443 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0430\u043f\u043a\u0438, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d FS. <\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u044b\u043b \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 FS (\u0435\u0441\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 \u043f\u0440\u0438 \u0437\u0432\u043e\u043d\u043a\u0435 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u2013 5080). \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0434\u043b\u044f \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u0432\u043e\u043d\u043a\u043e\u0432 (\u0434\u043b\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e extension \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 public) \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c sipgate (IP \u0430\u0434\u0440\u0435\u0441 10.10.10.10) \u0432 conf\/sip_profiles\/external\/sipgate.xml, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u0435\u0437 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<pre><code class=\"xml\">&lt;include&gt;   &lt;gateway name=&quot;sipgate&quot;&gt;   &lt;param name=&quot;username&quot; value=&quot;&lt;\u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430&gt;&quot;\/&gt;   &lt;param name=&quot;proxy&quot; value=&quot;10.10.10.10&quot;\/&gt;   &lt;param name=&quot;register&quot; value=&quot;false&quot;\/&gt;   &lt;param name=&quot;caller-id-in-from&quot; value=&quot;true&quot;\/&gt;   &lt;\/gateway&gt; &lt;\/include&gt; <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0443\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c FS \u0438 \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u043f\u0430\u043f\u043a\u0430 sounds\/ru\/RU\/elena \u0437\u0432\u0443\u043a\u043e\u0432\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0430, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 8000 (<a href=\"http:\/\/files.freeswitch.org\/freeswitch-sounds-ru-RU-elena-8000-1.0.13.tar.gz\">\u0430\u0440\u0445\u0438\u0432 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438<\/a>). \u0412 \u0444\u0430\u0439\u043b\u0435 freeswitch.xml \u043c\u0435\u043d\u044f\u0435\u043c en \u043d\u0430 ru:<\/p>\n<pre><code class=\"xml\">&lt;section name=&quot;languages&quot; description=&quot;Language Management&quot;&gt; &lt;!--    &lt;X-PRE-PROCESS cmd=&quot;include&quot; data=&quot;lang\/en\/*.xml&quot;\/&gt;--&gt;     &lt;X-PRE-PROCESS cmd=&quot;include&quot; data=&quot;lang\/ru\/*.xml&quot;\/&gt;   &lt;\/section&gt; <\/code><\/pre>\n<p>  \u0413\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0438 \u0438\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u043d\u043e \u0441 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<br \/>  \u041a\u043e\u043d\u0444\u0438\u0433 dialplan\/public.xml \u0431\u044b\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0443\u0440\u0435\u0437\u0430\u043d:<\/p>\n<pre><code class=\"xml\">&lt;include&gt;   &lt;context name=&quot;public&quot;&gt;     &lt;extension name=&quot;unloop&quot;&gt;       &lt;condition field=&quot;${unroll_loops}&quot; expression=&quot;^true$&quot;\/&gt;       &lt;condition field=&quot;${sip_looped_call}&quot; expression=&quot;^true$&quot;&gt;         &lt;action application=&quot;deflect&quot; data=&quot;${destination_number}&quot;\/&gt;       &lt;\/condition&gt;     &lt;\/extension&gt;     &lt;X-PRE-PROCESS cmd=&quot;include&quot; data=&quot;public\/*.xml&quot;\/&gt;   &lt;\/context&gt; &lt;\/include&gt; <\/code><\/pre>\n<p>  \u0410 \u0432 \u0444\u0430\u0439\u043b\u0435 conf\/dialplan\/public\/voip_public.xml \u043f\u0438\u0448\u0435\u043c extension \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u0433\u0434\u0435 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443:<\/p>\n<pre><code class=\"xml\">&lt;include&gt;   &lt;extension name=&quot;voip_platform_pub_step1&quot;&gt;     &lt;condition field=&quot;destination_number&quot; expression=&quot;^(555555)$&quot;&gt;         &lt;!-- \u0415\u0449\u0435 \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u0432 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0443 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0410\u041e\u041d\u0443 --&gt;         &lt;action application=&quot;log&quot; data=&quot;INFO pub\/1 RAD_AUTH STEP1&quot;\/&gt;         &lt;action application=&quot;set&quot; data=&quot;process_cdr=b_only&quot;\/&gt;&lt;!-- \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 Stop accounting \u043f\u0430\u043a\u0435\u0442\u0430 \u0434\u043b\u044f \u0410 \u043d\u043e\u0433\u0438, \u0442.\u043a. \u043d\u0430\u043c \u043d\u0435 \u043d\u0430\u0434\u043e \u0442\u0430\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0437\u0432\u043e\u043d\u043e\u043a, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e Start \u043f\u0430\u043a\u0435\u0442\u044b \u0432\u0441\u0435-\u0440\u0430\u0432\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u0438\u0445 \u043c\u043d\u043e\u0433\u043e... --&gt;         &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;pin_auth_count=0&quot;\/&gt;&lt;!-- \u0444\u043b\u0430\u0433 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u041f\u0418\u041d\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0430\u043d\u0441\u0435 - \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u043f\u0430\u0440\u043e\u043b\u0435\u0439 --&gt;         &lt;!-- \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a radius \u0441\u0435\u0440\u0432\u0435\u0440\u0443 --&gt;         &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;CALLID=${uuid}&quot;\/&gt;         &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;CALLINGNUMBER=${caller_id_number}&quot;\/&gt;         &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;USERNAME=${caller_id_number}&quot;\/&gt;         &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;STEP=fs1&quot;\/&gt;&lt;!-- \u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u0410\u041e\u041d\u0443 (\u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0421\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u0435\u0442\u0438 \u0431\u0438\u043b\u043b\u0438\u043d\u0433\u043e\u043c) --&gt;          &lt;action application=&quot;auth_function&quot; data=&quot;in ${CALLEDNUMBER}, in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT&quot;\/&gt;&lt;!-- \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 radius, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 ..\/..\/autoload_configs\/rad_auth.conf.xml --&gt;          &lt;action application=&quot;log&quot; data=&quot;INFO pub\/1 AUTH_RESULT=${AUTH_RESULT}: credit_amount=${credit_amount}; return_code=${return_code}&quot;\/&gt;         &lt;action application=&quot;set&quot; data=&quot;domain_name=$${domain}&quot;\/&gt;         &lt;action application=&quot;transfer&quot; data=&quot;10 XML voip&quot;\/&gt;&lt;!-- \u0434\u0430\u043b\u0435\u0435 \u0432\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u0437\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 --&gt;     &lt;\/condition&gt;   &lt;\/extension&gt; &lt;\/include&gt; <\/code><\/pre>\n<p>  \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u00abSTEP=fs1\u00bb \u2013 \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0431\u0438\u043b\u0438\u043d\u0433\u0443 \u0447\u0442\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u0410\u041e\u041d\u0443 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c fs1, \u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u041f\u0418\u041d fs1pin.<\/p>\n<p>  \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f conf\/autoload_configs\/rad_auth.conf.xml (IP \u0430\u0434\u0440\u0435\u0441 RADIUS \u0441\u0435\u0440\u0432\u0435\u0440\u0430 10.20.20.20):<\/p>\n<pre><code class=\"xml\">&lt;configuration name=&quot;rad_auth.conf&quot; description=&quot;radius authentification module&quot;&gt;   &lt;settings&gt;   &lt;\/settings&gt;    &lt;client&gt;     &lt;param name=&quot;authserver&quot; value=&quot;10.20.20.20:1812:radiussecret&quot;\/&gt;     &lt;param name=&quot;dictionary&quot; value=&quot;\/usr\/local\/etc\/radiusclient\/dictionary.all&quot;\/&gt;     &lt;param name=&quot;seqfile&quot; value=&quot;\/var\/run\/radius.seq&quot;\/&gt;     &lt;param name=&quot;mapfile&quot; value=&quot;\/usr\/local\/etc\/radiusclient\/port-id-map&quot;\/&gt;     &lt;param name=&quot;default_realm&quot; value=&quot;&quot;\/&gt;     &lt;param name=&quot;radius_timeout&quot; value=&quot;3&quot;\/&gt;     &lt;param name=&quot;radius_retries&quot; value=&quot;2&quot;\/&gt;     &lt;param name=&quot;radius_deadtime&quot; value=&quot;0&quot;\/&gt;     &lt;param name=&quot;bindaddr&quot; value=&quot;*&quot;\/&gt;   &lt;\/client&gt;    &lt;vsas&gt;     &lt;!--name=\u0440\u0430\u0434\u0438\u0443\u0441 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, id=\u0435\u0433\u043e \u043d\u043e\u043c\u0435\u0440 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e dictionary, value=\u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0440\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, pec=\u0442\u043e\u0436\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e dictionary, expr=\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, direction=\u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u043e --&gt;     &lt;param name=&quot;Acct-Session-Id&quot; id=&quot;44&quot; value=&quot;CALLID&quot; pec=&quot;0&quot; expr=&quot;1&quot; direction=&quot;in&quot;\/&gt;     &lt;param name=&quot;Freeswitch-Ani&quot; id=&quot;8&quot; value=&quot;CALLINGNUMBER&quot; pec=&quot;27880&quot; expr=&quot;1&quot; direction=&quot;in&quot;\/&gt;     &lt;param name=&quot;Freeswitch-Dst&quot; id=&quot;5&quot; value=&quot;CALLEDNUMBER&quot; pec=&quot;27880&quot; expr=&quot;1&quot; direction=&quot;in&quot;\/&gt;     &lt;param name=&quot;NAS-Port-Type&quot; id=&quot;61&quot; value=&quot;0&quot; pec=&quot;0&quot; expr=&quot;0&quot; direction=&quot;in&quot;\/&gt;     &lt;param name=&quot;Connect-Info&quot; id=&quot;77&quot; value=&quot;STEP&quot; pec=&quot;0&quot; expr=&quot;1&quot; direction=&quot;in&quot;\/&gt;      &lt;param name=&quot;CREDIT_AMOUNT&quot; id=&quot;101&quot; value=&quot;credit_amount&quot; pec=&quot;9&quot; expr=&quot;0&quot; direction=&quot;out&quot;\/&gt;     &lt;param name=&quot;CREDIT_TIME&quot; id=&quot;102&quot; value=&quot;credit_time&quot; pec=&quot;9&quot; expr=&quot;0&quot; direction=&quot;out&quot;\/&gt;     &lt;param name=&quot;RADIUS_RETURN_CODE&quot; id=&quot;103&quot; value=&quot;return_code&quot; pec=&quot;9&quot; expr=&quot;0&quot; direction=&quot;out&quot;\/&gt;     &lt;\/vsas&gt;  &lt;\/configuration&gt; <\/code><\/pre>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 conf\/dialplan\/voip.xml, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0445\u0435\u043c\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;include&gt;  &lt;context name=&quot;voip&quot;&gt;    &lt;extension name=&quot;unloop&quot;&gt;     &lt;condition field=&quot;${unroll_loops}&quot; expression=&quot;^true$&quot;\/&gt;     &lt;condition field=&quot;${sip_looped_call}&quot; expression=&quot;^true$&quot;&gt;       &lt;action application=&quot;deflect&quot; data=&quot;${destination_number}&quot;\/&gt;     &lt;\/condition&gt;   &lt;\/extension&gt;    &lt;extension name=&quot;voip_10&quot;&gt;     &lt;condition field=&quot;destination_number&quot; expression=&quot;^10$&quot; break=&quot;on-false&quot;\/&gt;     &lt;condition field=&quot;${AUTH_RESULT}&quot; expression=&quot;^OK$&quot; break=&quot;on-true&quot;&gt;       &lt;!-- \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 IVR \u0434\u043b\u044f \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f dtmf \u043d\u043e\u043c\u0435\u0440\u0430 --&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_10 AUTH_RESULT=${AUTH_RESULT} =&gt; Read DTMF&quot;\/&gt;       &lt;action application=&quot;answer&quot;\/&gt;       &lt;action application=&quot;sleep&quot; data=&quot;1000&quot;\/&gt;       &lt;action application=&quot;play_and_get_digits&quot; data=&quot;6 20 5 30000 # phrase:voip_get_digits voicemail\/vm-fail_auth.wav digits ^\\**(\\d{6}|\\d{10,20})\\**$ 5000&quot;\/&gt;&lt;!-- &lt;min&gt; &lt;max&gt; &lt;tries&gt; &lt;timeout&gt; &lt;terminators&gt; &lt;file&gt; &lt;invalid_file&gt; &lt;var_name&gt; &lt;regexp&gt; &lt;digit_timeout&gt; --&gt;       &lt;action application=&quot;transfer&quot; data=&quot;20 XML voip&quot;\/&gt;     &lt;\/condition&gt;     &lt;condition field=&quot;${return_code}&quot; expression=&quot;^h323-return-code=6$&quot; break=&quot;on-true&quot;&gt;       &lt;!-- \u0411\u0430\u043b\u0430\u043d\u0441 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e =&gt; \u043d\u0430\u0434\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432 --&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_10 RETURN_CODE = 6 =&gt; Closed account&quot;\/&gt;       &lt;action application=&quot;answer&quot;\/&gt;       &lt;action application=&quot;sleep&quot; data=&quot;1000&quot;\/&gt;       &lt;!--TODO!!! \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043f\u0440\u043e \u0431\u0430\u043b\u0430\u043d\u0441 --&gt;       &lt;action application=&quot;playback&quot; data=&quot;voicemail\/vm-not_available.wav&quot;\/&gt;       &lt;action application=&quot;hangup&quot; data=&quot;NORMAL_CLEARING&quot;\/&gt;     &lt;\/condition&gt;       &lt;!--TODO!!! \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0448\u0438\u0431\u043e\u043a  --&gt;     &lt;condition field=&quot;${pin_auth_count}&quot; expression=&quot;^0$&quot; break=&quot;on-true&quot;&gt;&lt;!-- \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u0435\u0449\u0435 \u043d\u0435 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f --&gt;       &lt;!-- \u041f\u043e \u043a\u0430\u043a\u0438\u043c \u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u0410\u041e\u041d\u0443 \u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0430, \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c PIN  --&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;pin_auth_count=1&quot;\/&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_10 RETURN_CODE = OTHER&quot;\/&gt;       &lt;action application=&quot;answer&quot;\/&gt;       &lt;action application=&quot;sleep&quot; data=&quot;1000&quot;\/&gt;       &lt;action application=&quot;play_and_get_digits&quot; data=&quot;10 10 5 30000 # phrase:voip_get_pin conference\/conf-bad-pin.wav pin ^(\\d{10})$ 5000&quot;\/&gt;&lt;!-- &lt;min&gt; &lt;max&gt; &lt;tries&gt; &lt;timeout&gt; &lt;terminators&gt; &lt;file&gt; &lt;invalid_file&gt; &lt;var_name&gt; &lt;regexp&gt; &lt;digit_timeout&gt; --&gt;       &lt;action application=&quot;transfer&quot; data=&quot;15 XML voip&quot;\/&gt;     &lt;\/condition&gt;     &lt;condition&gt;       &lt;!-- \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u0410\u041e\u041d\u0443,            \u0435\u0441\u043b\u0438 \u0440\u0430\u0434\u0438\u0443\u0441 \u043e\u0442\u0431\u0438\u043b \u043d\u0435 \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430,            \u0435\u0441\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0435 \u043f\u043e\u043f\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 PIN-\u043a\u043e\u0434\u0430,            \u0437\u043d\u0430\u0447\u0438\u0442 \u043b\u0443\u0437\u0435\u0440 \u0443\u0436\u0435 \u0432\u0432\u043e\u0434\u0438\u043b PIN-\u043a\u043e\u0434 \u0438 \u043d\u0435 \u043f\u0440\u043e\u0448\u0435\u043b \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e --&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_10 Prevent second PIN authentification&quot;\/&gt;       &lt;action application=&quot;answer&quot;\/&gt;       &lt;action application=&quot;sleep&quot; data=&quot;1000&quot;\/&gt;       &lt;!--TODO!!! \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u043f\u0440\u043e\u0449\u0430\u043d\u0438\u0435\u043c \u0441 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u043c\u0438 \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f\u043c\u0438 --&gt;       &lt;action application=&quot;playback&quot; data=&quot;voicemail\/vm-not_available.wav&quot;\/&gt;       &lt;action application=&quot;hangup&quot; data=&quot;NORMAL_CLEARING&quot;\/&gt;     &lt;\/condition&gt;   &lt;\/extension&gt;    &lt;extension name=&quot;voip_15&quot;&gt;     &lt;condition field=&quot;destination_number&quot; expression=&quot;^15$&quot;\/&gt;     &lt;condition field=&quot;${pin}&quot; expression=&quot;^(\\d{6})(\\d{4})$&quot;&gt;       &lt;!-- \u041f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043f\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c\u0443 PIN-\u043a\u043e\u0434\u0443 --&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_15 pin=($1+$2) =&gt; RAD_AUTH STEP1\/PIN&quot;\/&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;CALLINGNUMBER=${caller_id_number}&quot;\/&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;USERNAME=$1&quot;\/&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;PASSWD=$2&quot;\/&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;STEP=fs1pin&quot;\/&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_15 CALLID=${CALLID}; CALLINGNUMBER=${CALLINGNUMBER}; USERNAME=${USERNAME}&quot;\/&gt;        &lt;action application=&quot;auth_function&quot; data=&quot;in ${CALLEDNUMBER}, in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT&quot;\/&gt;        &lt;action application=&quot;log&quot; data=&quot;INFO voip_15 AUTH_RESULT=${AUTH_RESULT}: credit_amount=${credit_amount}; return_code=${return_code}&quot;\/&gt;       &lt;action application=&quot;transfer&quot; data=&quot;10 XML voip&quot;\/&gt;&lt;!-- \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0448\u0430\u0433 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0440\u0430\u0434\u0438\u0443\u0441\u0443 \u0443\u0436\u0435 \u043f\u043e \u041f\u0418\u041d\u0443 --&gt;     &lt;\/condition&gt;   &lt;\/extension&gt;    &lt;extension name=&quot;voip_20&quot;&gt;     &lt;condition field=&quot;destination_number&quot; expression=&quot;^20$&quot;\/&gt;     &lt;condition field=&quot;${digits}&quot; expression=&quot;^\\**(\\d+)\\**$&quot;&gt;       &lt;!-- \u0421\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u0443 \u0440\u0430\u0434\u0438\u0443\u0441\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u043a\u043b\u0438\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c --&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;digits=$1&quot;\/&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;digits=${regex(${digits}|^(\\d{6})$|83532%1)}&quot;\/&gt;&lt;!-- \u041f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c 85555 \u2013 \u043a\u043e\u0434 \u0433\u043e\u0440\u043e\u0434\u0430 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u043e\u043c\u0435\u0440\u0430 \u0435\u0441\u043b\u0438 \u0448\u0430\u0431\u043b\u043e\u043d ^(\\d{6})$ \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u043c --&gt;        &lt;action application=&quot;log&quot; data=&quot;INFO voip_20 DTMF digits=${digits} =&gt; RAD_AUTH STEP2&quot;\/&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_20 CALLID=${CALLID}; CALLINGNUMBER=${CALLINGNUMBER}; USERNAME=${USERNAME}&quot;\/&gt;        &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;CALLEDNUMBER=${digits}&quot;\/&gt;       &lt;!-- \u0435\u0441\u043b\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u043f\u043e \u041f\u0418\u041d\u0443 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c fs2pin \u0438\u043d\u0430\u0447\u0435 fs2 --&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;STEP=${regex(${STEP}|^fs\\d(.*)$|fs2%1)}&quot;\/&gt;       &lt;action application=&quot;auth_function&quot; data=&quot;in ${CALLEDNUMBER}, in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT&quot;\/&gt;        &lt;action application=&quot;log&quot; data=&quot;INFO voip_20 AUTH_RESULT=${AUTH_RESULT}: credit_amount=${credit_amount}; credit_time=${credit_time}; return_code=${return_code}&quot;\/&gt;       &lt;!-- \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u0434\u043b\u044f \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0432\u043e\u043d\u043a\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u043c \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u043c \u0440\u0430\u0434\u0438\u0443\u0441\u043e\u043c --&gt;       &lt;action application=&quot;export&quot; data=&quot;nolocal:api_on_answer=sched_hangup +${credit_time} ${uuid} alloted_timeout&quot; \/&gt;       &lt;action application=&quot;transfer&quot; data=&quot;30 XML voip&quot;\/&gt;     &lt;\/condition&gt;   &lt;\/extension&gt;    &lt;extension name=&quot;voip_30&quot;&gt;     &lt;condition field=&quot;destination_number&quot; expression=&quot;^30$&quot; break=&quot;on-false&quot;\/&gt;     &lt;condition field=&quot;${AUTH_RESULT}&quot; expression=&quot;^OK$&quot; break=&quot;on-true&quot;&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_30 AUTH_RESULT=${AUTH_RESULT} =&gt; Call number&quot;\/&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;effective_caller_id_number=35555555555&quot;\/&gt;       &lt;!-- \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0421\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u0435\u0442\u0438 \u0431\u0438\u043b\u043b\u0438\u043d\u0433\u043e\u043c (\u0410\u041e\u041d|\u041f\u0418\u041d) \u0432\u044b\u0434\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0448\u0430\u0433 (fs2|fs2pin), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0432 \u043f\u043e\u043b\u0435 Freeswitch-CLID \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0438\u043d\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 --&gt;       &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;effective_caller_id_name=${STEP}&quot;\/&gt;       &lt;!-- \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u043b\u044f \u0411 \u043d\u043e\u0433\u0438 USERNAME \u043f\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u044b\u043b\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 mod_radius_cdr \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0410\u041e\u041d \u0432 \u043f\u043e\u043b\u0435 User-Name \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0438\u043d\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 --&gt;       &lt;action application=&quot;export&quot; data=&quot;nolocal:acc_username=${USERNAME}&quot;\/&gt; &lt;!--      &lt;action application=&quot;set_profile_var&quot; data=&quot;Caller-Username=${USERNAME}&quot;\/&gt; \u043f\u043e \u0438\u0434\u0435\u0435 \u044d\u0442\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u044e\u0437\u0435\u0440\u043d\u044d\u0439\u043c \u0434\u043b\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e mod_radius_cdr, \u043d\u043e \u0441\u0445\u043e\u0434\u0443 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0436\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d --&gt;       &lt;action application=&quot;set&quot; data=&quot;hangup_after_bridge=true&quot;\/&gt;&lt;!-- \u043f\u043e\u0441\u043b\u0435 !\u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u0432\u043e\u043d\u043a\u0430 --&gt;       &lt;action application=&quot;bridge&quot; data=&quot;sofia\/gateway\/sipgate\/${digits}&quot;\/&gt;       &lt;!--TODO!!! \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 --&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_30 AFTER BRIDGE&quot;\/&gt;     &lt;\/condition&gt;     &lt;!--TODO!!! \u0417\u0434\u0435\u0441\u044c \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043d\u0435\u0442 \u0446\u0435\u043d\u044b \u0438 \u0442.\u043f. --&gt;     &lt;!--TODO!!! h323-return-code=9 Access denied - \u0435\u0441\u043b\u0438 \u0431\u0438\u043b\u043b\u0438\u043d\u0433 \u043d\u0435 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b \u0422\u041f\u0422, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0432\u043e\u0434 \u043d\u043e\u043c\u0435\u0440\u0430 --&gt;     &lt;condition&gt;       &lt;action application=&quot;log&quot; data=&quot;INFO voip_30 RETURN_CODE = OTHER&quot;\/&gt;       &lt;action application=&quot;answer&quot;\/&gt;       &lt;action application=&quot;sleep&quot; data=&quot;1000&quot;\/&gt;       &lt;action application=&quot;playback&quot; data=&quot;zrtp\/zrtp-status_error.wav&quot;\/&gt;       &lt;action application=&quot;hangup&quot; data=&quot;NORMAL_CLEARING&quot;\/&gt;     &lt;\/condition&gt;   &lt;\/extension&gt;   &lt;\/context&gt; &lt;\/include&gt; <\/code><\/pre>\n<p>  \u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f phrase:voip_get_digits \u0438 phrase:voip_get_pin \u2013 \u00ab\u0444\u0440\u0430\u0437\u044b\u00bb \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0432\u0432\u043e\u0434\u0430, \u043f\u0440\u0438\u0447\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e. \u0425\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 conf\/lang\/ru\/viop.xml:<\/p>\n<pre><code class=\"xml\">&lt;include&gt;   &lt;macro name=&quot;voip_get_digits&quot; pause=&quot;250&quot;&gt;     &lt;input pattern=&quot;(.*)&quot;&gt;       &lt;match&gt;         &lt;action function=&quot;play-file&quot; data=&quot;ivr\/ivr-account_balance_is.wav&quot;\/&gt;         &lt;action function=&quot;say&quot; data=&quot;${credit_amount}&quot; method=&quot;pronounced&quot; type=&quot;currency&quot;\/&gt;         &lt;action function=&quot;play-file&quot; data=&quot;ivr\/ivr-please_enter_the_phone_number.wav&quot;\/&gt;       &lt;\/match&gt;     &lt;\/input&gt;   &lt;\/macro&gt;   &lt;macro name=&quot;voip_get_pin&quot; pause=&quot;250&quot;&gt;     &lt;input pattern=&quot;(.*)&quot;&gt;       &lt;match&gt;         &lt;action function=&quot;play-file&quot; data=&quot;ivr\/ivr-please_enter_pin_followed_by_pound.wav&quot;\/&gt;         &lt;action function=&quot;execute&quot; data=&quot;sleep(1000)&quot;\/&gt;       &lt;\/match&gt;     &lt;\/input&gt;   &lt;\/macro&gt; &lt;\/include&gt; <\/code><\/pre>\n<p>  \u0418 \u0435\u0449\u0435 \u043a\u043e\u043d\u0444\u0438\u0433 conf\/autoload_configs\/mod_radius_cdr.conf.xml, \u0433\u0434\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u0432\u0441\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0436\u0435\u0441\u0442\u043a\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u043a\u043e\u0434\u0435:<\/p>\n<pre><code class=\"xml\">&lt;configuration name=&quot;mod_radius_cdr.conf&quot; description=&quot;RADIUS CDR Configuration&quot;&gt;         &lt;settings&gt;                 &lt;param name=&quot;dictionary&quot; value=&quot;\/usr\/local\/etc\/radiusclient\/dictionary.all&quot;\/&gt;                 &lt;param name=&quot;seqfile&quot; value=&quot;\/var\/run\/radius.seq&quot;\/&gt;                 &lt;param name=&quot;acctserver&quot; value=&quot;10.20.20.20:1813:radiussecret&quot;\/&gt;                 &lt;param name=&quot;radius_retries&quot; value=&quot;2&quot;\/&gt;                 &lt;param name=&quot;radius_timeout&quot; value=&quot;3&quot;\/&gt;                 &lt;param name=&quot;radius_deadtime&quot; value=&quot;0&quot;\/&gt;         &lt;\/settings&gt; &lt;\/configuration&gt; <\/code><\/pre>\n<p>  \u041c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u0432\u0430\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043b\u0438 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u0438\u043b\u0438 \u043f\u043e \u043b\u043e\u0433\u0438\u043d\u0443, \u0430 \u043a\u0430\u043a \u0447\u0435\u0440\u0435\u0437 \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u0448\u0442\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u0444\u043b\u0430\u0433\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u044f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b.<\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435, \u043a\u043e\u0433\u0434\u0430 \u0443\u0436\u0435 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0431\u044b\u043b \u0436\u0435\u0441\u0442\u043e\u043a\u043e \u043a\u0430\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u043e\u0431\u0449\u0438\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 FS, \u0434\u0430\u0431\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 log\/freeswitch.xml.fsxml. <br \/>  \u041f\u043e \u0442\u0435\u043a\u0441\u0442\u0443 \u0435\u0441\u0442\u044c \u0442\u0443\u0434\u0443\u0448\u043a\u0438, \u0431\u0435\u0437 \u043d\u0438\u0445 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u0435\u0441\u043b\u0438 \u0438\u0445 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u0435\u0435. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/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\/189148\/\"> http:\/\/habrahabr.ru\/post\/189148\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0412\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0445\u043b\u0430\u043c\u0430 \u0432 \u0441\u0442\u043e\u0439\u043a\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0441\u043b\u0435\u0433\u043a\u0430 \u0437\u0430\u0431\u044b\u0442\u043e\u0439, \u043d\u043e \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043c\u0435\u0436\u0434\u0443\u0433\u043e\u0440\u043e\u0434\u043d\u0435\u0439\/\u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0434\u043b\u044f \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0437\u0432\u043e\u043d\u043a\u0430 \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c \u041f\u0418\u041d \u043a\u043e\u0434\u0430. \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0431\u0438\u043b\u043b\u0438\u043d\u0433 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c RADIUS, \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0437\u0432\u043e\u043d\u043a\u0430\u0445 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u0443\u0434\u0430 \u0436\u0435. <\/p>\n<p>  \u0421\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043c\u0430\u043b\u043e \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u0438\u0441\u0430\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0438, \u043c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f.  <\/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-189148","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/189148","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=189148"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/189148\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=189148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=189148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=189148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}