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