shit

Не открывая Америк

но, достигая цели!

Дружим между собой Active Directory, сервер IP телефонии Asterisk и Jabber-сервер OpenFire.
shit
[info]xenozauros

Не буду касаться установки всего по отдельности – все неплохо описано и работает в индивидуальном порядке весьма замечательно. Напишу, как я объединял все это вместе, на что наткнулся и что у меня получилось.

Диспозиция:
Есть контроллер домена dc.steepler.local (10.10.8.200). Домен, соответственно - steepler.local. На сервере заведены пользователи, побиты на отделы и т.д. Что важно – у каждого пользователя в графе «телефон» прописан его номер на сервере Asterisk.
Есть установленный  VoIP сервер Asterisk (10.10.8.98). Все пользователи подключены по SIP, соответственно устройства, в понимании Asterisk, у них вида SIP/XXX (где XXX – добавочный номер). На момент написания сервер был давно установлен и уже подвергнут серьезным настройкам.  Именно поэтому работа не была доведена до логического конца – закономерным финалом была бы автоматическая генерация SIP конфига оконечных устройств и плана набора. К сожалению, я побоялся, что придется серьезно переписывать существующую конфигурацию, да и в любом случае – автоматическая генерация того плана набора, который существует сейчас в нашей организации и имеет множество интерактивных меню и прочих кастомизаций, не будет интересна читателю, перед которым стоит задача, в первую очередь, связать между собой сервера. Куда двигаться дальше - будет понятно. Написанные скрипты не сложны и имеют хороший задел для дальнейшей работы. 
Итак, есть Asterisk с установленным фронтендом FreePBX, что сильно усложнило задачу. Ибо FreePBX имеет обыкновение и необходимость переписывать поверх все конфигурационные файлы после внесения любых изменений в web интерфейсе. То есть, поменять конфиги из командной строки мы можем, но, как только поменяем что-то потом через веб-морду, конфиги будут затерты FreePBX’ом, как порядочным фронтендом. Конечно, создатели оболочки не полагались на свою гениальность и оставили возможность для тонкой настройки. Возможность эта реализуется через подгрузку дополнительных контекстов с суффиксом «-custom» (чего, в итоге, оказалось достаточно), либо при помощи “override” конфигов, которые жестко фиксируют необходимые вам изменения. Но, надо понимать, что то, что прописано в custom или override конфиге будет работать по-вашему, не взирая на веб-интерфейс FreePBX. Либо шашечки, либо ехать. То есть, что бы вы ни крутили там во фронтенде, что бы ни настраивали – если оно коснется  кастомизированных настроек – работать будут настройки из файлов, а не фронтенда. Именно поэтому было потрачено много времени на трассировку плана набора, сгенерированного FreePBX – хотелось найти точку входа в такой процедуре, жесткая привязка которой не затронула бы дальнейшую работу. 
Есть, вернее, на момент написания статьи – не было Jabber сервера. Выбор, по необъяснимым причинам пал на OpenFire. На самом деле, причины просты – OpenFire позволяет организовать сквозную (Kerberos/GSSAPI/SASL) авторизацию пользователей. То бишь – пользователю не надо вводить ни логина ни пароля. Если он прошел доменную авторизацию при входе в windows – он наш клиент. При запуске клиент сам подставит пользователя, пошлет запрос на jabber-сервер, а тот, используя Kerberos, подтвердит или опровергнет подлинность  запроса клиента. Не буду вдаваться в детали, для нас важно, что авторизация проходит прозрачно для клиента даже в том случае, когда в домене существует политика периодической смены пароля. Не стоит генерировать истории про «тупых юзеров», которые пишут жалобы начальству о том, что у них что-то перестало работать по тому, что они забыли поменять пароль.  Надо просто делать так, чтобы им было негде тупить. 
На OpenFire можно установить штатный плагин Asterisk-IM для связи с Asterisk. Он позволяет динамично отслеживать статусы пользователей, звонить на IP телефоны, отправлять уведомления. К сожалению, из коробки автоматизация оставляет желать лучшего - не смотря на то, что возможна сквозная аутентификация и авторизация пользователей через AD и то, что в AD изначально предоставлена информация о рабочем телефоне пользователя, приходится вручную сопоставлять пользователей AD/Asterisk.

Итак. Jabber серверу быть OpenFire, зваться jbrgseveren01.steepler.local  и работать по адресу 10.10.8.226.
Дальше я исхожу из того, что Linux у меня в виде CentOS5, Asterisk 1.8.2, а домен-контроллер Win2008. Хотя, это совершенно не принципиально, заработает и при других раскладах. Критична только версия Asterisk – поддержка jabber появилась только с ветки 1.6, да и скомпилирована PBX должна быть с его поддержкой.

Read more... )

  • 3
  • Leave a comment
  • Add to Memories

Давно хотел попробовать что-то в таком стиле
shit
[info]xenozauros
 Вот и первый блин:

  • 1
  • Leave a comment
  • Add to Memories

Первомай, продолжение
shit
[info]xenozauros
 А на третий день выпал снег...


Первомай, продолжение
shit
[info]xenozauros
 Вода была дико холодная. Наш скоти, отличающийся любовью к плаванию, лезть в нее не рискнул ;-)


Первомай, продолжение
shit
[info]xenozauros
Собака упорно не хотела позировать ;-)


Первомай в Тарасовском
shit
[info]xenozauros
Съездили вот в лес на три дня, набралось немного фотографий, начну по одной потихоньку ;-)

 



Фото для фото-конкурса “Никон-клуба” и “Простых фокусов”

Начиналось все с просто прекрасной погоды ;-)

Наша грязная, бородатая
shit
[info]xenozauros
жопа ;-)

 
---

Все делают это
shit
[info]xenozauros
В смысле, снимают белочек ;-))

squirrel in Pushkin

Котка, Финляндия
shit
[info]xenozauros
Почти из той же точки, что и предыдущая, но в другую сторону:


waiting for summer

Котка, Финляндия
shit
[info]xenozauros
DSC_1505

Накатал тут bash скрипт для выбора сервера с наименьшим jitter
shit
[info]xenozauros
Что имеет большое значение в VoIP.
Частный случай - у нас VoIP провайдер имеет 2 сервера с разными IP. Пинги до них достаточно маленькие, но не в этом суть. Часто плавает jitter - время прохождения пакета. То есть пакеты доходят все, но за разные промежутки времени. Соответственно, в один момент jitter больше на одном IP в другой - на другом. Заранее предсказать невозможно. Как результат - если общаться через сервер с большим jitter - какие-то пакеты доходят быстрее, какие-то медленнее, звук квакакет и пропадает.
Вот для этого и написал скрипт на баше, которой запускается каждые 10 минут, измеряет джиттер и подставляет в диалплан параметры того или иного сервера. 

Выглядит примерно так:


#!/bin/bash
# Defining variables
HOST1=[host_1_name]
HOST1IP=[host_1_IP]
HOST2=[host_2_name]
HOST2IP=[host_2_ip]
TMPFILE=/tmp/jitter.chk
CONFDIR=/etc/asterisk/
FN1=extensions-context1.conf
FN2=extensions-context2.conf
DIR1=/etc/asterisk/bin/HOST1/
DIR2=/etc/asterisk/bin/HOST2/
PCOUNT=50

echo `date`
echo "starting jitter select script"

#performing ping check
/bin/ping $HOST1IP -s100 -c$PCOUNT -q | grep rtt > $TMPFILE

#using awk to extract jitter
JITTER1=`/bin/awk '
/^PING / {h=$2}
/packet loss/ {pl=$6}
/min\/avg\/max/ {
split($4,a,"/")
printf(a[4])
}
' $TMPFILE`

echo "jitter for $HOST1 with IP $HOST1IP is $JITTER1"

#performing ping check
/bin/ping $HOST2IP -s100 -c$PCOUNT -q | grep rtt > $TMPFILE

#using awk to extract jitter
JITTER2=`/bin/awk '
/^PING / {h=$2}
/packet loss/ {pl=$6}
/min\/avg\/max/ {
split($4,a,"/")
printf(a[4])
}
' $TMPFILE`

echo "jitter for $HOST2 with IP $HOST2IP is $JITTER2"

#comparing jitters, selecting prefered server linking configurations
if [[ "$JITTER1" > "$JITTER2" ]]
then
PREFERHOST=$HOST2
echo "removing configuration links"
rm -f $CONFDIR$FN1
rm -f $CONFDIR$FN2
echo "linking configuration for $PREFERHOST"
ln -s $DIR2$FN1 $CONFDIR
ln -s $DIR2$FN2 $CONFDIR
else
PREFERHOST=$HOST1
echo "removing configuration links"
rm -f $CONFDIR$FN1
rm -f $CONFDIR$FN2
echo "linking configuration for $PREFERHOST"
ln -s $DIR1$FN1 $CONFDIR
ln -s $DIR1$FN2 $CONFDIR
fi

#reloading dialplan

/usr/sbin/asterisk -rx "dialplan reload"

echo "jitter select script work finished"

---
Я понимаю, что нихрена не оптимизировано, но суть ясна и оно работает ;-)))
Собственно в диалплане настроено подгружать для пары контекстов внешние файлики, что и делается. А скрипт просто ставит символические ссылки на предварительно настроенные подгружаемые файлы из того или иного каталога.
  • 2
  • Leave a comment
  • Add to Memories

«Было — Стало» Новый конкурс у нас в сообществе!
shit
[info]xenozauros
Originally posted by [info]apmeh at «Было — Стало» Новый конкурс у нас в сообществе!

Новый конкурс "Было-Стало" в RU_PHOTOSHOP!

Дорогие друзья! В нашем сообществе стартует тематический конкурс «До и После в Photoshop»! Ключевая концепция – преображение любых фотографий в нашем любимом и незаменимом редакторе. Ваша задача удивить самых бывалых любителей картинок «было-стало» и продемонстрировать свои уникальные навыки использования Adobe Photoshop.
Чтобы стать участником конкурса, от вас требуется предоставить на всеобщее обозрение два снимка: первый – исходный вариант, а второй - то, что получилось после вашей обработки и, чем оригинальнее и ярче будет преображение снимка, тем больше у вас шансов стать победителем.Также мы приглашаем к участию новичков и всех тех, кто увлекается цифровой обработкой фотографий )
  • Leave a comment
  • Add to Memories

Lenta.ru: В мире: Чавес объявил капитализм причиной гибели марсианской цивилизации
shit
[info]xenozauros


http://vkontakte.ru/note828203_10811226
  • 2
  • Leave a comment
  • Add to Memories

Водка пить, земля валяться!
shit
[info]xenozauros
Итак, всем, кто по какой-то причине не в курсе.
На следующие выходные (26-27 марта) назначается выезд в лес с ночевкой / открытие лесного сезона 2011, традиционно приуроченный к отмечанию моего ДР.
В программе - копать снег, спать в луже, пить алкоголь, плов и шашлыки.
Место проведение - станция Тарасовское, приморское направление.

Все, кто хочет принять участие, но еще не вписался - пишите, мы всегда рады новым людям!

http://vkontakte.ru/note828203_10801022

Вода и камень
shit
[info]xenozauros
Еще один финский снимок:

stone and water

Еще пара снимков из Олавинлинны
shit
[info]xenozauros
Olaf's cannons

+1 снимок )
  • Leave a comment
  • Add to Memories

Савонлинна, крепость святого Олафа
shit
[info]xenozauros
Olavinlinna fortress

Панорама с рук, два вертикальных кадра.
  • 2
  • Leave a comment
  • Add to Memories

Дело было вечером, делать было нечего...
shit
[info]xenozauros
 Late evening
  • 2
  • Leave a comment
  • Add to Memories

Продаю вспышку на Nikon в Питере
shit
[info]xenozauros
Metz 48Af-1 под Nikon - практически аналог SB-600. Сборка - Германия.
БУ, гарантии нет, пашет как часы, состояние - хорошее.
Ей полтора года - покупал, будучи в Штатах проездом ;-)
Цена вопроса - 7500. Аргументированный торг уместен...
Пишите, звоните.

skype: oleg.kleshchook
icq: 6612266
или в личку

Нередкая картина
shit
[info]xenozauros
Большинство квартир в Германии оснащены пожарными датчиками. Если вы
что-то обильно варите или неприкрыли дверь в душевую, он срабатывает
тоже, начиная противно пищать. Матерящийся голый человек, тыкающий
шваброй в потолок,- нередкая картина, которую наблюдают домашние
животные.

http://vkontakte.ru/note828203_10703734

Свадебное...
shit
[info]xenozauros
Ася и Алексей:

---

Свадебное
shit
[info]xenozauros
Давненько ничего не публиковал - завал, Новый Год, смена работы.
Но, я не пропал, нет, просто временно отвлекся )

---

Просмотр конфигов без комментов
shit
[info]xenozauros
Просмотр конфиг файлов в линухе без мусора

cat <config filename> | grep -v -E "^;|^$" > <config w/o comments filename>
сделает из <config filename> файл <config w/o comments filename>, убрав все строчки, начинающиеся с ";"

cat <config filename> | grep -v -E ";|^$" > <config w/o comments filename>
сделает из <config filename> файл <config w/o comments filename>, убрав все строчки, содержащие ";"



Если комментарии обозначены другим символом, подставляем его в grep выражении, вместо ";"
  • Leave a comment
  • Add to Memories

Помогите!!!! ;-)
shit
[info]xenozauros
Друзья, надо помочь с вытаскиванием моей машины из жопы. То есть из ямы.
 То есть, из сугроба.Сел на брюхо и теперь не вздохнуть ни пёрнуть. То
есть, ни грамма внутрь, ни сантиметра в жопу. То есть, ни туда, ни сюда
даже не шевелится.

В общем, если есть кто на чем внедорожном, чтоб подскочить вечером на
Академку и дернуть меня - буду чертовски признателен, каналья, тысяча
чертей!

http://vkontakte.ru/note828203_10566553

Ы
shit
[info]xenozauros
Разбирая документы предшественника наткнулся на такой файлик:

Read more... )

http://vkontakte.ru/note828203_10546015

И тут я понял, что я сделал не так
shit
[info]xenozauros
И переделал вчерашний кадр. Теперь он такой:

V2

Из неразобранного
shit
[info]xenozauros
---

Сперто отсюда - http://community.livejournal.com/bayan_dnya/782041.html
shit
[info]xenozauros
Лекция в вузе. Профессор рассказывает о римских легионерах:
- Воины
годами пребывали в походах, и это сплачивало их настолько, что они, как
правило, влюблялись друг в друга. И это поощрялось, ибо легионер,
потерявший в одном лице и друга и любовника, был беспощаден к врагу и
мстил за убитого.
Тут один студент хихикает:
- Значит, легионеры были педиками?
Профессор тяжело вздохнул, снял очки, посмотрел на студента и говорит:
-
 Педики, говорите? Да не дай вам бог повстречаться хоть с одним таким
 педиком. Нет, мой юный друг, это были никакие не педики. Это были
настоящие боевые пид..расы!

http://vkontakte.ru/note828203_10450862
  • Leave a comment
  • Add to Memories

Доброе утро
shit
[info]xenozauros
---

Вопрос фотографам:
shit
[info]xenozauros
А как вы понимаете, что хватит?
Ну, в смысле - обрабатываете снимок и - вот оно, искомое.
Заранее строите план обработки?
Или крутите движки на удачу?
А может есть еще варианты?

You are viewing [info]xenozauros's journal