Настройка GOIP4 c asterisk

На тесте настрою в качестве транка китайский GSM GOIP4 шлюз c Asterisk севрером.

Вставим SIM-карты с выключенным запросом PIN-кода.

Зайдем в веб-интерфейс GOIP4 шлюза, его стандартный IP — 192.168.8.1 при подключении к порту PC, логин и пароль одинаковы — admin.
Еще есть аккаунты с ограниченными возможностями user и sms.

В ConfigurationsPreferences укажем часовой пояс, у меня Time Zone: GMT+2 и отключим IVR.

В ConfigurationsNetwork пропишем нужный статический IP адрес для LAN порта, стандартно он получается по DHCP.

В ToolsChange Password сменим пароли для пользователей.
Кстати при подключении по telnet используется имя пользователя limitsh и пароль который указан в веб-интерфейсе пользователю admin.

Теперь в asterisk, в конфигурационном файле users.conf добавим SIP транк, например:

[goip4]
type=peer
usecallerid = yes
hidecallerid=no
host=192.168.50.50
context=goip4

Приступим к настройке GSM каналов в GOIP4 шлюзе.
Пропишем параметры SIP транка:
В ConfigurationsBasic VoIPConfig Mode выберем «Trunk Gateway Mode«.
В SIP Trunk Gateway1 укажем IP-адрес asterisk сервера.
Остальные поля оставим как есть пустыми, в Re-register Period (s) стандартно 0.
В самом низу для первого канала где «Line 1 Routing Prefix» укажем 1, для второго 2, третьего 3 и 4 для четвертого.
Жмем Save Changes для сохранения изменений.

Настроим правила для входящих GSM звонков.
В ConfigurationsCall In укажем CID Forward Mode: «Use CID as SIP Caller ID».
Для каждого канала укажем Forwarding to VoIP Number: goip4, Dial Plan: 1 для первого, для второго 2, третьего 3 и 4 для четвертого.
Жмем Save Changes для сохранения изменений.

Настроим исходящие в ConfigurationsCall Out.
GSM Auto Redial: Disable
GSM Dial Timeout(s): 30
Call OUT via GSM: Enable
Dial Plan: 1:-1 (для первого канала), 2:-2 (для второго) и т.д.

В Tools — Send USSD можно отправлять USSD запросы, например проверить состояние счета и т.д.
В Send SMS, SMS InBox и SMS OutBox отправить СМС, посмотреть входящие и исходящие соответственно.

Перезапустим Asterisk, перейдем в консоль и посмотрим активен ли транк goip4:

sudo service asterisk restart
asterisk -rvv
sip show peers
quit

Теперь настроим план набора номеров в файле /etc/asterisk/extensions.conf.
Добавим контекст goip4 отвечающий за входящие звонки (в моем случае при поступлении звонка на любую из SIM — идет вызов одновременно на SIP телефон 204 и 203, потом если нет ответа на 201):

[goip4]
exten => goip4,1,Dial(SIP/204&SIP/203,19)
exten => goip4,2,Dial(SIP/201,19)
exten => goip4,3,Hangup()

К существующему контексту SIP телефонов добавим план набора исходящих (как видно в 1 канале у меня Киевстар, во втором Мегафон, в третьем Lifecell):

;KYIVSTAR
exten => _067XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _068XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _096XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _097XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _098XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
;Megafon
exten => _095XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
exten => _099XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
exten => _050XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
exten => _066XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
;Lifecell
exten => _073XXXXXXX,1,Dial(SIP/goip4/3${EXTEN},60)
exten => _093XXXXXXX,1,Dial(SIP/goip4/3${EXTEN},60)
exten => _063XXXXXXX,1,Dial(SIP/goip4/3${EXTEN},60)

Кстати отправлять СМС через GoIP4 можно GET запросом, например (где admin и admin — пользователь и пароль, 1 — номер канала с которого слать, потом номер телефона получателя и текст СМС):

http://192.168.1.5/default/en_US/send.html?u=admin&p=admin&l=1&n=телефон&m=текст

Перезагрузить из Linux можно через wget:

sudo wget --user=admin --password=admin --auth-no-challenge http://192.168.1.5/default/en_US/reboot.html -O /dev/nulll

Отправить СМС:

wget --user=admin --password=admin --auth-no-challenge --post-data 'line=1&smskey=0000000e&action=SMS&telnum=НОМЕР&smscontent=ТЕКСТ&send=Send' http://10.20.0.30/default/en_US/sms_info.html -O /dev/null

Уровень сигнала можно увидеть во вкладке Status — колонка RSSI (0 — плохой, это -133dBm; 1 это -111 dBm; 31 — максимальный, это -51dBm или лучше; 99 — нет сигнала).

Обновление прошивки GoIP4 шлюза

На тесте обновлю прошивку на китайском GoIP4 GSM шлюзе.

Сначала откроем веб-интерфейс устройства и перейдем в меню «Tools» — «Online Upgrade«.
Там посмотрим версию текущей установленной прошивки.
У меня было — Current Version: GS-4.01-96.

Теперь посмотрим есть ли новая тут http://www.hybertone.com/en/news_detail.asp?newsid=21 и если есть, то скопируем на неё ссылку.

Скопированную ссылку вставим в поле «Upgrade Site:«, в моём случае была http://www.hybervoice.com/update/GS-4.01-99.pkg
Жмем кнопку «Start» для запуска процесса обновления.

В момент обновления нельзя чтобы пропадало питание устройства.
Под конец устройство само перезапустится и отобразится надпись что обновление выполнено успешно.

Все.

Удаление аккаунта Live.com

Приведу пример удаления аккаунта на Live.com.
Сначала выполним вход введя логин и пароль.

Перейдем по прямой ссылке https://account.live.com/closeaccount.aspx и подтвердим введя полученный код пришедший на почту или мобильный телефон.

Все. Учетная запись будет закрыта через 60 дней.

Частые сообщения «Remote UNIX connection» в Asterisk

Заметил однажды в консоли Asterisk, что часто отображаются следующие сообщения:

— Remote UNIX connection
— Remote UNIX connection disconnected
— Remote UNIX connection
— Remote UNIX connection disconnected
— Remote UNIX connection
— Remote UNIX connection disconnected

Сообщение уведомляет что кто-то подключается к консоли Astersik.
Эти сообщения видны если консоль открыта в режиме отладки выше уровня -rvv (то есть, если например запустить astersik -rvvv, чем больше букв v тем больше подробной информации в консоли отображается).

Причиной этих сообщений в моем случае был Zabbix, который мониторил различную статистику как я описывал в этой статье — Мониторинг Asterisk в Zabbix

То есть он выполнял команды подобно этой и получал таким образом информацию:

asterisk -rx "database show" | grep Registry | wc -l

Аналогичным образов могут быть другие скрипты или возможно просто кто-то подключается.

Как изменить MAC-адрес на Ubiquiti (UBNT) устройстве

На тесте изменю MAC-адрес на Ubiquiti Rocket M5.

Для этого нужно отредактировать файл конфигурации.
Можно скачать файл конфигурации через веб-интерфейс, отредактировать и потом закачать обратно, а можно редактировать его онлайн подключившись к устройству по SSH или telnet.
Как редактировать по SSH я писал в этой статье — Управление оборудованием Ubiquiti по SSH
Сделаем резервную копию конфигурации на всякий случай через веб-интерфейс или как я описывал в этой статье — Резервное копирование конфигурации Ubiquiti (UBNT) устройств.

По сути нужно найти стройки:

netconf.1.devname=eth0
netconf.1.hwaddr.mac=
netconf.1.hwaddr.status=disabled
и
netconf.2.devname=ath0
netconf.2.hwaddr.mac=
netconf.2.hwaddr.status=disabled

eth0 — это LAN, ath0 — WLAN.
При редактировании в редакторе vi, клавишей x удалим слово disable, а потом нажав клавишу a пропишем вместо него enable. после mac= укажем нужный mac-адрес. Необходиом чтобы mac LAN отличался от mac WLAN. После редактирования нажмем Esc для возврата в командный режим, наберем :x и нажмем Enter для сохранения изменений в файле и выхода из редактора.

Должно быть прописано что-то вроде этого:

netconf.1.devname=eth0
netconf.1.hwaddr.mac=00:11:11:22:22:33
netconf.1.hwaddr.status=enable
и
netconf.2.devname=ath0
netconf.2.hwaddr.mac=00:11:11:22:22:34
netconf.2.hwaddr.status=enable

После изменения применим изменения командами:

cfgmtd -f /tmp/system.cfg -w
/usr/etc/rc.d/rc.softrestart save

Все.

Тест диска в Linux на наличие ошибок и битых секторов

Переключимся сразу на root пользователя:

sudo -i

Посмотрим список дисков:

fdisk -l
df -h

Посмотреть информацию и модель диска можно так:

hdparm -i /dev/sda

Если поддерживается SMART, установим утилиты и посмотрим статистику SMART:

apt-get install smartmontools
smartctl -a /dev/sda
smartctl -a /dev/sda|grep -i reallocated

Запуск SMART тестов и просмотр информации (smartctl -X для остановки длинного теста):

smartctl -H /dev/sda
smartctl --test=long /dev/sda
smartctl -l selftest /dev/sda

Теперь выполним проверку диска на битые сектора (-s отобразит информацию о сканировании, -v более подробный режим):

badblocks -sv /dev/sda1

Можно сохранить результат в файл:

badblocks -sv /dev/sda1 > ~/badblocks.list

Возможно потребуется отмонтировать диск чтобы проверить:

umount /dev/sda1

Выполнить проверку используя e2fsck можно так:

e2fsck /dev/sda1

Расположение файлов логирования cPanel

Приведу ниже список путей расположения файлов логирования cPanel.

Логи в директории /var/cpanel/:
/var/cpanel/horde/log/ (Horde)
/var/cpanel/roundcube/log/ (RoundCube)
/var/cpanel/squirrelmail/ (SquirrelMail)
/var/cpanel/logs (разные логи cpanel)
/var/cpanel/accounting.log (создание, удаление аккаунтов и т.д.)
Per account bandwidth history (Cached) /var/cpanel/bandwidth.cache/{USERNAME}
Per account bandwidth history (Human Readable) /var/cpanel/bandwidth/{USERNAME}
/var/cpanel/updatelogs/updated.ДАТА.log (отчеты об обновлении)

Логи в директории /usr/local/cpanel/logs/:
/usr/local/cpanel/logs/access_log (логи доступа и действий пользователей)
/usr/local/cpanel/logs/cpbackup (резервное копирование)
/usr/local/cpanel/logs/cphulkd.log (защита cPHulk)
/usr/local/cpanel/logs/dnsadmin_log (dnsadmin)
/usr/local/cpanel/logs/error_log (Ошибки cPanel)
/usr/local/cpanel/logs/license_log (Лицензии)
/usr/local/cpanel/logs/build_locale_database_log
/usr/local/cpanel/logs/login_log (Ошибки входа)
/usr/local/cpanel/logs/panic_log (Ошибки)
/usr/local/cpanel/logs/tailwatch_log (Tailwatch)
/usr/local/cpanel/logs/updated_analysis/{TIMESTAMP}.log
/usr/local/cpanel/logs/cpdavd_error_log (WebDisk)
/usr/local/cpanel/3rdparty/mailmain/logs (Mailman)
/usr/local/cpanel/logs/queueprocd.log
/usr/local/cpanel/logs/setupdbmap_log
/usr/local/cpanel/logs/easy/apache/
/usr/local/cpanel/logs/splitlogs_log
/usr/local/cpanel/logs/stats_log
/usr/local/cpanel/logs/safeapcherestart_log

Логи в директории /var/log/:
/var/log/cpanel (логи установки cpanel)
/var/log/cpanel-install.log
/var/log/chkservd.log (статус сервисов)
/var/log/maillog (почтовые логи)
/var/log/messages (почтовые логи)
/var/log/exim_rejectlog
/var/log/exim_paniclog (почтовые логи с ошибками)
/var/log/exim_mainlog (почтовые логи о доставке и получении)
/var/log/slowqueries (лог медленных запросов MySQL, если они включены в my.cnf)
/var/log/easy-tomcat7/localhost-access_log
/var/log/easy-tomcat7/catalina.err
/var/log/easy-tomcat7/catalina.out

Логи в других директориях:
/usr/local/apache/domlogs/ДОМЕН
/usr/local/apache/logs/suphp_log (suPHP)
/usr/local/apache/logs/error_log (ошибки web сервера)
/usr/local/apache/domlogs/ftpxferlog (FTP)
/var/spool/exim/input/ (очередь входящей почты)
/var/lib/mysql/ИМЯ_СЕРВЕРА.err (Ошибки MySQL)