Для удаления службы в Windows Hyper-V Server 2008 R2 делаем следующее:
1. На своей машине идём в Управление компьютером. Подключаемся к хосту Hyper-V. Идём в Службы.
2. Находим требуемую службу, останавливаем и со страницы свойств копируем её название.
3. Идём на консоль сервера Hyper-V и выполняем команду:
sc delete <имя службы>
Всё.
четверг, 15 декабря 2011 г.
среда, 14 декабря 2011 г.
Удалённый доступ к Device Manager для сервера Microsoft Hyper-V Server 2008 R2
Расширяли сетевые возможности своего сервера виртуализации. Столкнулись с проблемой доступа к Менеджеру устройств на этом серваке. Порывшись, нашёл такое решение.
1. На своём компе (с которого есть удалённый доступ к серверу) запускаем консоль mmc. Добавляем в неё оснастку "Редактор объектов групповой политики" и вместо локального компа указываем наш сервер:
Далее движемся в раздел Конфигурация компьютера - Административные шаблоны - Система - Установка устройств и для параметра "Разрешить удалённый доступ к устройствам Plug and Play" ставим значение "Включено".
2. Идём на консоль нашего сервера и делаем ему больно - gpudate /force
3. Подключаемся со своего компа к удалённому управлению нашим сервером, смотрим на результат. Он полуположительный - device manager есть, записи нет. Но это у Microsoft уже не лечится.
1. На своём компе (с которого есть удалённый доступ к серверу) запускаем консоль mmc. Добавляем в неё оснастку "Редактор объектов групповой политики" и вместо локального компа указываем наш сервер:
Далее движемся в раздел Конфигурация компьютера - Административные шаблоны - Система - Установка устройств и для параметра "Разрешить удалённый доступ к устройствам Plug and Play" ставим значение "Включено".
2. Идём на консоль нашего сервера и делаем ему больно - gpudate /force
3. Подключаемся со своего компа к удалённому управлению нашим сервером, смотрим на результат. Он полуположительный - device manager есть, записи нет. Но это у Microsoft уже не лечится.
воскресенье, 20 ноября 2011 г.
VPN в корпоративную сеть
Думал, что всё будет очень сложно. Ан нет, порадовала Fedora. Оказалось, всё очень просто.
1. Идём в Network Manager.
2. Говорим ему Manage Connections
3. На закладке VPN говорим Add, выбираем PPTP
4. На первой страничке (PPTP Settings) вводим данные своего VPN
5. Там-же нажимаем кнопочку Advanced, и делаем как на скриншоте.
Всё, сохраняем наш VPN, подключаемся. Имеем счастье.
1. Идём в Network Manager.
2. Говорим ему Manage Connections
3. На закладке VPN говорим Add, выбираем PPTP
4. На первой страничке (PPTP Settings) вводим данные своего VPN
5. Там-же нажимаем кнопочку Advanced, и делаем как на скриншоте.
Всё, сохраняем наш VPN, подключаемся. Имеем счастье.
How-To: Устанавливаем драйвера NVIDIA на Fedora Core 16 + KDE4
Итак, сказано - сделано. Наф винды, (ну... не наф, конечно - остались они на винте, что греха таить...) да здравствует Linux.
Поставил сначала последнюю Fedora (release 16 Verne) с Гномом. Эмм... Не знаю, что там курят разработчики Гнома - но что-то больно забористое, это точно. Ниасилил, как говорится. Убил наф, поставил со старым добрым KDE 4.7.3. Интерфейс-то родной, но...
У меня два монитора. Один - эт ноут. Второй - эт рядом. На ноуте - NVidia FX880M. KDE благополучно второй монитор находит... Только ничего про него не запоминает и вываливается постоянно. Подумал, что это из-за драйверов - ведь по умолчанию Fedora, найдя карту NVidia, ставит nouveau-драйвер. Сходил на NVidia, почитал про драйвера под Linux. Ничо не понял.
Погуглил, подумал, и сделал так.
1. Обновил систему в части ядра, заголовков и Selinux
Ну и получил счастье. Оба монитора работают, настройки сохраняются и запоминаются и вообще всё хорошо.
Поставил сначала последнюю Fedora (release 16 Verne) с Гномом. Эмм... Не знаю, что там курят разработчики Гнома - но что-то больно забористое, это точно. Ниасилил, как говорится. Убил наф, поставил со старым добрым KDE 4.7.3. Интерфейс-то родной, но...
У меня два монитора. Один - эт ноут. Второй - эт рядом. На ноуте - NVidia FX880M. KDE благополучно второй монитор находит... Только ничего про него не запоминает и вываливается постоянно. Подумал, что это из-за драйверов - ведь по умолчанию Fedora, найдя карту NVidia, ставит nouveau-драйвер. Сходил на NVidia, почитал про драйвера под Linux. Ничо не понял.
Погуглил, подумал, и сделал так.
1. Обновил систему в части ядра, заголовков и Selinux
yum update -y kernel* selinux-policy*
reboot
2. Добавил в систему прогугленный репозиторий, который содержит свежак драйверовrpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm3. Установил сами драйвера
yum install kmod-nvidia xorg-x11-drv-nvidia-libs4. Удалил ссылки на nouveau-драйвер из загрузчика
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut /boot/initramfs-$(uname -r).img $(uname -r) reboot
Ну и получил счастье. Оба монитора работают, настройки сохраняются и запоминаются и вообще всё хорошо.
понедельник, 23 мая 2011 г.
Отправляем SMS при помощи kannel на базе CentOS 5.5 - Настройка.
Во второй части статьи мы кратко рассмотрели процесс установки kannel. Теперь начинается самое интересное - настройка.
Перед началом процесса настройки настоятельно рекомендую почитать официальную документацию на стабильный релиз. Без этого будет тяжеловато понимать логику работы программы.
Итак.
Kannel состоит из трех частей, которые разработчики называют boxes – bearerbox, smsbox и wapbox. Bearerbox – главный модуль, принимающий SMS-сообщения с мобильного телефона и пересылающий их в wapbox и smsbox. Поддерживается множество WAP- и SMS boxes. Wapbox в нашем случае нас не интересует (мы не собираемся предоставлять мобильный контент корпоративным пользователям), поэтому настройку wapbox в рамках этой статьи мы рассматривать не будем.
Вся настройка может храниться в одном файле - kannel.conf. После установки kannel из исходников (а почему мы сделали именно это, а не поставили его из готовых пакетов, коих в сети предостаточно, в том числе и в базовой конфигурации CentOS, я расскажу чуть позже) конфигурационный файл по умолчанию не создаётся, мы вольны расположить его где угодно. Я для этого использую папку /etc/kannel. Сам файл может быть как один, так и содержать в себе ссылки на файлы конфигурации отдельных boxes - если ваша конфигурация в результате разрастётся до неприличных размеров. Наша задача не такая большая, поэтому мы будем использовать один файл.
Первая секция - настройка самого bearerbox. Как уже говорилось - это основной модуль программы. Выглядит секция приблизительно так:
Во втором окне выполняем запуск smsbox:
Теперь можно открыть третье окошко ssh-консоли (или третий локальный терминал, Alt+F3) и посмотреть, работает ли web-сервер, который поднимается из-под bearerbox:
Ок, всё работает!
Теперь попробуем отослать SMS.
Здесь мне придётся сделать некоторое лирическое отступление.
Как я ни пытался, но мне так и не удалось отправить SMS на номер, сформированный по правилам, привычным мне с момента начала пользования мобильным телефоном - +7МММХХХХХХХ. Что с плюсом впереди, что без плюса - в результате формировалась PDU, у которой в типе номера телефона в поле DA всегда стояло 81h. А наш любимый оператор Мегафон такие SMS не принимает, считая, что номер указан не в международном формате. После трёх дней экспериментов и плотного общения с инженерами Мегафон и разработчиками kannel на канале users@kannel.org было обнаружено, что SMS уходят без проблем в двух случаях: если вместо "+" в номере получателя ставится регулярное выражение %2B или номер телефона получателя пишется в ПОЛНОМ международном формате - +007МММХХХХХХХ. Теоретически для определения префиксов кодов стран в конфигурационном файле kannel служит специальная переменная, unified-prefix. Но разобраться с форматом этой переменной для России я так и не смог - куда и как бы я её не подставлял, номер телефона получателя всё равно ставился с 81h в поле DA.
Итак, для отправки SMS с помощью GET-запроса вводим в адресную строку вашего любимого браузера следующую строку:
Поздравляю, теперь любой ваш мониторинг сможет оповещать вас посредством отправки SMS-сообщения на ваш телефон!
У нас осталась последняя часть рассказа - как всё, что мы сейчас сделали, прикрутить к мониторингу от Paessler (который PRTG Network Monitor)
Перед началом процесса настройки настоятельно рекомендую почитать официальную документацию на стабильный релиз. Без этого будет тяжеловато понимать логику работы программы.
Итак.
Kannel состоит из трех частей, которые разработчики называют boxes – bearerbox, smsbox и wapbox. Bearerbox – главный модуль, принимающий SMS-сообщения с мобильного телефона и пересылающий их в wapbox и smsbox. Поддерживается множество WAP- и SMS boxes. Wapbox в нашем случае нас не интересует (мы не собираемся предоставлять мобильный контент корпоративным пользователям), поэтому настройку wapbox в рамках этой статьи мы рассматривать не будем.
Вся настройка может храниться в одном файле - kannel.conf. После установки kannel из исходников (а почему мы сделали именно это, а не поставили его из готовых пакетов, коих в сети предостаточно, в том числе и в базовой конфигурации CentOS, я расскажу чуть позже) конфигурационный файл по умолчанию не создаётся, мы вольны расположить его где угодно. Я для этого использую папку /etc/kannel. Сам файл может быть как один, так и содержать в себе ссылки на файлы конфигурации отдельных boxes - если ваша конфигурация в результате разрастётся до неприличных размеров. Наша задача не такая большая, поэтому мы будем использовать один файл.
Первая секция - настройка самого bearerbox. Как уже говорилось - это основной модуль программы. Выглядит секция приблизительно так:
#Файл основной конфигурации kannel
#Секция bearerbox
#Описывает основные свойства и общую настройку kannel
#
#Обязательный параметр. Группа core присутствует ВСЕГДА
group = core
#Обязательный параметр. Номер порта, на котором находится
#административный интерфейс kannel. Через этот интерфейс мы
#можем управлять нашими боксами
admin-port = 13000
#Обязательный параметр. Без него административный
#http-интерфейс не работает.
admin-password = T[fkUhtrfXthtpHtre
#Номер порта, на котором слушается smsbox. Можно использовать другой номер.
smsbox-port = 13001
#Где лежат логи bearerbox и степень их детализации:
#0 - отладка (debug)
#1 - информация (info)
#2 - предупреждения (warning)
#3 - ошибки (error)
#4 - panic
log-file = /var/log/kannel/bearerbox.log
log-level = 0
access-log = /var/log/kannel/access.log
#Тип хранилища подтверждений о доставке сообщений на телефон абонента.
#При использовании в качестве SMS-центра модема доставка таких
#подтверждений не работает, поэтому можно не писать. :-) (DeLivery Report)
dlr-storage = internal
#Тип хранилища сообщений. Может быть либо spool - тогда все сообщения
#хранятся в отдельном каталоге и для каждого из них создаётся отдельный
#файл, либо file - тогда все сообщения валятся в один файл. Сделано это
#для того, чтобы при падении kannel сообщения не пропали.
store-type = spool
store-location = /var/spool/kannel/
Вторая секция - настройка smsbox. Это тот модуль, который слушает определённый http-порт и при наличии на этом порту GET- или POST- (или какого либо ещё) запроса на отправку сообщения передаёт его соответствующему SMS-центру и рапортует при помощи http-response о выполении этой задачи.#Секция smsbox
#Описывает настройку модуля smsbox
#
#Обязательный параметр. Говорит о типе бокса
group = smsbox
#Где находится основной модуль kannel. Из этого параметра следует,
#что в больших инсталляциях bearerbox может располагаться
#на другом сервере.
bearerbox-host = localhost
#Название нашего бокса. Будет отображаться в логах, служит
#идентификатором бокса, т.к. smsbox может быть несколько.
smsbox-id = My-smsbox
#Где лежат логи smsbox и степень их детализации:
#0 - отладка (debug)
#1 - информация (info)
#2 - предупреждения (warning)
#3 - ошибки (error)
#4 - panic
log-file = /var/log/kannel/smsbox.log
log-level = 0
#Порт, на котором слушаются запросы. Можно ставить свой номер.
sendsms-port = 13013
Третья секция - настройки SMS-центра. SMS-центр определяет, связь какого типа будет использоваться для передачи SMS. Это может быть и протокол SMPP, и SMS-центр Nokia CIMD версии 1.37 или 2.0, и различные http-релеи, пересылающие запросы соответствующим smsbox. Специально для нашего случая разработана секция, в которой в качестве оборудования используется GSM-модем или терминал. Её настройки мы и опишем.#Секция smsc
#Описывает настройку модуля smsc
#
#Обязательный параметр. Говорит о типе бокса
group = smsc
#Тип используемого SMS-центра. Для модема - обязательно at.
smsc = at
#Название нашего SMS-центра. Будет отображаться в логах, служит
#идентификатором SMS-центра, т.к. их может быть несколько (например,
#три разных модема на трёх COM-портах)
smsc-id = APPM-smsc
#Тип используемого модема. Некоторые известные типы модемов отражены в
#документации, которая лежит по адресу /usr/src/gateway-1.4.3/doc/examples
#Если тип модема там не представлен, можно смело ставить auto.
modemtype = auto
#Порт, на котором живёт наш модем. В данном случае - COM1
device = /dev/ttyS0
#Список адресов, с которых разрешён доступ к нашему SMS-центру.
connect-allow-ip = 127.0.0.1
#Скорость последовательного порта
speed = 115200
#Хранить входящие сообщения в памяти sim-карты
sim-buffering = true
#Номер телефона SMS-центра оператора. Может быть прошит в вашей sim-карте,
#а может жёстко задаваться тут. Я выбрал второй путь - он прописывается
#в терминал перед отправкой каждого сообщения. Номер задаётся в
#международном формате.
sms-center = +79219909090
Четвёртая секция - описание собственно модема и правил работы с ним.#Секция modems
#Описывает настройку GSM-терминала.
#
#Обязательный параметр. Говорит о типе бокса
group = modems
#Идентификатор и имя устройства
id = SIEMENS MC35i
name = "Siemens_MC35i"
#Если в выводе команды ATI содержатся эти две строки, то использовать
#описание и параметры этого модема
detect-string = "SIEMENS"
detect-string2 = "MC35i"
#Строка инициализации модема. Почти все грабли, которые можно собрать
#на этапе первоначальной настройки, связаны с неправильной строкой
#инициализации
init-string = "AT+CNMI=1,2,0,1,1"
#Использовать аппаратную синхронизацию потока
enable-hwhs = "AT\\Q3"
#При длительном неиспользовании модем может уснуть. Чтобы этого
#не случилось, говорят
need-sleep = true
#тип хранилища входящих сообщений.
message-storage = SM
Пятая секция - описание раздела авторизации пользователей при отправке SMS-сообщений. Если поля username и password в этой секции пусты, то отправить может любой. Если в этой секции присутствует поле default-sender, то в формируемом GET-запросе не надо будет указывать поле from=. (О структуре GET-запроса смотри ниже)group = sendsms-user
username = ""
password = ""
default-sender = +79314114119
Шестая секция - описание http-интерфейса, предоставляющего доступ ко входящим сообщениям. Как я уже упоминал выше, нам это неактуально, поэтому в этой секции всё будет просто:group = sms-service
keyword = default
text = "No service specified"
catch-all = true
Таким образом, в собранном воедино виде наш конфигурационный файл будет выглядеть следующим образом:#kannel configuration file
group = core
admin-port = 13000
admin-password = T[fkUhtrfXthtpHtre
smsbox-port = 13001
log-file = /var/log/kannel/bearerbox.log
log-level = 0
access-log = /var/log/kannel/access.log
dlr-storage = internal
store-type = spool
store-location = /var/spool/kannel/
group = smsbox
bearerbox-host = localhost
smsbox-id = APPM-smsbox
log-file = /var/log/kannel/smsbox.log
log-level = 0
sendsms-port = 13013
group = smsc
smsc = at
smsc-id = APPM-smsc
#log-file = /var/log/kannel/smsc_at.log
#log-level = 0
modemtype = auto
device = /dev/ttyS0
connect-allow-ip = 127.0.0.1
speed = 115200
sim-buffering = true
sms-center = +79219909090
group = smsbox-route
smsbox-id = APPM-smsbox
smsc-id = APPM-smsc
group = modems
id = SIEMENS MC35i
name = "Siemens_MC35i"
detect-string = "SIEMENS"
detect-string2 = "MC35i"
init-string = "AT+CNMI=1,2,0,1,1"
enable-hwhs = "AT\\Q3"
need-sleep = true
message-storage = SM
group = sendsms-user
username = ""
password = ""
default-sender = +79314114119
group = sms-service
keyword = default
text = "No service specified"
catch-all = true
Всё готово к тому, чтобы стартовать kannel с тем, что мы натворили. На этапе отладки делать это лучше из двух разных окошек ssh-консоли (либо с двух разных локальных консолей). В первой консоли набираем:bearerbox /etc/kannel/kannel.conf
и видим примерно такую картину:Во втором окне выполняем запуск smsbox:
smsbox /etc/kannel/kannel.conf
Выглядит это так:Теперь можно открыть третье окошко ssh-консоли (или третий локальный терминал, Alt+F3) и посмотреть, работает ли web-сервер, который поднимается из-под bearerbox:
Ок, всё работает!
Теперь попробуем отослать SMS.
Здесь мне придётся сделать некоторое лирическое отступление.
Как я ни пытался, но мне так и не удалось отправить SMS на номер, сформированный по правилам, привычным мне с момента начала пользования мобильным телефоном - +7МММХХХХХХХ. Что с плюсом впереди, что без плюса - в результате формировалась PDU, у которой в типе номера телефона в поле DA всегда стояло 81h. А наш любимый оператор Мегафон такие SMS не принимает, считая, что номер указан не в международном формате. После трёх дней экспериментов и плотного общения с инженерами Мегафон и разработчиками kannel на канале users@kannel.org было обнаружено, что SMS уходят без проблем в двух случаях: если вместо "+" в номере получателя ставится регулярное выражение %2B или номер телефона получателя пишется в ПОЛНОМ международном формате - +007МММХХХХХХХ. Теоретически для определения префиксов кодов стран в конфигурационном файле kannel служит специальная переменная, unified-prefix. Но разобраться с форматом этой переменной для России я так и не смог - куда и как бы я её не подставлял, номер телефона получателя всё равно ставился с 81h в поле DA.
Итак, для отправки SMS с помощью GET-запроса вводим в адресную строку вашего любимого браузера следующую строку:
http://smsgate.appm.local:13013/cgi-bin/sendsms?username=&password=&to=+007MMMXXXXXX&text=Test from Kannel
Если у нас всё правильно настроено, то в двух окнах, в которых запущены процессы bearerbox и smsbox вы увидите процесс отправки SMS, а само сообщение прилетит к вам на телефон.Поздравляю, теперь любой ваш мониторинг сможет оповещать вас посредством отправки SMS-сообщения на ваш телефон!
У нас осталась последняя часть рассказа - как всё, что мы сейчас сделали, прикрутить к мониторингу от Paessler (который PRTG Network Monitor)
воскресенье, 22 мая 2011 г.
Отправляем SMS при помощи kannel на базе CentOS 5.5 - Установка.
В первой части мы поговорили о некоторых аспектах теории, теперь перейдём к практической реализации того, что мы выбрали.
Итак, оно нам подходит, так что собираемся с духом и приступаем.
Первое: железо.
В первой части мы говорили, что наша задача - просто SMS-оповещение о событиях мониторинга. Для этих целей большого сервера не нужно. В моём случае аппаратной платформой для реализации проекта стал самый простой IBM System x3250, с Пентиумом на борту и гигом оперативки - можно было бы купить меньше памяти - взял бы и 256 мегов - этого бы хватило. Самое ценное для нас на борту этого сервера - COM-порт, к которому подключен GSM-терминал, выполняющий у нас роль отправителя SMS-сообщений. С этим терминалом имею дело давно - аж с 2000 года, и зарекомендовал он себя с самой лучшей стороны. За 11 лет НЕПРЕРЫВНОЙ работы - ни одного серьёзного сбоя. (По случаю старта нового проекта был куплен новый. Теперь на них почему-то написано Cinterion, хотя на команду ATI он исправно отвечает SIEMENS MC35i REVISION 2.0)
Второе: среда.
С этим у меня никогда не было мучений выбора. Люблю RHEL, но не имею ни одной лицензии на неё. Поэтому ни о чём не думая пользую CentOS - тоже самое, только бесплатно.
Третье: вариант использования kannel.
Эмм... Можно договориться с оператором и общаться с его SMS-центром при помощи SMPP. НО. Эта штука будет работать только до тех пор, пока не ляжет мой канал в интернет. А поскольку это событие случается несколько чаще, чем мне хотелось бы (о том, что такое "последняя миля" в нашем варианте, я расскажу потом. Может быть. Половину. Ну, ту, которую можно рассказать цензурными выражениями...), я буду использовать вариант отправки сообщений напрямую через терминал - это работает всегда.
С составом проекта определились, приступаем к реализации.
1. Ставим CentOS. Ставим в минимально возможной конфигурации - нам от средств, предлагаемых базовой комплектацией системы нужны будут только mc, ssh и minicom (для тестирования терминала в автономном режиме). Да, для успешной установки нам ещё понадобится компилятор gcc и библиотека libxml2 версии где-то 2.6. Если после инсталляции системы их у нас нет (проверяем наличие командой yum list gcc libxml2), ставим их из базовых пакетов:
Далее начинаем процесс настройки. В моём случае мы будем настраивать kannel для работы с терминалом Cinterion MC35i (Siemens MC35i), подключенным к сети "Мегафон Северо-Запад". О настройке - в следующей части статьи.
Итак, оно нам подходит, так что собираемся с духом и приступаем.
Первое: железо.
В первой части мы говорили, что наша задача - просто SMS-оповещение о событиях мониторинга. Для этих целей большого сервера не нужно. В моём случае аппаратной платформой для реализации проекта стал самый простой IBM System x3250, с Пентиумом на борту и гигом оперативки - можно было бы купить меньше памяти - взял бы и 256 мегов - этого бы хватило. Самое ценное для нас на борту этого сервера - COM-порт, к которому подключен GSM-терминал, выполняющий у нас роль отправителя SMS-сообщений. С этим терминалом имею дело давно - аж с 2000 года, и зарекомендовал он себя с самой лучшей стороны. За 11 лет НЕПРЕРЫВНОЙ работы - ни одного серьёзного сбоя. (По случаю старта нового проекта был куплен новый. Теперь на них почему-то написано Cinterion, хотя на команду ATI он исправно отвечает SIEMENS MC35i REVISION 2.0)
Второе: среда.
С этим у меня никогда не было мучений выбора. Люблю RHEL, но не имею ни одной лицензии на неё. Поэтому ни о чём не думая пользую CentOS - тоже самое, только бесплатно.
Третье: вариант использования kannel.
Эмм... Можно договориться с оператором и общаться с его SMS-центром при помощи SMPP. НО. Эта штука будет работать только до тех пор, пока не ляжет мой канал в интернет. А поскольку это событие случается несколько чаще, чем мне хотелось бы (о том, что такое "последняя миля" в нашем варианте, я расскажу потом. Может быть. Половину. Ну, ту, которую можно рассказать цензурными выражениями...), я буду использовать вариант отправки сообщений напрямую через терминал - это работает всегда.
С составом проекта определились, приступаем к реализации.
1. Ставим CentOS. Ставим в минимально возможной конфигурации - нам от средств, предлагаемых базовой комплектацией системы нужны будут только mc, ssh и minicom (для тестирования терминала в автономном режиме). Да, для успешной установки нам ещё понадобится компилятор gcc и библиотека libxml2 версии где-то 2.6. Если после инсталляции системы их у нас нет (проверяем наличие командой yum list gcc libxml2), ставим их из базовых пакетов:
yum install gcc libxml2
Ну и после этого обновляем всю системуyum update
2. Определяемся, что для исходников будем использовать папку /usr/srccd /usr/src
3. Качаем исходники текущего стабильного релиза kannel с официального сайта.wget http://www.kannel.org/download/1.4.3/gateway-1.4.3.tar.gz
4. Разархивируем их.tar zxvf gateway-1.4.3.tar.gz
5. Переходим в папку с исходниками.cd gateway-1.4.3
6. Устанавливаем всё по умолчанию../configure
make
make install7. Всё. kannel установился в /usr/local.Далее начинаем процесс настройки. В моём случае мы будем настраивать kannel для работы с терминалом Cinterion MC35i (Siemens MC35i), подключенным к сети "Мегафон Северо-Запад". О настройке - в следующей части статьи.
Отправляем SMS при помощи kannel на базе CentOS 5.5 - введение.
Любая система мониторинга делается для того, чтобы предупредить своих пользователей о том, что что-то издохло или как минимум готовится издохнуть. В XXI веке для таких предупреждений есть много вариантов - это и электронная почта, и пара строк в любимой системе обмена мгновенными сообщениями, и голосовое оповещение на мобильный телефон, и .... перечислять можно долго. SMS - один из таких методов оповещения. Чем он хорош для меня - тем, что свою почту и асю я читаю не круглые сутки, а телефон всегда со мной. И если на работе что-то дохнет, то я хочу узнавать об этом первым.
Как реализовать оповещение о событиях системы мониторинга посредством рассылки SMS-сообщений? Опять-таки для этого есть много путей.
Первый, и самый ненапряжный - для организаций, в которых на нужды IT-служб дают столько, сколько те попросят, и при этом с этих служб спрашивают не особо: ну, работает, и хорошо... не работает - ай-яй-яй, так нехорошо, ну да и Бог с ним. Речь идёт о бесконечном числе коммерческих гейтов по доставке SMS-сообщений. При всей привлекательности этого пути основными его недостатками я вижу следующие:
Третий вариант - организация собственной службы рассылки на базе ПО с открытым кодом. Вот именно об этом и пойдёт речь.
Как можно себе представить - такого ПО море. Что выбрать? На чём остановится? Я не знал. Но тем не менее, ползание по просторам Интернета показало мне, что люди либо мало используют подобные продукты, либо считают их настройку и использование настолько простым делом, что говорить об этом просто неприлично, либо наоборот - думают, что если после месяца траха у них наконец-то всё заработало, то пусть и все остальные тоже потрахаюцца. И искал бы я себе свой SMS-шлюз до настоящего времени, если бы не Евровидение-2011...
При чём тут Евровидение? Всё очень просто. Просто в прошлом году на конкурсе победила Германия... А Германия давно известна своим отношением к программным продуктам известного производителя, и как следствие - развитием на своей территории ПО с открытым кодом. И было бы удивительно, если бы при этом для технического обеспечения финала Евровидения в своей стране немцы воспользовались бы чем-то коммерческим. Особо учитывая, что программный продукт, который в результате был выбран для этой цели, разрабатывался в Германии. Итак, речь идёт о kannel.
Что такое kannel? Кратко и понятно об этом сказано, например, тут, и я позволю себе небольшую цитату:
Kannel - это высокопроизводительный шлюз для приема и передачи сообщений SMS в сетях мобильных операторов, распространяемый под свободной лицензией. Благодаря поддержке всех распространенных протоколов взаимодействия с SMSC, а также работой с локальными GSM-модемами, Kannel может применяться в качестве универсальной платформы разработки SMS-приложений.
Как реализовать оповещение о событиях системы мониторинга посредством рассылки SMS-сообщений? Опять-таки для этого есть много путей.
Первый, и самый ненапряжный - для организаций, в которых на нужды IT-служб дают столько, сколько те попросят, и при этом с этих служб спрашивают не особо: ну, работает, и хорошо... не работает - ай-яй-яй, так нехорошо, ну да и Бог с ним. Речь идёт о бесконечном числе коммерческих гейтов по доставке SMS-сообщений. При всей привлекательности этого пути основными его недостатками я вижу следующие:
- Необходимость постоянного вливания денежных средств.
- Зависимость работоспособности решения от состояния вашего канала в интернет.
- Тоже самое, только от канала самого гейта.
- Тяжёлая процедура разборок в случае недоставки вашего сообщения абоненту.
Третий вариант - организация собственной службы рассылки на базе ПО с открытым кодом. Вот именно об этом и пойдёт речь.
Как можно себе представить - такого ПО море. Что выбрать? На чём остановится? Я не знал. Но тем не менее, ползание по просторам Интернета показало мне, что люди либо мало используют подобные продукты, либо считают их настройку и использование настолько простым делом, что говорить об этом просто неприлично, либо наоборот - думают, что если после месяца траха у них наконец-то всё заработало, то пусть и все остальные тоже потрахаюцца. И искал бы я себе свой SMS-шлюз до настоящего времени, если бы не Евровидение-2011...
При чём тут Евровидение? Всё очень просто. Просто в прошлом году на конкурсе победила Германия... А Германия давно известна своим отношением к программным продуктам известного производителя, и как следствие - развитием на своей территории ПО с открытым кодом. И было бы удивительно, если бы при этом для технического обеспечения финала Евровидения в своей стране немцы воспользовались бы чем-то коммерческим. Особо учитывая, что программный продукт, который в результате был выбран для этой цели, разрабатывался в Германии. Итак, речь идёт о kannel.
Что такое kannel? Кратко и понятно об этом сказано, например, тут, и я позволю себе небольшую цитату:
Kannel - это высокопроизводительный шлюз для приема и передачи сообщений SMS в сетях мобильных операторов, распространяемый под свободной лицензией. Благодаря поддержке всех распространенных протоколов взаимодействия с SMSC, а также работой с локальными GSM-модемами, Kannel может применяться в качестве универсальной платформы разработки SMS-приложений.
Примеры применения Kannel
- VAS-платформа для Premium Rate SMS сервисов
- Приложения мобильного маркетинга
- SMS-шлюз для подключения VAS-провайдеров
- Платформа отправки OTA-настроек (часть Device Management System)
- Корпоративная система SMS-уведомлений
Техническая спецификация
Функциональность
- подключение к SMSC по IP-сети;
- прием и передача сообщений SMS в сетях GSM, CDMA, UMTS;
- проверка состояния подключений (enquire_link);
- обработка уведомлений о доставке;
- распределение нагрузки по SMSC;
- поддержка резервных маршрутов;
- ограничение нагрузки на подключение;
- подключение внешних SMS-сервисов;
- передача опциональных TLV-параметров SMPP;
- протоколирование принятых и отправленных сообщений (CDR);
- поддержка «черных» и «белых» списков;
- маршрутизация по сервисным номерам;
- маршрутизация по маске сообщения;
- поддержка хранения сообщений в СУБД (с помощью sqlbox);
- работа в режиме SMPP-сервера (с помощью smppbox);
- поддержка отказоустойчивых инсталляций;
- отложенная доставка сообщений;
- явная установка времени жизни сообщения;
- передача параметра Service Code для тарификации сообщений;
- установка параметра RPI в передаваемых SMS;
- явная установка приоритета отправляемого сообщения;
- HTTP API для управления шлюзом.
Поддерживаемые форматы SMS
- текст 7-бит (стандартный алфавит GSM 03.38);
- текст Unicode в кодировке UCS-2BE (UTF-16BE);
- склеенные сообщения согласно GSM 03.40;
- бинарные 8-битные данные;
- прием и передача заголовков UDH;
- передача «Flash SMS» (message_class = 0);
- WAP Push Service Indication;
- передача OTA-настроек мобильных терминалов;
- Message Waiting Indication (MWI) для голосовой почты, e-mail, факса;
Поддерживаемые протоколы SMSC
- SMPP v3.3 и v3.4
- CIMD 2.0
- UCP/EMI
- SM/ASI
- HTTP
Подключение GSM-модемов
- RS-232
- USB
- TCP
- Telnet
Поддержка USSD
Кроме основной для Kannel функциональности в качестве SMS-шлюза, также есть возможность использовать его в качестве сервера приложений USSD.Преимущества Kannel
- Решения на основе Kannel обладают высокой производительностью, позволяющей обрабатывать тысячи SMS в секунду даже на серверном оборудовании начального уровня.
- Поддержка отказоустойчивых инсталляций позволяет использовать Kannel в критичных для бизнеса приложениях, включая платформы операторского класса.
- Свободная лицензия BSD не налагает на пользователя жестких ограничений по использованию платформы, что позволяет существенно снизить операционные расходы и избежать зависимости от политики компании-поставщика.
- За счет поддержки всех распространенных протоколов передачи SMS решения на основе Kannel совместимы с большинством платформ SMSC и SDP.
- Удобный в использовании HTTP интерфейс для интеграции с внешними приложениями позволяет эффективно внедрять новые услуги в сетях мобильных операторов.
Ссылки
- www.kannel.org - официальный сайт проекта Kannel
- www.smsforum.net - официальные спецификации на протокол SMPP
Подписаться на:
Комментарии (Atom)




