{"id":893,"date":"2018-10-28T22:46:27","date_gmt":"2018-10-28T18:46:27","guid":{"rendered":"https:\/\/bukleev.ru\/?page_id=893"},"modified":"2019-10-13T13:19:11","modified_gmt":"2019-10-13T09:19:11","slug":"%d0%ba%d0%be%d0%b2%d1%8b%d1%80%d1%8f%d0%b5%d0%bc-fusionpbx","status":"publish","type":"page","link":"https:\/\/bukleev.ru\/?page_id=893","title":{"rendered":"\u041a\u043e\u0432\u044b\u0440\u044f\u0435\u043c FusionPBX"},"content":{"rendered":"<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0432 \u043f\u0440\u0438\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 <strong>PostgreSQL<\/strong> \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 <strong>MSSQL<\/strong><\/p>\n<p><strong>FS<\/strong> &#8212; \u0438\u043c\u044f \u043f\u0440\u0438\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u00a0PostgreSQL<\/p>\n<p><strong>fusionpbx<\/strong> &#8212; \u0438\u043c\u044f \u0431\u0430\u0437\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435\u00a0PostgreSQL<\/p>\n<p>\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c:<\/p>\n<pre>DECLARE @SQLtext nvarchar(max)\r\nSET @SQLtext = 'select * from fusionpbx.public.v_call_recordings'\r\nSET @SQLtext = 'SELECT * FROM OPENQUERY(FS, '+ CHAR(39) + @SQLtext + CHAR(39) +') AS derivedtbl_1'\r\n\r\ninsert #dataset exec (@SQLtext) - \u0435\u0441\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 #dataset\r\n\u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\r\nexec (@SQLtext)\r\n\r\n-- \u043c\u043e\u0436\u043d\u043e \u0438 \u0442\u0430\u043a\r\n\r\nselect * from FS.fusionpbx.[public].[v_countries]<\/pre>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>\u0418\u0437 \u0433\u043b\u044e\u043a\u043e\u0432:<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u043b \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442. \u0421\u0442\u043e\u0438\u0442 \u0437\u0430\u0439\u0442\u0438 \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u0442\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u043e\u043c\u0435\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f IP \u0430\u0434\u0440\u0435\u0441, \u043d\u0443 \u0438 \u043f\u0440\u0438\u0432\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0443.<\/p>\n<p>\u0417\u0430\u043c\u0435\u043d\u0430 \u043d\u0430\u00a0${domain_name} \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u0430.<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043a\u0430\u043a\u043e\u0435 \u0442\u043e \u0432\u0440\u0435\u043c\u044f &#8212; \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u043b\u043e.<\/p>\n<hr \/>\n<p>\u041f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u043d\u0430 email \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 (<strong>missed<\/strong>) \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 (<strong>voicemail<\/strong>) \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<pre>[ERR] mod_lua.cpp:203 \/usr\/share\/freeswitch\/scripts\/app\/hangup\/index.lua:80: attempt to index global 'subject' (a nil value)\r\nstack traceback:\r\n\/usr\/share\/freeswitch\/scripts\/app\/hangup\/index.lua:80: in function 'missed'\r\n\/usr\/share\/freeswitch\/scripts\/app\/hangup\/index.lua:148: in main chunk\r\n\/usr\/share\/freeswitch\/scripts\/app.lua:48: in main chunk<\/pre>\n<p>\u041b\u0435\u0447\u0438\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u0444\u0430\u043b\u043e\u0432 \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c<\/p>\n<p>\/usr\/share\/freeswitch\/scripts\/app\/missed_calls\/resources\/templates\/en\/us\/<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c<\/p>\n<p>\/usr\/share\/freeswitch\/scripts\/app\/missed_calls\/resources\/templates\/ru\/RU\/<\/p>\n<p>\u0418 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0442\u0443\u0434\u0430 \u0438\u0437 en\/us<\/p>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441 voicemail, \u043d\u0443 \u0438 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e default<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-900\" src=\"https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/10\/emails-template.jpg\" alt=\"\" width=\"1150\" height=\"283\" srcset=\"https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/10\/emails-template.jpg 1150w, https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/10\/emails-template-300x74.jpg 300w, https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/10\/emails-template-1024x252.jpg 1024w\" sizes=\"auto, (max-width: 1150px) 100vw, 1150px\" \/><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0447\u0442\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442, \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0438\u0441\u0435\u043c.<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p><strong>\u041f\u043e\u0438\u0441\u043a \u0444\u0430\u0439\u043b\u043e\u0432<\/strong><\/p>\n<pre> find \/ -name pg_hba.conf -type f 2&gt;\/dev\/null<\/pre>\n<hr \/>\n<p><strong>\u041c\u0443\u043b\u044c\u0442\u0438\u0444\u043e\u043d \u0438 FusionPBX<\/strong><\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c 2 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u044b :<\/p>\n<ul>\n<li>\u043e\u0434\u0438\u043d \u0447\u0435\u0440\u0435\u0437 Issabel(asterisk) &#8212; \u0434\u0430\u043b\u0435\u0435 \u0447\u0435\u0440\u0435\u0437 \u0442\u0440\u0430\u043d\u043a &#8212; \u043d\u0430 FusionPBX<\/li>\n<li>\u0432\u0442\u043e\u0440\u043e\u0439 &#8212;\u00a0 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 FusionPBX.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>\u0441 <strong>Issabel<\/strong> \u043f\u043e\u0434\u043d\u044f\u043b\u043e\u0441\u044c \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u0414\u0435\u043b\u0430\u0435\u043c \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 <strong>Issabel<\/strong>.<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 *137# \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c <strong>Multifon<\/strong><\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b<\/p>\n<pre>https:\/\/sm.megafon.ru\/sm\/client\/routing\/set?login=<strong>7927NOMER<\/strong>@multifon.ru&amp;password=<strong>PASSWORD<\/strong>&amp;routing=<strong>2<\/strong>\r\n\r\n0 = \u0422\u043e\u043b\u044c\u043a\u043e GSM\r\n\r\n1 = \u0422\u043e\u043b\u044c\u043a\u043e \u041f\u041a\r\n\r\n2 = \u041f\u041a \u0438 GSM<\/pre>\n<p>\u0412 \u043e\u0442\u0432\u0435\u0442 \u043f\u0440\u0438\u0434\u0435\u0442 xml \u0441 \u043a\u043e\u0434\u043e\u043c 200 OK \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0430.<\/p>\n<p>\u041d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0430\u0440\u0443 \u0440\u0430\u0437 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043a\u043e\u0434\u0430\u043c\u0438 (\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043e \u0438\u0437 \u0444\u043e\u0440\u0443\u043c\u043e\u0432) \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u043a\u043e\u0434\u043e\u043c 0, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 2 !!! \u0417\u0430\u043e\u0434\u043d\u043e \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044f.<\/p>\n<p><strong>Issabel<\/strong> \u0438 <strong>FusionPBX<\/strong> \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438.<\/p>\n<p>\u041d\u0430 <strong>Issabell<\/strong> \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0440\u0430\u043d\u043a multifon1234<\/p>\n<p>\u041e\u043f\u0446\u0438\u0438 PEER<\/p>\n<pre>username=7927NOMER\r\ntype=peer\r\nsecret=PASSWORD\r\nqualify=yes\r\nport=5060\r\ninsecure=invite,port\r\nhost=sbc.megafon.ru\r\nfromuser=7927NOMER\r\nfromdomain=multifon.ru\r\ncanreinvite=no<\/pre>\n<p>\u041e\u043f\u0446\u0438\u0438 USER \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u0441\u0442\u044b\u043c<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<\/p>\n<pre>7927NOMER@multifon.ru:PASSWORD:7927NOMER@193.201.229.35:5060\/7927NOMER<\/pre>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u043a\u0430.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 <strong>Issabell\u00a0<\/strong> \u0442\u0440\u0430\u043d\u043a \u043d\u0430 freeswitch<\/p>\n<p>\u041e\u043f\u0446\u0438\u0438 PEER<\/p>\n<pre>host=IPADDRESSFUSIONPBX\r\nusername=issabel\r\nsecret=PASSWORDGW\r\nfromdomain=IPADDRESSISSABEL\r\nport=5080\r\ntype=peer<\/pre>\n<p>\u041d\u0430\u00a0<strong>Issabell<\/strong> \u043c\u0435\u043d\u044f\u0435\u043c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043d\u0430 \u0442\u0440\u0430\u043d\u043a freeswitch<\/p>\n<p>\u041d\u0430 <strong>FusionPBX<\/strong> \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0448\u043b\u044e\u0437 \u0441 Issabel<\/p>\n<pre>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u00a0issabel\r\n\r\n\u041f\u0430\u0440\u043e\u043b\u044c\u00a0PASSWORDGW\r\n\r\n\u041f\u0440\u043e\u043a\u0441\u0438\u00a0IPADDRESSISSABEL\r\n\r\n\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u041d\u0415\u0422\r\n\r\n\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 public\r\n\r\n\u041f\u0440\u043e\u0444\u0438\u043b\u044c internal<\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/p>\n<pre>\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u00a0IPADDRESSISSABEL\r\n\r\n\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 public<\/pre>\n<p>\u0412 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0430<\/p>\n<pre>condition\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $(sip_from_host)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0^(IPADDRESSISSABEL)$<\/pre>\n<p>\u0412 \u0441\u0442\u0430\u0442\u0443\u0441\u0435 sip\u00a0 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0448\u043b\u044e\u0437 issabel \u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c NOREG<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0437\u0432\u043e\u043d\u043a\u0430 \u0441 <strong>\u043c\u0443\u043b\u044c\u0442\u0438\u0444\u043e\u043d\u0430<\/strong> \u043d\u0430 <strong>Issabel<\/strong>, \u0437\u0430\u0442\u0435\u043c \u0441 <strong>Issabel<\/strong> \u043d\u0430 <strong>FusionPBX<\/strong>.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0443\u043b\u044c\u0442\u0438\u0444\u043e\u043d\u0430 \u0434\u0430\u043b\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0432\u044f\u0437\u0438, \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u043b\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0432 2 \u0440\u0430\u0437\u0430 \u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0437\u0432\u043e\u043d\u043e\u043a \u043d\u0430 \u043d\u043e\u043c\u0435\u0440, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438\u0434\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432\u044b\u0437\u043e\u0432.<\/p>\n<p>\u0421\u0445\u0435\u043c\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0430 \u0442\u0430\u043a\u043e\u0439 (\u0411\u0421 &#8212; \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f):<\/p>\n<pre><span style=\"color: #000000;\">\u0410\u0431\u043e\u043d\u0435\u043d\u0442-\u0411\u0421-\u0411\u0421-Goip4-Freeswitch-Goip4-\u0411\u0421-\u0411\u0421-\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a<\/span><\/pre>\n<p>\u0421\u0442\u0430\u043b\u0430:<\/p>\n<pre>\u0410\u0431\u043e\u043d\u0435\u043d\u0442-\u0411\u0421-\u041c\u0443\u043b\u044c\u0442\u0438\u0444\u043e\u043d-Issabel-Freeswitch-Goip4-\u0411\u0421-\u0411\u0421-\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a<\/pre>\n<hr \/>\n<p>\u0418\u0442\u0430\u043a \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u0444\u043e\u043d \u0438 fusionpbx<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0448\u043b\u044e\u0437<\/p>\n<pre>\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u00a0                    <strong>7927NOMER<\/strong>\r\n\u041f\u0430\u0440\u043e\u043b\u044c                               <strong>PASSWORDMULTIFON<\/strong>\r\n\u041e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u00a0                     <strong>7927NOMER<\/strong>\r\nFrom domain\u00a0                         <strong>multifon.ru<\/strong>\r\n\u041f\u0440\u043e\u043a\u0441\u0438\u00a0                              <strong>multifon.ru<\/strong>\r\n\u041e\u0431\u043b\u0430\u0441\u0442\u044c (realm)\u00a0                     <strong>sbc.multifon.ru\r\n<\/strong>\u0418\u043c\u044f \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438     <strong>7927NOMER<\/strong>\r\n\u0412\u0440\u0435\u043c\u044f \u0436\u0438\u0437\u043d\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438              <strong>120\r\n<\/strong>\u041f\u043e\u0432\u0442\u043e\u0440 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438  <strong>         60<\/strong>\r\n\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f                          <strong>\u0414\u0430<\/strong>\r\n\u041f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438\u00a0           <strong>sbc.multifon.ru<\/strong>\r\n\u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u00a0             <strong>sbc.multifon.ru\r\n<\/strong>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0430   <strong>\u0434\u0430<\/strong>\r\n\u041f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 CNG                       <strong>\u0434\u0430<\/strong>\r\nSIP \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 CID \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e    <strong>\u0434\u0430<\/strong>\r\n\u0414\u043e\u043c\u0435\u043d                                <strong>\u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439<\/strong>\r\n\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442                             <strong>public<\/strong>\r\n\u041f\u0440\u043e\u0444\u0438\u043b\u044c                              <strong>external<\/strong><\/pre>\n<p>\u0412 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 &#8212; destination_number =\u00a0<strong>7927NOMER<\/strong><\/p>\n<p>\u0421\u0445\u0435\u043c\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u043b\u0430 \u0442\u0430\u043a\u043e\u0439:<\/p>\n<pre>\u0410\u0431\u043e\u043d\u0435\u043d\u0442-\u0411\u0421-\u041c\u0443\u043b\u044c\u0442\u0438\u0444\u043e\u043d-Freeswitch-Goip4-\u0411\u0421-\u0411\u0421-\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b sngrep, \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-934\" src=\"https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/11\/sngrep_multifon.jpg\" alt=\"\" width=\"1823\" height=\"333\" srcset=\"https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/11\/sngrep_multifon.jpg 1823w, https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/11\/sngrep_multifon-300x55.jpg 300w, https:\/\/bukleev.ru\/wp-content\/uploads\/2018\/11\/sngrep_multifon-1024x187.jpg 1024w\" sizes=\"auto, (max-width: 1823px) 100vw, 1823px\" \/><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u043c ivr \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u0438\u043a\u0430 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \/usr\/share\/freeswitch\/sounds\/ru\/RU\/elena\/ivr<\/p>\n<pre>ivr-enter_destination_telephone_number.wav<\/pre>\n<p>, \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0447\u0430\u0441\u0442\u043e\u0442<\/p>\n<p>\u0438\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0437\u0432\u043e\u043d\u043a\u0430<\/p>\n<hr \/>\n<p>\u041f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 Permission denied<\/p>\n<pre>chown freeswitch \/var\/lib\/php\/session<\/pre>\n<hr \/>\n<p><strong>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u0437\u0432\u043e\u043d\u044f\u0449\u0435\u0433\u043e (cidlookup)<\/strong><\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0431\u0430\u0437\u0435 Postgresql, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440<\/p>\n<pre>CREATE TABLE public.otrs_customer\r\n(\r\notrs_customer text COLLATE pg_catalog.\"default\",\r\notrs_number text COLLATE pg_catalog.\"default\"\r\n)\r\nWITH (\r\nOIDS = FALSE\r\n)\r\nTABLESPACE pg_default;\r\n\r\nALTER TABLE public.otrs_customer\r\nOWNER to fusionpbx;<\/pre>\n<p>\u041d\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0435\u0435 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437 \u0431\u0430\u0437\u044b Mysql, \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e &#8212; OTRS (5 \u0438 6 \u0432\u0435\u0440\u0441\u0438\u044f). \u0417\u0430\u043f\u0440\u043e\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0438\u0437 MSSQL.<\/p>\n<pre>DECLARE @SQLtext nvarchar(max)\r\n\r\nSET @SQLtext = 'Select last_name,first_name,street, mobile,phone from customer_user '\r\nSET @SQLtext = 'SELECT * FROM OPENQUERY(OTRS, '+ CHAR(39) + @SQLtext + CHAR(39) +') AS derivedtbl_1'\r\n\r\ncreate table #dataset( \r\nlast_name nvarchar(1000)\r\n,first_name nvarchar(1000)\r\n,street nvarchar(1000)\r\n, mobile nvarchar(1000)\r\n,phone nvarchar(1000))\r\n\r\ninsert #dataset exec (@SQLtext)\r\n\r\n--\u0427\u0443\u0442\u043e\u043a \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443\r\nselect \r\n(last_name + ' ' + first_name + char(13) + char(10) + ' ' + street) as otrs_customer\r\n, (mobile + ',' + phone ) as otrs_number\r\ninto #datasetn\r\nfrom #dataset\r\nupdate #datasetn SET otrs_number = otrs_number + ',' + REPLACE(otrs_number,'+7','8')\r\ndelete from #datasetn where len(otrs_number) &lt; 4\r\n\r\n--\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 MSSQL\r\nINSERT INTO #datasetn (otrs_customer,otrs_number) select FIONAME,MOBILEPHONE  from ETP_Users\r\n\r\n--\u041e\u0447\u0438\u0449\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 FS\r\nDECLARE @SQLmysql nvarchar(max)\r\nSET @SQLmysql = 'TRUNCATE TABLE public.otrs_customer;'\r\nEXEC (@SQLmysql) AT FS\r\n\r\n--\u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \r\nINSERT INTO FS.fusionpbx.[public].otrs_customer (otrs_customer, otrs_number)\r\nSELECT otrs_customer, otrs_number From #datasetn where otrs_number is not NULL<\/pre>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u0424\u0430\u043c\u0438\u043b\u0438\u044f\u043c\u0438, \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0438 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438.<\/p>\n<p>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c cidlookup<\/p>\n<p>\u041f\u0440\u0430\u0432\u0438\u043c\u00a0cidlookup.conf.xml \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 FusionPBX :<\/p>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e &#8212; \u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 XML &#8212;\u00a0<a>autoload_configs &#8212;\u00a0<\/a>cidlookup.conf.xml<\/p>\n<pre> &lt;param name=\"odbc-dsn\" value=\"pgsql:\/\/host=localhost dbname=fusionpbx user=fusionpbx password=MYPASSWORDPOSTGRESQL options='-c client_min_messages=NOTICE' application_name='fusionpbx'\" \/&gt;<\/pre>\n<pre> &lt;param name=\"sql\" value=\"SELECT otrs_customer.otrs_customer as name, otrs_customer.otrs_number as number from otrs_customer where otrs_customer.otrs_number like CONCAT('%','${caller_id_number}','%') LIMIT 1\"\/&gt;<\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043f\u043b\u0430\u043d \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438\u00a0caller-details \u0441\u0442\u0440\u043e\u043a\u0443<\/p>\n<p>action &#8212; set &#8212;\u00a0effective_caller_id_name=${cidlookup(${caller_id_number})}<\/p>\n<p>XML \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre>&lt;extension name=\"caller-details\" continue=\"true\" uuid=\"6ff0c4\"&gt;\r\n&lt;condition field=\"\" expression=\"\" break=\"never\"&gt;\r\n&lt;action application=\"export\" data=\"call_direction=inbound\" inline=\"true\"\/&gt;\r\n&lt;action application=\"set\" data=\"caller_destination=${destination_number}\" inline=\"true\"\/&gt;\r\n&lt;action application=\"set\" data=\"caller_id_name=${caller_id_name}\" inline=\"true\"\/&gt;\r\n&lt;action application=\"set\" data=\"caller_id_number=${caller_id_number}\" inline=\"true\"\/&gt;\r\n&lt;action application=\"set\" data=\"effective_caller_id_name=${cidlookup(${caller_id_number})}\" inline=\"true\"\/&gt;\r\n&lt;\/condition&gt;\r\n&lt;\/extension&gt;<\/pre>\n<p>\u041f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0430\u0435\u043c XML, \u043e\u0447\u0438\u0449\u0430\u0435\u043c \u043a\u044d\u0448 \u0432 \u043c\u0435\u043d\u044e &#171;\u0421\u0442\u0430\u0442\u0443\u0441 SIP&#187;<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u0434\u0435\u0442\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0432\u043e\u043d\u043a\u043e\u0432 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c \u0438\u043c\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u043e\u043c\u0435\u0440\u0430 CID NAME<\/p>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0430 \u0431\u0435\u0440\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 OTRS.<\/p>\n<p>\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043d\u0430\u0432\u0435\u0440\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043c\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0432 MySQL.<\/p>\n<p>\u0421\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f Mysql \u0432\u00a0cidlookup.conf.xml\u00a0 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre>&lt;param name=\"odbc-dsn\" value=\"odbc:\/\/DRIVER=mysql;SERVER=IPADDRESSMYSQL;UID=USERMYSQL;PWD=PASSWORD;DATABASE=otrs;OPTION=67108864\"\/&gt;<\/pre>\n<p>\u0420\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u041d\u043e \u044f \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e \u0441\u043f\u0438\u0441\u043e\u043a public.otrs_customer \u0435\u0449\u0435 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0430\u0437\u044b MSSQL, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043a\u0430 \u0442\u0430\u043a &#8212; \u043a\u0430\u043a \u0435\u0441\u0442\u044c.<\/p>\n<p>https:\/\/bukleev.ru\/openvpn-grandstream-fusionpbx-freeswitch-centos-7\/<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0432 \u043f\u0440\u0438\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 PostgreSQL \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 MSSQL FS &#8212; \u0438\u043c\u044f \u043f\u0440\u0438\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u00a0PostgreSQL fusionpbx &#8212; \u0438\u043c\u044f \u0431\u0430\u0437\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435\u00a0PostgreSQL \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c: DECLARE @SQLtext nvarchar(max) SET @SQLtext = &#8216;select * from fusionpbx.public.v_call_recordings&#8217; SET @SQLtext = &#8216;SELECT *<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-893","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bukleev.ru\/index.php?rest_route=\/wp\/v2\/pages\/893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bukleev.ru\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bukleev.ru\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bukleev.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bukleev.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=893"}],"version-history":[{"count":51,"href":"https:\/\/bukleev.ru\/index.php?rest_route=\/wp\/v2\/pages\/893\/revisions"}],"predecessor-version":[{"id":1135,"href":"https:\/\/bukleev.ru\/index.php?rest_route=\/wp\/v2\/pages\/893\/revisions\/1135"}],"wp:attachment":[{"href":"https:\/\/bukleev.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}