2014-10-03

Смена часовых поясов в XP средствами GPO

Все админы, наверное, готовятся сейчас к предстоящему переезду в новые часовые пояса. И основная проблема - это XP, которая местами еще осталась, и для которой отсутствуют патчи от MS.

Для московского региона я состряпал скрипт, который предлагаю скачать: tzdata_xp_patch_moscow_time.7z

Архив включает экспортированный из реестра 2003го сервера набор новых зон и VBS-скрипт:


strComputer = "."
 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")        
Set colOperatingSystem = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystem
ServicePack = objOperatingSystem.ServicePackMajorVersion
Version = objOperatingSystem.Version

Next





IF Mid(Version,1,3)="5.1" Then

Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "regedit /s tzdata_w2k3_zone_list.reg"
oShell.run "control.exe timedate.cpl,,/z Russian Standard Time"

ELSE

'DO NOTHING 


'Set oShell = WScript.CreateObject ("WScript.Shell")
'oShell.run "regedit /s tzdata_w2k3_zone_list.reg"
'oShell.run "control.exe timedate.cpl,,/z Russian Standard Time"


END IF

Как можно понять, скрипт проверяет версию ядра Windows и если она равна 5.1 (это ядро используется в XP), то сначала импортируется reg-файл с зонами, а после выставляется дефолтная - Russian Standard Time.

Стоит учитывать, что данный "патч" можно установить заранее, как и официальный, так как новая зона до 26го октября имеет "летнее время", компенсируя час разницы.

При желании скрипт можно легко модифицировать, изменив проверку ядра системы, или имя текущей зоны, и запустить средствами GPO.

Все зоны лежат в реестре: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones], имя зоны = имени "папки" реестра.

UPD.:
Тестирование показало, что скрипт идеально работает при запуске руками, но какого-то хрена не выполняется как Startup-скрипт из GPO. Изрядно поебавшись, кажется прихожу к решению:

  1. заменить VBS-скрипт следующим двухстрочным CMD:
    regedit /s tzdata_w2k3_zone_list.reg
    control timedate.cpl,,/z Russian Standard Time
  2. Применить на политику WMI-фильтр:
    SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "5.1%"  AND ProductType = 1
В целом это решение видится даже более правильным, хотя до сих пор WMI-фильтрами мне пользоваться не доводилось, почему и в голову сразу не пришло.

2014-09-12

VMware tools в Slackware - что делать, если не работают poweroff, reboot

Если тулзы установлены корректно (определяются как запущенные в консоли управления, отдают информацию о гостевой системе), но при этом гостевая машина не реагирует на попытки выключить или перезагрузить ее - следует снести   скрипт:
 /etc/vmware-tools/scripts/vmware/network

Проверено на 14й слаке и ESXI 5.0

2014-08-15

Отправка триггеров Zabbix на удаленный Syslog-сервер

Захотелось хранить историю триггеров не только на самом заббиксе, но и копировать их, ради пущей надежности, на удаленный сислог. Сделать это оказалось не так сложно.

(все настройки справедливы для ubuntu 12.04)


Первым делом в каталоге /usr/local/share/zabbix/alertscripts/ создаем скрипт zabbix_logger.sh:

#!/bin/bash
/usr/bin/logger -t ZABBIX $2

Меняем ему владельца и делаем исполняемым:

cd /usr/local/share/zabbix/alertscripts/
chown zabbix:zabbix ./zabbix_logger.sh
chmod +x zabbix_logger.sh

Теперь этот скрипт готов получать сообщения от заббикса и писать их заголовки ($2 в скрипте) в локальный сислог под тегом ZABBIX.


Настроим сам заббикс. 
Первым делом добавим новую медию:


Чтобы все триггеры вызывали наш скрипт, добавим эту медию к учетке администратора:




Теперь все триггеры пишутся в локальный сислог. Однако у нас используется отдельный сислог-сервер, поэтому пришлось создать файл /etc/rsyslog.d/20-zabbix.conf, содержащий одну строчку:

:syslogtag,contains,"ZABBIX"   @192.168.1.9


После перезапуска rsyslog'а все сообщения тегированные строкой "ZABBIX" отправятся на нужный сервер, где при помощи LogAnalyzer'а обретут вот такой вот вид:



2014-07-04

Драйвер Dualshock 3, альтернатива Motionjoy и DS3 Tool

Преамбула

Как человек, руки которого привыкли к джойстикам от Sony, я долгое время использовал драйвер MotionJoy для подключения геймпада Dualshock 3 к компу. Драйвер выполнял казалось бы все необходимые функции - позволял подключать геймпад по USB или через Bluetooth, и определять его как XInput-совместимый, что   позволяло использовать дуалшок для игр в стиме, например. Однако у моушнджоя при этом всплыли 3 недостатка:

  1. После рестарта винды нужно вручную запустить софт DS3 Tool,
  2. После старта DS3 Tool приходилось залезать в конфигурацию кнопок и сбрасывать все на дефолт,
  3. При уходе винды в спящий режим Motionjoy ронял ее в BSOD. 

Если первую проблему можно обойти автозагрузкой, а вторая, возможно, вообще возникла только у меня (по крайней мере о ней я ни от кого не слышал), то третья проблема легко гуглится, а ее решение заключается, по отзывам, только в корректном извлечении юсб-устройства после работы. Кроме того встречаются раздраженные отзывы о плохой поддержке, кривом коде (sic!) и невозможности удалить драйвера Motionjoy иначе как вручную. В общем все это (конечно, BSOD'ы в первую очередь) побудили меня поискать альтернативу. И это оказалось несложно.

Драйвер

На форуме steam я нашел развернутый отзыв-инструкцию о "SCP DS Drivers" - альтернативном драйвере, который также поддерживает работу через USB/Bluetooth. Скачать драйвер можно из темы на форуме pcsx.net тут (вроде как там выкладываются свежие версии и лежит инструкция по установке), или вот здесь скачать проверенную лично мной версию (в архиве также находятся оригинальные драйвера геймпада xbox).

Инструкция по установке:

  1. Установить оригинальные драйвера геймпада xbox,
  2. Скачать архив и распаковать в Program Files (или в другое место, откуда этот драйвер будет в дальнейшем работать),
  3. Подключить геймпад по USB,
  4. (если необходимо) подключить Bluetooth-донгл,
  5. Дождаться установки дефолтных драйверов Windows,
  6. Запустить ScpDriver.exe,
  7. Для XP/Vista - поставить галку Force Install, для Win7/8 - не ставить,
  8. Жмякнуть Install и подождать пока в лог напишется что все прошло успешно:



После этого геймпад заработает как XInput-совместимый, а если был подключен Bluetooth-донгл, то можно отключить геймпад от USB - он сам переключится на воздух.

Спаривание геймпада с воздухом осуществляется подключением по USB во время работы сервиса, один донгл держит до 4х геймпадов. Для отключения геймпада нужно на 2 секунды зажать L1+R1+PS.



Скачать драйвер: Dualshock Driver - SCP-DS-Driver-Package-1.2.2.175.7z
Последняя  версия драйвера: http://forums.pcsx2.net/Thread-XInput-Wrapper-for-DS3-and-Play-com-USB-Dual-DS2-Controller

2014-05-23

Мультикаст рестрим на коленке

Появилась задача - обеспечить каждому сотруднику возможность посмотреть проходящую видеоконференцию. Так как количество сотрудников однозначно превышало количество лицензий Codian на подключение - пришлось собрать на коленке рестримилку.

Рестрим

В качестве софта был взят vlc под linux, экспериментальным путем запущенный вот с такими параметрами:

vlc -vvv rtsp://codian_server/conf_h264_g711u_256000__Supaconf \
 --sout "#transcode{\
threads=6,\
vcodec=h264,\
vb=1024,\
scale=0,\
acodec=mp4a,\
ab=64,\
channels=2,\
samplerate=44100,\
venc=x264{preset=ultrafast,aud,profile=baseline,level=30,keyint=30,ref=1}\
}:http{mux=flv,dst=:8080/stream}" --sout-keep

Данный вариант запускает на рестрим, доступный по адресу: http://рестримилка:8080/stream. Стрим вещается с кодеками h264/aac в контейнере flv и понимается онлайн-плеером Video.js (http://www.videojs.com/), который можно поставить прямо на рестримящий сервер. Для воспроизведения потребуется IE не менее 9го или любой другой современный браузер. Ну или можно использовать тот же самый VLC на клиентских компах, а лучше - портабельный (полностью распакованный) vlc на сетевой шаре с ярлыком, в котором прописан путь к рестриму.

Такой вариант рестримилки в моем случае при шести ядрах тянул  300 подключений не напрягаясь - загрузка процессора не превышала 20%. Однако трафик, поэтому...

Балансировка нагрузки

Еще более наколеночное и тупое решение - поднять пару серверов, которые будут захватывать стрим с основного рестримящего сервера и отдавать его без перекодировки. 

!#/bin/sh
while true; do 
/usr/bin/vlc --play-and-exit  \
-vvv http://restream-root-server:8080/stream \
--sout "#standard{access=http,mux=flv,dst=:8080/stream}" 
sleep 2
done

Этот скрипт будет пытаться достучаться до рестримящего сервера и подхватить поток. Когда поток подхватится - vlc начнет его рестрим (тот же адрес - :8080/stream) В случае прерывания потока vlc схлопнется и продолжатся попытки нащупать поток.

Подняв 2 или сколько потребуется серверов, добавляем все их в DNS с одним именем, получив примитивную Round Robin балансировку. Также для каждой такой DNS-записи следует указать небольшое время кэширования на клиентах - TTL (в Windows для этого нужно включить Advanced-режим отображения: View - Advanced).

После этого настраиваем клиентский плеер на адрес http://общий_адрес:8080/stream 

2014-05-19

Нарезка PDF-файла по координатам на куски в Linux

Занялся переносом карточной игры "Cards Against Humanity" в симулятор настольных игр.  Сеты карт для этой игры распространяются бесплатно в PDF-формате, в том числе существует и неофициальный перевод карт на русский. В обычной жизни предполагается возможность распечатать и нарезать колоду, мне же стало необходимо получить индивидуальные картинки карт.

Как можно видеть, исходный файл достаточно ровно сверстан, поэтому логично было бы попробовать автоматизировать его нарезку.


Для начала нам потребуется утилита cpdf, взять ее можно тут: https://github.com/coherentgraphics/cpdf-binaries

Вырезка кусочка PDF по его координатам осуществляется командой:
cpdf -crop "Xнач Yнач Xкон Yкон" input.pdf -o output.pdf, где:
Xнач и Yнач - начальная точка квадрата выделения (левая-нижняя)
Xкон Yкон - смещение до конечной точки квадрата выделения (правой-верхней)
при этом счет координат ведется от нижнего-левого угла листа.

Эта команда составит нам пдфник, каждая страница которого будет вырезкой из страницы оригинального файла.

Разумеется я подсчитал смещения по оси X и настрогал пдфников такой очень ленивой строчкой:
for i in {0..3}; do let "x=(14+($i*144))" ;  cpdf -crop "`echo $x` 29 134 134  " ~qiwichupa/Gotovaya_versia.pdf -o out_1_$i.pdf ; done;

В результате я получил 4 файла с картами с последней строки оригинала:
раз, два, три, четыре.

Тут лень взяла верх, и я повторил этот  однострочник еще 4 раза, вручную поменяв стартовую координату Y, примерно так:
for i in {0..3}; do let "x=(14+($i*144))" ;  cpdf -crop "`echo $x` 188 134 134  " ~qiwichupa/Gotovaya_versia.pdf -o out_2_$i.pdf ; done;

В итоге я получил 4*5=20 файлов, каждый из которых имел 1 карту на одной странице. Вагон ручной работы по нарезке избегнут! Дальше марафет.

Режу файлы на страницы, складывая их в отдельную папку: 
for i in ./*.pdf; do  cpdf -split $i -o ./pdf/$i-%%.pdf ; done;

Удаляю обрезки от первых двух и последней страниц:
rm ./pdf/*-0[12].pdf
rm ./pdf/*-30.pdf

Тут выяснилось что 100%-ный размер получившихся карточек маловат для конвертации в графику, поэтому пришлось увеличить его в 5 раз:
for i in ./pdf/*.pdf ; do cpdf -scale-page "5 5" $i -o $i.pdf; done ;

В результате получились такие прекрасные карточки. Осталось их сконвертировать в растр (png):
for i in ./pdf/*.pdf ; do convert $i  -flatten   -trim -sharpen 1x1.0 $i.png ; done ;

Вуаля - результат!

2014-05-08

Регулярное обслуживание сервера WSUS

Пару лет назад, при настройке сервера обновлений я столкнулся с постепенным распуханием баз данных сервера и связанным с этим падением производительности. В результате были разысканы скрипты, вычищающие устаревшие обновления (замененные микрософтом более актуальными версиями) и оптимизирующие базу данных. Теперь мне не нужно задаваться вопросом "как почистить базу WSUS?" - в планировщике задач висят два батника: WsusDBMaintenance.bat отрабатывает в ночь на каждое первое число, wsuscleanup.bat - в ночь на второе число.

Несколько замечаний:

  1. Все файлы из нижеприложенного архива должны лежать в папке C:\bin\, или придется поменять путь в батниках на актуальный.
  2. Задачи планировщика должны выполняться от администраторской учетки.
  3. В скрипте используется утилита sqlcmd из Microsoft® Command Line Utilities (в моем случае это были sqlncli2008R2_x64).
  4. Проверено на WSUS 3.2


bin.7z - Скачать

2014-05-06

SSH под Windows

Захотел поиметь в винде ssh.exe для понятных нужд. В сети на  скорую руку выгугливается только одно решение, поэтому позволю себе репостнуть:

"Чтобы запустить консольный OpenSSH клиент в Винде нужно поставить Cygwin, а так же пакеты zlib и openssh. Cygwin позволяет запускать линуксовые приложения под виндой. Я всегда довольно подозрительно отношусь к софту, который меняет поведение системы, поэтому собирал ssh не запуская инсталлятор Cygwin. (Для тех, кому не терпится — в конце есть все готовое, чтобы скачать.)

Для начала я сделал папку SSH в Program Files. На одном из этих сайтов я скачал пакеты cygwin, zlib, openssh, openssl и minires. Из них нужно в нашу папку SSH положить файлы: cygwin1.dll из пакета cygwin, cygz.dll из zlib, ssh.exe и ssh-keygen.exe из ssh, cygcrypto-0.9.8.dll из openssl, и cygminires.dll из minires. Дальше идем в настройки переменных окружения, в PATH прописываем путь к папке SSH, а так же создаем переменную HOME и так же прописываем путь к папке SSH. Хочу, однако, отметить, что HOME можно не указывать, тогда ищите папку .ssh в папке вашего юзера. Например C:/Users/CharnaD/.ssh. Все!"

(с) http://www.charnad.com/blog/ssh-pod-windows/


Для ленивых автор выложил готовый архив:  ssh_for_win.zip

2014-03-19

Как склеить видео разных форматов, разного разрешения, аспекта, с разными прочими характеристиками

Работая с записями игровых стримов, столкнулся с необходимостью склеивать небольшие их кусочки в одно видео. Обычно с этим не возникает проблем, но в некоторых случаях приходится иметь дело с кусками, которые были записаны в разном разрешении, или разной частотой кадров, не говоря о разных кодеках. Обрабатывать видео в avidemux, в котором я это обычно делал, конечно было можно, но хотелось максимально автоматического решения. Оказалось что собрать такое самому не очень сложно, более того решение основано на совершенно бесплатных и мультиплатформенных утилитах: avconv (форк ffmpeg) и MP4Box.

Как же склеить разное видео? Алгоритм обработки следующий: привести исходные видеофрагменты к общему формату и характеристикам, затем собрать воедино. В качестве формата видеопотока был выбран H264, для аудио - mp3. Стоит учесть, что для успешного склеивания фрагментов, требуется не только общий формат, но и характеристики, такие как частота кадров или частота аудиопотока. Также надо иметь в виду, что в процессе видео подвергаются перекодированию, что не может не сказаться на качестве. Впрочем, для того видео, с которым нужно работать мне, это не критично, и вообще avconv весьма хорошо справляется с кодированием.

Итак, как же это юзать. Предположим мы имеем 2 видео: S1.flv и S2.flv. Переконвертим их командой:

avconv -i S1.flv -map 0 -vf "scale=iw*sar*min(1280/(iw*sar)\,720/ih):ih*min(1280/(iw*sar)\,720/ih),pad=1280:720:(ow-iw)/2:(oh-ih)/2" -c:a libmp3lame -ar 48000 -c:v libx264 -r 30 -bf 2 -g 30 -profile:v high -preset veryfast -level 42 O1.mp4

avconv -i S2.flv -map 0 -vf "scale=iw*sar*min(1280/(iw*sar)\,720/ih):ih*min(1280/(iw*sar)\,720/ih),pad=1280:720:(ow-iw)/2:(oh-ih)/2" -c:a libmp3lame -ar 48000 -c:v libx264 -r 30 -bf 2 -g 30 -profile:v high -preset veryfast -level 42 O2.mp4


Выглядит устрашающе, но на выходе мы получим 2 ролика с одинаковыми характеристиками и, даже, растянутых (или ужатых) до одинакового разрешения - 1280x720 - с добавленными черными полосами там, где это нужно. Последнее нужно для склеивания видео в один ролик, поэтому с черными полосами так или иначе придется смириться, а за процесс "скейлинга" отвечает замечательный параметр -vfзначение для которого вывел некто Kevin Locke, оно является практически ключевым местом всех преобразований и я очень рад что кто-то проделал эту работу за меня =). Параметры, с которыми можно попробовать поиграться:

-ar 48000 - частота аудиопотока
-r 30 - частота кадров видео
-g30 - частота ключевых кадров
-preset veryfast - скорость кодирования, для улучшения качества можно выбрать veryslow или один из прочих пресетов H264.

После конвертации мы получим два файла: O1.mp4 и O2.mp4, контейнер выбран не случайно и заточен под утилиту MP4Box. Синтаксис объединения таков:

MP4Box -add O1.mp4  -cat O2.mp4 out.mp4

Стоит отметить, что параметр -add указывается для первого файла, для всех последующих справедлив параметр -cat.
На выходе получаем out.mp4, содержащий в себе все видеофрагменты в порядке их указания.

Разумеется данное решение не совсем автоматично без скрипта, а так как хотелось еще и платформонезависимого решения, то пришлось навая скрипт на питоне. Да, питон не входит в дитрибутив винды, но и avconv с MP4Box (входит в пакет GPAC) поставить придется (http://win32.libav.org/win64/ и http://gpac.wp.mines-telecom.fr/downloads/) зато после этого выходит действительно "однокнопочное" решение - стоит в консоли зайти в директорию с набором flv-файлов (формат можно указать в начале скрипта) и выполнить:
python путь_к_скрипту
дальше можно откинуться на спинку кресла =)

Ссылка на актуальную версию скрипта: http://pastebin.com/hCfFSF5a

Ссылка на архив со всем необходимым: https://drive.google.com/file/d/0B3kqpI0yeB0iVG1hRmpBdEN5emM/edit?usp=sharing

Видео про то как все это поставить:



Upd: сделал бинарник, все-в-одном-экзешнике: avmerge_x64.7z , avmerge_x86.7z

2014-03-08

Домашний VoIP как замена сотовой и стационарной связи

Кросспост из http://blog.qiwichupa.net/2014/03/blog-post.html

"У меня зазвонил телефон.
- Кто говорит?
- Слон.
- Откуда?
- От верблюда."

Сегодня, глядя на иллюстрацию к стихотворению Чуковского, можно лишь испытать ностальгию по тем временам, когда у каждого в квартире стоял большой, с круглым позвякивающим диском, телефон.

Стационарники из обыденного средства  связи превратились скорее в средств связи специальное. Уверен, что в деревнях, далеко отстоящих от городов и вышек сотовой связи, найдется стационарный телефон, которым, даже, иногда польуются, но, пожалуй, на этом и всё. Если же у кого-то и остался стационарник, то это скорее дань традиции и просто привычный предмет обихода, нежели реальное средство связи. А у многих, как у меня, и вовсе осталась лишь подключенная линия, а телефонного аппарата и вовсе уже и нет - сотовые операторы одержали уверенную победу, предоставив относительно дешевую и мобильную связь.

Впрочем, не мобильной связью единой... Уже давно, и, по мере развития интернет-сетей, все сильнее и сильнее набирает обороты VoIP-связь - связь через интернет. Всем известный Skype предоставляет совершенно бесплатно не только голосовую, но и видеосвязь, чего не может предложить ни один из сотовых операторов. Более того, МГТС некоторое время назад начала также переходить на VoIP, заменяя ту самую стационарную телефонию, а вернее сам принцип работы линии - старая аналоговая "лапша" будет заменена интернет-каналом, к которому будут подключаться да хоть старые телефоны, которые у многих еще сохранились. Плюсы такого решения очевидны: интернет сейчас есть у каждого, а у кого нет - тех МГТС подключит и помимо телефонии, возможно, получит и интернет-клиента себе в копилку. Да и клиентам неплохо - с их точки зрения ничего не поменяется, разве что в квартире появится дополнительная коробочка, которая сделает возможным подключение обычного аналогового телефона к Интернету. Минус всей схемы, пожалуй, один - старая аналоговая телефония не зависит ни от работоспособности интернет-сети, ни от подачи электричества конечному пользователю. Выключили в доме свет - старая телефония осталась работать, а вот оборудование VoIP потухнет. Насколько это критично - каждый решает для себя.

Я решил, что для меня это не критично. А еще я решил, что мне не так удобно платить и за поддержание аналоговой, пока еще, линии МГТС, и сотовому оператору. Я подумал, что было бы здорово сменить их обоих на что-то одно, с понятными и некусачими тарифами, возможностью недорого позвонить по межгороду, с возможностью иметь московский номер для входящих звонков, а если бы такая связь была еще и мобильной - ну, было бы совсем супер. Решение у меня было, в общем-то, под рукой - я уже давно являлся абонентом VoIP-провайдера http://zadarma.com, который базово предоставляет свой внутренний номер с бесплатными звонками внутри сети и определенной тарифной сеткой для звонков наружу. Теперь же мне захотелось купить у них прямой московский номер, чтобы звонить могли и мне, а заодно пустить в ход доставшийся мне волею случая стационарный телефонный аппарат. Мобильная связь? Да, конечно, у меня есть планшетофон на андроиде, а у "задарма" есть свой клиент под эту платформу. Вопрос интернета решается интернет-симкой от мегафона.

Воу-воу-воу, скажете вы мне: какой смысл заморачиваться с VoIP, если все равно нужна симка? Ну, ответ на этот вопрос довольно сложен. На данный момент могу сказать только что, во-первых, симка нужна только там где нет вайфая, поэтому для кого-то она может оказаться и не такой необходимой, во-вторых, это хороший способ отвязаться от конкретного мобильного оператора - от него нужен только интернет и сменить его можно всегда и без проблем, в-третьих, мой переход на VoIP пока в стадии тестирования и оценки удобства и финансовой оправданности, поэтому даже для себя я пока окончательно не оценил все выгоды данного мероприятия =)

Ну так вот, теперь поподробнее о том как все это выглядит. Имея аккаунт "задарма" (и да, это не какая-то реклама, просто несколько лет назад я на них наткнулся, ну и больше альтернатив особо и не искал) я могу совершать звонки хоть с их сайта, не имея никакого клиента вообще. На свой планшетофон я установил их клиента, который, впрочем, может быть заменен любым другим, который поддерживает протокол SIP - он используется в подавляющем большинстве VoIP-решений. Самым непростым, затратным и бесполезным оказалась установка стационарного телефона =) Скажу прямо - было просто интересно, поэтому за пару деревянных тысяч я приобрел "коробочку" от Linksys, которая позволяет подключить себя к домашней сети с доступом в Интернет, а к себе - любой обыкновенный телефон, который умеет тоновый набор (увы, дисковый телефон не годится =(( ).



Как можно видеть - "попа" коробочки имеет 4 разъема. Два из них - те что побольше - служат для подключения самой коробочки к домашней сети и подключения, например, компьютера к коробочке. То есть, если на вашем домашнем роутере забиты все разъемы, то данный VoIP-адаптер можно смело воткнуть последовательно между компьютером и роутером. Разъемы же поменьше служат для подключения двух телефонов. К слову, каждый разъем настраивается отдельно и телефоны, в конечном счете, могут работать да хоть с разными VoIP-провайдерами.

Сама же коробочка довольно мала, с нижней стороны имеет "ушки" для крепления к стене, у меня же - просто является подставкой для телефона.



Ну и пара слов как все это работает. Позвонить можно просто сняв стационарную трубку и набрав номер. В случае с андроидом - запустив программу и набрав номер на ее номеронабирателе. Входящий вызов приходит сразу на все подключенные клиенты (клиентом стационарника является "коробочка", на андроиде - родной клиент, который  автозапускается при старте системы). Входящие звонки бесплатны, для звонящего тарифицируются как звонки на московский номер (так что для стационарных москвичей бесплатны чуть более чем полностью), исходящие - в зависимости от тарифа и "адресата". За московский номер платится абонентка - 4 бакса в месяц (можно и дороже за более "красивые номера"), при заказе номера можно выбрать номер из пула - какой больше нравится. Для заказа номера нужно предоставить скан паспорта, сам номер мне привязали на следующий день после заказа. Также есть, по крайней мере сейчас, возможность получить московский номер без абонентки, но для этого нужно трепаться не менее скольких-то там минут в месяц - может кому-то подойдет.

Повторюсь, на данный момент я лично не до конца и не полностью оценил всю выгоду перехода от МГТС и сотовой связи к VoIP-телефонии, к тому же сам я звоню довольно редко и мой опыт для многих не будет показательным, но все же я решил им поделиться  и показать, что, в принципе, переход на VoIP не так страшен. К тому же, в связи с переходом МГТС на тот же самый VoIP, становится резонным вопрос - а не имеет ли смысла отказаться от их услуг и купить номер у другого провайдера? Лично я убедился в одном: лично для меня такой смысл вполне есть.

2014-02-19

Отправка SMS с помощью GSM-модема из командной строки linux

Используя minicom или другой эмулятор терминала, зацепиться за порт (например /dev/ttyS0) и набрать:

AT+CMGF=1 [Enter] AT+CMGS=+79261234567 [Enter] this is test message [Ctrl+Z]