{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "SOREX.ORG: заметки с тегом asterisk",
    "_rss_description": "Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/sorex.org\/?go=tags\/asterisk\/",
    "feed_url": "https:\/\/sorex.org\/?go=tags%2Fasterisk%2Fjson%2F",
    "icon": "https:\/\/sorex.org\/user\/userpic@2x.jpg?1618299116",
    "author": {
        "name": "sorex",
        "url": "https:\/\/sorex.org\/",
        "avatar": "https:\/\/sorex.org\/user\/userpic@2x.jpg?1618299116"
    },
    "items": [
        {
            "id": "59",
            "url": "https:\/\/sorex.org\/?go=all\/elastix-zapret-mezhgoroda\/",
            "title": "Elastix Запрет Межгорода",
            "content_html": "<div><p>Самый простой способ как запретить межгород для некоторых номеров<\/p>\n<ol>\r\n \t<li>Заходим в управление Elastix через веб, PBX -&gt; Tools — &gt; Asterisk File Editor<\/li>\r\n \t<li>Открываем файл extensions_custom.conf<\/li>\r\n \t<li>Находим строку [from-internal-custom]<\/li>\r\n \t<li>Сразу после неё добавляем:\r\nexten =&gt;_8XXXXXXXXXX\/1002,1,Playback(followme\/sorry)\r\nexten =&gt;_8XXXXXXXXXX\/1002,2,Hangup()<\/li>\r\n \t<li>Это означает что для внутреннего номера 1002 закрыты одинадцатизначные номера начинающиеся на 8.<\/li>\r\n \t<li>Вместо followme\/sorry можно подствить например restricted или любую другу голосовую фразу.<\/li>\r\n \t<li>Если можно без сообщения сразу положить трубку, то вообще вместо двух строк можно обойтись одной:\r\nexten =&gt;_8XXXXXXXXXX\/1002,1,Hangup()<\/li>\r\n \t<li>Не забываем там же нажать <strong>Сохранить<\/strong> и <strong>Reload Asterisk<\/strong><\/li>\r\n<\/ol>\n<\/div>",
            "date_published": "2021-04-13T10:30:20+00:00",
            "date_modified": "2021-04-13T10:30:17+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 10:30:20 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "59",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "58",
            "url": "https:\/\/sorex.org\/?go=all\/kak-zamenit-7-na-8-dlya-elastix\/",
            "title": "Как заменить +7 на 8 для Elastix",
            "content_html": "<div><p>У многих записная книжка в телефоне забита в формате +7,  а большинство Российских операторов ip телефонии этот формат не понимают и ждут номера начинающегося на 8.<br \/>\nЭто инструкция как автоматически сделать подмену +7 на 8 в Elastix (Asterisk)<\/p>\n<p> <\/p>\n<p>Для замены +7 на 8 в Elastix необходимо внести изменения в файл extensions_custom.conf. Для этого входим в панель управления Elastix, закладка PBX -&gt; Tools, меню Asterisk File Editor. Листаем и находим необходимый нам файл extensions_custom.conf, и открываем его, нажав левой кнопкой мыши.<br \/>\nНаходим в файле строку [from-internal-custom] и сразу после неё добавляем строку:<\/p>\n<p> <\/p>\n<p class=\"code\">exten =&gt; _+7XXXXXXXXXX,1,GoTo(outbound-allroutes,8${EXTEN:2},1)<\/p>\n<p>Нажимаем Save.<\/p>\n<p>Изменения вступят в силу после перезагрузки Астериска. Самый простой способ перезагрузить Астериск закладка PBX -&gt; Tools, меню Asterisk-Cli, в поле Command ввести reload и нажать кнопку Execute. Также можно с консоли или просто перезагрузить компьютер на котором установлен Астериск.<\/p>\n<p><hr><\/p>\n<p> <\/p>\n<p>Если вы знаете как можно сделать подмену +7 на 8 через Trunk или Outbound Routes — подскажите. Вариант с «8+7|» или «8+.7|» не работают.<\/p>\n<\/div><p>В последних версиях Elastix это легко делается для исходящих правил. В prepend пишем +7, а в prefix 8.<br \/>\nДумаю также можно поступить и указав в самом транке.<\/p>\n<p>Вот пример из моего исходящего правила. Заменяем +7 на 8 и добавляем 8 где цифр в номере 10.<br \/>\n<img class=\"topImg\" src=\"https:\/\/sorex.org\/wp-content\/uploads\/2015\/10\/131.jpg\" alt=\"\"><\/p>\n<p>Делалось это для корректного отзвона. Просто один оператор у меня показывает номер как +7, а другой вообще без кода страны для Российских номеров.<\/p>\n<p><hr><\/p>\n<p>Итак, как я и обещал, отписываюсь о возможности подмены.<br \/>\nТак как в моём случае нужно было убить сразу 2х зайцев, поэтому у меня и не выходил каменный цветок, а именно:<br \/>\nЕсть sip-провайдер (по умолчанию он принимает номера, набранные через +7), нужно на него выход сделать через 9.<br \/>\nСоответственно делал так:<br \/>\nНапример мне нужно звонить в город (Москва и мобильные — 11 значные номера), соответственно делал так: в оutbound routes создал роут: prepand (пусто) + prefix (9) | match patern (XXXXXXXXXXX) — здесь очень внимательным нужно быть к количеству иксов! Дело в том, что сначала я думал, что девятку тоже надо обозначать иксом или приписывать перед ними, но такая схема не работала, в итоге я понял, что иксов (или других спецсимволов) должно быть ровно столько, сколько в номере цифр!<br \/>\nДальше, что касается подмены 8ки на 7ку:<br \/>\nЭто я разрулил на сиповском транке вот таким образом prepand (7) + prefix (8) | match patern (.X)<br \/>\nТеперь у меня всё работает!<br \/>\nP.S. В случае, если должна быть обратная замена 7ки на 8ку, то соответственно: prepand (8) + prefix (7) | match patern (.X)<br \/>\nP.S. Если у вас не 7, а +7, то нужно пробовать как и +7 и как 007, потому что некоторые провайдеры и телефонные станции + расценивают как 2 нуля.<\/p>\n<p> <\/p>\n",
            "date_published": "2021-04-13T10:29:51+00:00",
            "date_modified": "2021-04-13T10:29:46+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 10:29:51 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "58",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "56",
            "url": "https:\/\/sorex.org\/?go=all\/elastix-zapros-ussd-balansa\/",
            "title": "Elastix запрос ussd баланса",
            "content_html": "<p>Послать USSD-команду (например, запрос баланса и другие управляющие команды) очень просто. Например, для отправки <b>*923#<\/b> с модема dongle0 нужно написать такую команду в консоли Asterisk:<\/p>\n<pre class=\"lang:default decode:true \">pbx*CLI&gt; &lt;b&gt;dongle ussd dongle0 *923#&lt;\/b&gt;<\/pre>\n",
            "date_published": "2021-04-13T10:28:25+00:00",
            "date_modified": "2021-04-13T10:28:35+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 10:28:25 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "56",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "55",
            "url": "https:\/\/sorex.org\/?go=all\/elastix-obrabotka-ussd-i-sms-i-otpravka-na-pochtu\/",
            "title": "Elastix обработка USSD и SMS и отправка на почту",
            "content_html": "<p>Добавляем Dilaplan:<\/p>\n<pre class=\"lang:default decode:true\">[from-gsm]\r\nexten =&gt; sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})\r\nexten =&gt; sms,n,System(\/usr\/bin\/php \/etc\/asterisk\/sms.php ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DATACARD} — ${CALLERID(num)}: ${SMS_BASE64})\r\nexten =&gt; sms,n,Hangup()\r\n\r\nexten =&gt; ussd,1,Verbose(Incoming USSD: ${USSD})\r\nexten =&gt; ussd,n,System(\/usr\/bin\/php \/etc\/asterisk\/ussd.php ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DATACARD}: ${USSD_BASE64})\r\nexten =&gt; ussd,n,Hangup()\r\n\r\nexten =&gt; s,1,Set(CALLERID(all)=${CALLERID(num)})\r\nexten =&gt; s,n,Set(CALLERID(num)=8${CALLERID(num):2})\r\nexten =&gt; s,n,goto(from-trunk,${DONGLEIMEI},1)<\/pre>\n<p>И два скрипта в систему<\/p>\n<p>sms.php:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?php\r\n\r\n$sms=base64_decode($argv[6]);\r\n\/\/var_dump($argv);\r\n$smsok=$argv[1].» «.$argv[2].» «.$argv[5].» «.$sms;\r\n$smsok = str_replace(’«’, ’’, $smsok);\r\n$smsok = str_replace(„’“, „„, $smsok);\r\n$smsok = preg_replace („\/[^а-яА-Я0-9a-zA-z\\s\\(\\)\\[\\]\\-\\:\\*\\.\\,\\%\\$\\@\\+\\-\\{\\}\\?\\&gt;\\&lt;\\#\\^\\;\\=\\_\\№]\/u“,““,$smsok);\r\n$cmd=»echo $smsok | mail -s ’Incoming SMS from $argv[5]’ admin@mail.ru«;\r\nexec($cmd);\r\n$cmd=»echo $smsok &gt;&gt; \/var\/log\/asterisk\/sms.txt«;\r\nexec($cmd);\r\n?&gt;\r\n<\/pre>\n<p>и ussd.php:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?php\r\n$sms=base64_decode($argv[5]);\r\nvar_dump($argv);\r\n$smsok=$argv[1].» «.$argv[2].» «.$sms;\r\n$smsok = str_replace(’«’, ’’, $smsok);\r\n$smsok = str_replace(„’“, „„, $smsok);\r\n$smsok = preg_replace („\/[^а-яА-Я0-9a-zA-z\\s\\(\\)\\[\\]\\-\\:\\*\\.\\,\\%\\$\\@\\+\\-\\{\\}\\?\\&gt;\\&lt;\\#\\^\\;\\=\\_\\№]\/u“,““,$smsok);\r\n$cmd=»echo $smsok | mail -s ’Incoming USSD’ admin@mail.ru«;\r\nexec($cmd);\r\n$cmd=»echo $smsok &gt;&gt; \/var\/log\/asterisk\/ussd.txt«;\r\nexec($cmd);\r\n?&gt;\r\n<\/pre>\n<p>Добавляем автопроверку баланса и отправку на почту каждый день в 22-00:<\/p>\n<p>crontab -e<\/p>\n<p>00 22 * * * \/usr\/sbin\/asterisk -rx «dongle ussd dongle0 *105#»<\/p>\n",
            "date_published": "2021-04-13T10:28:03+00:00",
            "date_modified": "2021-04-13T10:27:59+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 10:28:03 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "55",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "54",
            "url": "https:\/\/sorex.org\/?go=all\/elastix-shepot-soseda-cherez-chanspy\/",
            "title": "Elastix «Шепот» соседа через chanspy",
            "content_html": "<p>«Шепот» — это когда «Опытный сотрудник» подключается к диалогу «Клиент» — «Молодой сотрудник» и помогает молодому вести диалог. «Опытного», естественно, слышит только молодой — клиенту незачем знать об этом.<\/p>\n<p>На удивление, гугломашина выдала направление «подумать» далеко не на первой ссылке. В сборке с вебмордой FreePBX данный механизм делается внедрением в файл <u><b>extensions_override_freepbx.conf<\/b><\/u> следующих строк:<\/p>\n<pre><code class=\"bash hljs\">[app-chanspy]\r\nexten =&gt; <span class=\"hljs-number\">555<\/span>,<span class=\"hljs-number\">1<\/span>,Macro(user-callerid)\r\nexten =&gt; <span class=\"hljs-number\">555<\/span>,<span class=\"hljs-number\">2<\/span>,Authenticate(<span class=\"hljs-number\">1234<\/span>)\r\nexten =&gt; <span class=\"hljs-number\">555<\/span>,<span class=\"hljs-number\">3<\/span>,Read(SPYNUM,agent-newlocation)\r\nexten =&gt; <span class=\"hljs-number\">555<\/span>,<span class=\"hljs-number\">4<\/span>,ChanSpy(SIP\/<span class=\"hljs-variable\">${SPYNUM}<\/span>,wqv(-<span class=\"hljs-number\">1<\/span>))\r\n;--== end of [app-chanspy] ==--;\r\n<\/code>\n<\/pre>\n<p>Механизм подменяет собой штатный ChanSpy. Пользоваться просто: опытный набирает 555, вводит пароль (1234), вводит внутренний номер «молодого» и включается в разговор.<\/p>\n",
            "date_published": "2021-04-13T10:27:29+00:00",
            "date_modified": "2021-04-13T10:27:27+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 10:27:29 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "54",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "30",
            "url": "https:\/\/sorex.org\/?go=all\/dongle-sms-storage-is-full\/",
            "title": "dongle sms storage is full",
            "content_html": "<p>Если Asterisk сообщает, что хранилище SMS переполнено: dongle sms storage is full<\/p>\n<p>чтобы очистить вме смски, введите в консоли команду <strong>dongle cmd dongle0 AT+CMGD=1,4<\/strong><\/p>\n<pre class=\"\">*CLI&gt; dongle cmd dongle0 AT+CMGD=1,4\r\n[dongle0] ’AT+CMGD=1,4’ Command queued for execute\r\n*CLI&gt;  [dongle0] Got Response for user’s command:’OK’\r\n[Feb 12 00:05:50] NOTICE[70634]: at_response.c:1711 \r\nat_response: [dongle0] Got Response for user’s command:’OK’\r\ndongle cmd dongle0 AT+CMGD=1,4<\/pre>\n",
            "date_published": "2021-04-13T09:59:19+00:00",
            "date_modified": "2021-04-13T09:59:16+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:59:19 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "30",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "29",
            "url": "https:\/\/sorex.org\/?go=all\/asterisk-logirovanie-chanspy\/",
            "title": "Asterisk логирование chanspy",
            "content_html": "<pre class=\"lang:default decode:true  \">[app-chanspy]\r\ninclude =&gt; app-chanspy-custom\r\nexten =&gt; 555,1,Macro(user-callerid,)\r\nexten =&gt; 555,2,System(\/usr\/bin\/echo «Номер: ${CALLERID(num)} Время вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)} Доступ в ChanSpy» &gt;&gt; \/var\/log\/chanspy.log )\r\nexten =&gt; 555,3,Authenticate(0000)\r\nexten =&gt; 555,4,System(\/usr\/bin\/echo «Номер: ${CALLERID(num)} Время вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)} Пароль набран верно» &gt;&gt; \/var\/log\/chanspy.log )\r\nexten =&gt; 555,5,Read(SPYNUM,agent-newlocation)\r\nexten =&gt; 555,6,System(\/usr\/bin\/echo «Номер: ${CALLERID(num)} Время вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)} Выбран номер ${SPYNUM} » &gt;&gt; \/var\/log\/chanspy.log )\r\nexten =&gt; 555,7,ChanSpy(SIP\/${SPYNUM},qv(-1))\r\nexten =&gt; 555,8,Hangup\r\n<\/pre>\n<p> <\/p>\n",
            "date_published": "2021-04-13T09:58:48+00:00",
            "date_modified": "2021-04-13T09:58:44+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:58:48 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "29",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "27",
            "url": "https:\/\/sorex.org\/?go=all\/zapret-mezhdugorodnih-nomerov-dlya-otdelnyh-nomerov-asterisk\/",
            "title": "Запрет междугородних номеров для отдельных номеров Asterisk",
            "content_html": "<p>Запретить междугородние и международные звонки несложно с помощью модуля Custom Contexts<\/p>\n<ol start=\"1\">\n<li>Создаем Outgoing Routes, которые планируем запретить, например International 9|810. или Mobile 9|89.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li>Создаем Custom Context, например, restricted, где обязательно запрещаем ENTIRE Basic Internal Dialplan и ALL OUTBOUND ROUTES, а также те исходящие маршруты, которые нам нужно запретить, и разрешаем, например ext-local, чтобы можно было звонить внутри PBX.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li>Назначаем провинившимся номерам контекст restricted.<\/li>\n<\/ol>\n",
            "date_published": "2021-04-13T09:56:04+00:00",
            "date_modified": "2021-04-13T09:55:55+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:56:04 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "27",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "17",
            "url": "https:\/\/sorex.org\/?go=all\/fop2-asterisk-freepbx-obnovlenie-knopok-ocheredey\/",
            "title": "FOP2 asterisk freePBX обновление кнопок очередей",
            "content_html": "<!-- wp:paragraph --><p>После добавления очередей запускаем<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>.\/usr\/local\/fop2\/autoconfig-buttons.sh<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>php \/var\/www\/html\/panel\/admin\/update_conf.php 1<\/p>\n<!-- \/wp:paragraph -->",
            "date_published": "2021-04-13T09:38:22+00:00",
            "date_modified": "2021-04-13T09:38:20+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:38:22 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "17",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "16",
            "url": "https:\/\/sorex.org\/?go=all\/freepbx-otkat-konfiguracii\/",
            "title": "FreePBX откат конфигурации",
            "content_html": "<!-- wp:paragraph --><p>For example.  Open a root shell<br><\/p>\n<!-- \/wp:paragraph --><!-- wp:preformatted --><pre class=\"wp-block-preformatted\">mkdir \/tmp\/etc_asterisk\r\ncp -a \/etc\/asterisk\/* \/tmp\/etc_asterisk \r\n \r\n<\/pre>\n<!-- \/wp:preformatted --><!-- wp:paragraph --><p>Apply changes in FreePBX and then in the shell<br><\/p>\n<!-- \/wp:paragraph --><!-- wp:preformatted --><pre class=\"wp-block-preformatted\">diff -r \/etc\/asterisk\/ \/tmp\/etc_asterisk\/ <\/pre>\n<!-- \/wp:preformatted -->",
            "date_published": "2021-04-13T09:37:41+00:00",
            "date_modified": "2021-04-13T09:37:37+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:37:41 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "16",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "6",
            "url": "https:\/\/sorex.org\/?go=all\/spisok-nomerov-v-pereadresacii-cherez-features-code-v-asterisk\/",
            "title": "Список номеров в переадресации через features code в Asterisk",
            "content_html": "<!-- wp:paragraph --><p>Список номеров в переадресации через features code в Asterisk<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>vent*CLI&gt; database show REDIRECT<br>0 results found.<\/p>\n<!-- \/wp:paragraph -->",
            "date_published": "2021-04-13T09:25:03+00:00",
            "date_modified": "2021-04-13T09:24:58+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:25:03 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "6",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3820,
    "_e2_ua_string": "E2 (v3820;)"
}