23 ноября 2011 г.

Asterisk, LG ipLDK, OOH323

Итак, у нас есть астериск с базовыми настройками, и у нас есть несколько АТС LG - LDK100, LDK300, LDK60.
У каждой АТС свой план нумерации. Находятся.. Можно сказать, что находятся в одной локальной сети (есть несколько филиалов, объединенных провайдером прозрачно в одну сеть).
АТС объединены по VOIP посредством H323. Настраивал не я, но вижу, как минимум, одну причину, почему именно H323, а не SIP - плата VOIB на LDK100, которая, насколько я знаю, не умеет SIP. Кстати, насчет плат. Вот что говорит bs:
LDK100 - 11 VOIB 4.3A 43 INS
LDK300 - 7 VOIB 2.2A 22 INS (на самом деле, это VOIBE)
LDK60 - 10 VOIB 2.3B 23 INS

Посредством PGM 324 настроена маршрутизация между АТС, в зависимости от набираемого номера. Все работает без проблем.
Сразу скажу, я далеко не специалист в области телефонии в целом, и ip-телефонии в частности.  
Так вот, необходимо объединить абонентов Asterisk с абонентами остальных АТС. Asterisk умеет общаться по H.232. Для этого есть несколько различных H323-драйверов  для Asterisk:
  1. chan_oh323 - исторически первый H323-драйвер для Asterisk. При работе использует RTP-стек библиотеки OpenH323, со всеми вытекающими отсюда последствиями (поддерживаемые кодеки, стабильность, совместимость). Поддерживается компанией inAccess Networks [2].
  2. chan_h323 - отличительной особенностью данного драйвера является более тесная интеграция с Asterisk (используется Asterisk-реализация протокола RTP), что позволяет достичь большей производительности по сравнению с chan_oh323. Платой же за это является несколько меньшая функциональность. Так, например, chan_h323 не имеет собственного буфера дрожания (jitter buffer) [3], а также не поддерживает некоторые кодеки.
  3. chan_ooh323c - драйвер компании Objective Systems Inc [4], основанный на их открытом H323 стеке - Objective Open H.323 for C.
  4. chan_woomera - драйвер, позволяющий связать Asterisk с сервером Woomera. На данный момент через woomera можно совершать только H323-звонки, хотя в будущем разработчики обещают обеспечить поддержку универсального уровня абстракции OPAL.
Вообще, вот здесь хорошо написано про различия этих драйверов.

21 ноября 2011 г.

Настройка связи между АТС LG LDK и подключение ip-телефонов

Давно это валялось в черновиках, доводить до состояния "хауту" лениво, но некоторые моменты освещу, чтобы самому не забыть.
Имеется несколько АТС LG, в данном случае LDK100 и LDK300.
В LDK100 установлена плата VOIB (прошивка 4.3A), с модулем расширения. Итого 6 линий.
В LDK300 установлена плата VOIBE (прошивка 2.2A), 12 линий.
Необходимо обеспечить связь между АТС и подключить 6 ip-телефонов. 

14 ноября 2011 г.

Ubuntu 10.04 & Asterisk 1.8

И все таки, готовые сборки с прикрученными графическими инструментами для управления Asterisk - это не очень хорошо. В том плане, что если ты не понимаешь логику функционирования asterisk, то с помощью ГУИ ты, конечно, настроишь то, что тебе надо. Но как только понадобиться лезть куда-то глубже.. ГУИ будут только мешать.
И опять же, зачастую готовые сборки идут на базе CentOS. Не спорю, возможно весьма хороший дистрибутив линукса. Но к RedHad подобным системам я не привык. Debian (Ubuntu) - как то ближе. Есть, кстати, хороший (наверное) дистрибутив на базе Gentoo - AstPBX (http://asteriskpbx.ru). Без всяких графических инструментов, только конфиги.
Ну так вот, решил я поставить ubuntu-server с длительным сроком поддержки, а на него asterisk, также с длительным сроком поддержки.
Писать очередную хау-тушку об установке и настройке астериска особо не хочется, так, для себя, черкну немного.
Про установку ubuntu server 10.04 рассказывать ничего не буду, ибо нечего =)
Ставим asterisk. Конечно, рекомендуется собирать из исходных кодов, но лениво =)
В стандартных репозиториях убунты есть версия (на ноябрь 2011 года) asterisk 1.6.
Подключаем официальный репозиторий астериска и ставим необходимые пакеты из него.

sudo apt-get install python-software-properties
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF
sudo add-apt-repository "deb http://packages.asterisk.org/deb `lsb_release -cs` main"
sudo add-apt-repository "deb-src http://packages.asterisk.org/deb `lsb_release -cs` main"
sudo apt-get update
sudo apt-get install asterisk-1.8

После этого можно приступить к настройкам астериска. Как минимум, создать несколько sip-аккаунтов, которые могли бы звонить друг другу.
Сделаем бэкап файла sip.conf
mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf_sample
Начнем с редактирования файла /etc/asterisk/sip.conf.

[general]
context=default
allowguest=no
bindport=5060
bindaddr=0.0.0.0

[320]
type=friend
context=phones
host=dynamic
secret=user1_password

[321]
type=friend
context=phones
host=dynamic
secret=user2_password 

Поскольку мы хотим как направлять вызовы в программный телефон, так и обеспечить клиенту возможность размещать вызовы, параметр type (тип) был определен как friend (друг). Существует еще два параметра: user (пользователь) и peer (равноправный участник сети). С точки зрения Asterisk user задается для входящих вызовов, а peer – для исходящих звонков (через приложение Dial()). friend – это просто краткая запись, определяющая и пользователя, и равноправного участника. Если есть сомнения, задавайте тип friend. Опция host (хост) используется для определения местонахождения клиента в сети, когда Asterisk необходимо направить ему вызов. Это значение может быть задано статически, например host=192.168.1.100, или, если клиент имеет динамический IP-адрес, задается host=dynamic. Если для опции host задано значение dynamic и клиент сконфигурирован для автоматической регистрации, Asterisk получит от конечной точки (то есть от телефонного аппарата или программного телефона) пакет REGISTER, из которого Asterisk сможет узнать, какой IP-адрес использует равноправный SIP-участник. Если вы не доверяете своей сети, вероятно, следует задать пароль. Для этого в описание устройства добавляется следующая строка. Это один из тех параметров, которые не являются обязательными, но желательны:
secret=user1_password
Сделаем бэкап файла extensions.conf
mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf_sample
После этого можно создать заново данный файл с примерно следующим содержанием:
[globals]

[general]
autofallthrough=yes

[phones]
exten => _3XX,1,Dial(SIP/${EXTEN})
exten => _3XX,n,Hangup()

После внесения изменений в этот файл, необходимо делать dialplan reload.
И почему то все это заработало только после core restart now.
После этого звонить друг другу должно получаться без проблем.
Помогли следующие источники:



1 ноября 2011 г.

Отмена перехода на зимнее время средствами системного реестра и GPO




Уже давно не секрет, что в октябре 2011 года уже никто в России не будет переводить свои часы на зимнее время. Для России уже вышло обновление, благодаря которому из диалогового окна«Выбор часового пояса» убирается флажок«Автоматический переход на летнее время и обратно», а также меняется часовой пояс, на примере с Москвой, с «GMT +3:00» на «GMT +4:00».
Многие пользователи, мягко говоря, не совсем любят обновлять свои операционные системы, и данное обновление может просто не быть установлено на компьютере и в ночь с последней субботы на воскресенье октября часы автоматически переведутся на час вперед. Также, поскольку уже прекращена поддержка операционной системыWindows 2000, а в просторах Рунета можно найти большое количество компаний – владельцев данной операционной системы, для таких пользователей следует ожидать такой же участи.
Перед тем как рассказать о реализации возможности, повторяющей действия указанного выше обновления, мне хотелось бы рассказать, что же делает с операционной системой этот патч. Данное обновление изменяет несколько параметров в системном реестре, которые отвечают за настройки часового пояса. Новые значения для параметров вносятся в следующих разделах реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones – база данных часовых поясов;
  •  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation– сведения о выбранном часовом поясе.

31 октября 2011 г.

Автоматически прописать путь к базам в 1С 8.2

Начинается переход с 1с 7.7 на 8.2.
Необходимо в автоматическом режиме добавить информационные базы всем пользователям.
В 7.7 это делалось путем добавления необходимого ключа в реестр с помощью логон-скрипта.
В 8.2. нашел следующий способ.
Создаем файл с расширением .v8i и с содержанием, подобным этому:
[Демо]
Connect=File="\\SERVER\Share1c\Base\Demo";
OrderInList=1
Folder=/
OrderInTree=1
App=Auto
DefaultApp=ThickClient
WA=1
Version=8.2.13.219
Еще есть такой вариант:
[Название базы в списке]
Connect=Srvr=SERVER1;Ref=demo
OrderInList=1
Folder=/
OrderInTree=1
App=Auto
DefaultApp=ThickClient
WA=1
Version=8.2.13.219
Где SERVER1 - имя сервера приложений 1С, demo - имя базы данных на сервере.
Далее в файле %ProgramFilesDir%\1cv82\common\1CESCmn.cfg прописываете строку (без кавычек) : "CommonInfoBases=\\SERVER\SHARE\ibcommon.v8i"
Где SERVER - имя сервера с сетевой папкой, SHARE - имя самой шары.
Файл 1CESCmn.cfg можно подкладывать любым доступным способом (скриптом, при установке клиента и пр.).
Добавление новой базы происходит правкой текстового файла на шаре, пользователи увидят новую базу при следующем запуске 1С.
В случае терминального сервера, достаточно просто сразу положить этот файл конфигурации в необходимое расположение.
В случае, если используется название базы на русском языке, файл необходимо сохранить в UTF8.

26 октября 2011 г.

Elastix

Вообще, повозится с Asterisk мне хотелось достаточно давно. Но как то все не до этого было.
А тут у меня появился новый начальник, который решил, что надо бы нам его попробовать.
Но сам он до этого пользовался какой-то уже готовой сборкой, название которой, он, правда, уже не вспомнит.
Мне же лично хотелось неторопливо и вдумчиво почитать документацию, с нуля настраиваю попутно систему в тестовом режиме. Чтобы при этом никто не стоял над душой.
Но придется, по крайней мере пока, использовать готовое решение. 
В принципе, большинство этих готовых  решений отличается не сильно. Ну подумаешь, правится все не через конфиги, а через ГУИ. Внутри то почти одно и тоже. Другое дело, что с использованием настройки через ГУИ ты зачастую не видишь внутренних закономерностей в работе продукта. А это грустно. Ладно, попробую этим заняться на досуге.
 
С другой стороны.. (дальше будут использоваться фрагменты различных статей).

Использование стандартного дистрибутива Linux, пусть даже хорошо известного администратору, имеет свои слабые стороны. В пакетных репозитариях сегодня редко встретишь полный набор необходимых программ (да еще и последних версий), а значит, все придется собирать, устанавливать и обновлять вручную. Это займет много времени и сил, ведь кроме системы, зависимостей, Asterisk и драйверов к оборудованию VoIP, придется разбираться с установкой веб-интерфейса, системы учета звонков и т.д. Специализированное решение не требует глубоких знаний (хотя они и приветствуются), – настройки просты и понятны любому, кто хорошо представляет конечный результат. Разработчики обычно сами следят за новинками ПО и предлагают обновления при помощи собственных репозитариев.
После анализа вариантов готовых решений был выбран Elastix (elastix.org). 

24 октября 2011 г.

Asterisk. Требования к ресурсам.

С точки зрения требований к ресурсам Asterisk подобна встроенным системам реального времени преимущественно тем, что она должна иметь приоритетный доступ к процессору и системным шинам. Поэтому крайне важно, чтобы все остальные функции системы, не связанные напрямую с задачами Asterisk по обработке вызовов, если таковые вообще выполняются, должны выполняться с более низким приоритетом. Для небольших и любительских систем это может и не представлять особой проблемы. Однако для высокопроизводительных систем недостаточная производительность будет вызывать проблемы с качеством аудиосигнала, получаемого пользователем, часто в виде эха, помехи т. п. Примерно так ведут себя устройства мобильной связи при выходе из зоны обслуживания, но здесь причина этих проблем другая. По мере увеличения нагрузки на систему будут возрастать сложности с обслуживанием соединений. Для офисной АТС подобная ситуация – настоящая катастрофа, поэтому в процессе выбора платформы требования к производительности должны быть решающим критерием.

Размер системы Asterisk на самом деле определяется не количеством пользователей или телефонных аппаратов, а, скорее, количеством одновременных вызовов, которые система должна будет поддерживать. Эти цифры очень приблизительны, поэтому экспериментируйте и выбирайте наиболее подходящий для себя вариант.


8 августа 2011 г.

альясы в postfixadmin

По дефолту postfixadmin создаёт вместе с ящиком ещё и алиас на этот же ящик. Если нужно настроить алиас одного существующего ящика на другой, то необходимо править уже существующий через phpmyadmin, к примеру.

3 августа 2011 г.

Как настроить MS Access ODBC драйвер на windows7 x64 или vista x64

Источники данных ODBC

Однажды возникла проблема при установке одной программы, та программа требовала настроить ODBC драйвер (microsoft access driver) на windows 7. При входе в «Источники данных (ODBC)» можно было только добавить драйвер SQL Server'а. Требуемого драйвера не было. Я перерыл множество инструкций и форумов прежде чем нашел совет, который мне помог. Вот он «How to Use Microsoft Access ODBC drivers for Vista x64/ Windows 7 x64».

Оказывается в Vista/Windows7 x64 есть две копии odbcad32.exe, один из них находится в "C:\Windows\syswow64\ ", а другой в "C:\Windows\system32\". Открывая как обычно «Источники данных (ODBC)» через «панель управления — администрирование», мы открываем второй вариант odbcad32.exe, то есть тот, который располагается в "C:\Windows\system32\" и у нас нет нужного нам драйвера ODBC!

Необходимо открыть вот этот файл "C:\Windows\syswow64\odbcad32.exe". Там без особых проблем можно установить MS Access ODBC driver. 
 
Взято здесь.
 

1 августа 2011 г.

Staffcop & McAfee VirusScan Enterprise 8.x & smtp error

Возникла необходимость в использовании программного продукта Staffcop. Оставим в стороне моральные вопросы.
Рассмотрим взаимодействие агента этого продукта с указанным в заголовке антивирусом.
А конкретнее - следующую проблему.
При попытке отправить письмо из любой почтовой программы (Outlook, Thunderbird etc) - возникало сообщение об ошибке с указанием того, что невозможно подключится к серверу исходящей почты.
На сайте производителя staffcop есть различные инструкции по взаимодействию их детища с некоторыми представителями многочисленного семейства антивирусов.
Наиболее ценной мне показалась инструкция по настройке Avira, так как там хоть бы указывалось, какой именно процесс (вплоть до его месторасположения на диске) необходимо добавить в исключения. Хотя и там инструкция несколько устарела, т.к. агент при установке уже давно ничего не пишет в Program Files.
Добавление указанного там файла C:\WINDOWS\system32\csrss_tc.exe не помогло. 
Все также возникала проблема, указанная выше.
В логах антивируса мы видим, что действие было заблокировано правилом блокировки портов. Заблокированный процесс - C:\Windows\System32\Ltprx\PrNetwk.exe.
Делаем следующее.
Идем в VirusScan Console. Выбираем "Защита доступа". Открываем ее свойства. Выбираем категорию "Стандартная антивирусная защита". Далее нас интересует правило "Предотвращать массовую рассылку вирусами-червями сообщений электронной почты". Здесь в список исключений добавляем PrNetwk.exe.
Созданное ранее исключение csrss_tc.exe - можно удалить. Оно никак не влияет на данную ошибку.

Теперь нам необходимо распространить это правило на целевые машины. Мы же не будем ходить по каждому и руками это править? ;)
Лезем в McAfee ePolicy Orchestrator. Далее в дереве систем выбираем нужную группу. Выбираем "Назначенные политики". В качестве продукта выбираем VirusScan Enterprise необходимой версии.
Затем выбираем "Access Protection Policies". Правим политику (я не буду дальше пошагово рассказывать, куда идти, там и так все понятно).
Сохраняем.
Profit!

26 мая 2011 г.

Применение групповых политик в Windows Server 2000

Хоть и не часть, но бывает, что сталкиваюсь с доменами на базе Windows Server 2000.
И совсем забыл, как называется там аналог gpupdate.
Так вот, чтобы не забыть.

в Windows 2000 имеется программа secedit.exe

secedit /refreshpolicy machine_policy /enforce - применяет политику для компьютера
secedit /refreshpolicy user_policy /enforce - применяет политику для пользователя

4 марта 2011 г.

Как получить информацию о конфигурации "железа" компьютера?


Взято здесь
   cat /proc/cpuinfo                                - модель процессора
   cat /proc/meminfo                             - память (конфигурация)
   grep MemTotal /proc/meminfo       - объем физической памяти
   watch -n1 'cat /proc/interrupts'       - просмотр изменяемых прерываний (в реальном времени)
   free -m                                                 - распределение памяти (-m - в Mегабайтах)
   cat /proc/devices                                - устройства (их id)
   lspci -tv                                                 - PCI устройства
   lsusb -tv                                               - USB устройства
   lshal                                                      - список всех устройств и их свойства
   dmidecode                                          - конфигурация "железа" из BIOS - DMI/SMBIOS

1 марта 2011 г.

PbxCollect_NTservice

Для того, чтобы модуль записи программы Wintariff запускался автоматически, можно поставить в его настройках галочку для автоматического запуска при входе пользователя.
Но еще лучше, инсталлировать его как службу.
В каталоге программы есть файл PbxCollect_NTservice.exe
Необходимо в этот же каталог положить .ini файл с настройками PbxCollect, а после этого через командную строку запустить PbxCollect_NTservice.exe с ключом /install

27 февраля 2011 г.

BenQ G2420HD, сервисное меню

Чтобы зайти в сервисное меню нужно при включении монитора нажать кнопку Menu. Отпустить и теперь до выключения монитора при нажатии на Menu будет появляться именно сервисное. В нем отражена информация о производстве, версия прошивки, время работы монитора, а так же есть возможность отключить надоедливый логотип BenQ при включении монитора, включить AutoPower On (при включении в сеть - не нужно каждый раз нажимать Power на мониторе)

взято на просторах Yandex-market, спасибо alex-sgu

16 февраля 2011 г.

Обновление 1с из интернет с помощью диска ИТС

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

Можно получить обновление сразу из программы 1С.
Заходим в нее.
Меню Сервис.
Там есть про связь через интернет.
При этом диск с ИТС должен быть вставлен, причем за тот период, в котором выпущено необходимое обновление.
После этого можно скачать обновления через интернет.

Но у меня 1С ругалась, говоря, что мне необходимо вставить диск с ИТС.
Причем установку драйвера защиты диска я производил.
В итоге на просторах интернета было найдено следующее решение:

  1. копируем файл info.dat в корень диска C
  2. вносим в реестр изменения. далее приведу пример рег-файла.
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\1C\Its\Options]
"InfoPath"="C:\\"

После этого обновление происходит нормально.
Файлы обновлений складываются в каталог UpDate на уровень выше информационной базы.
Если каталог информационной базы подключен в виде пути UNC (\\server\zp), то создается каталог Update, но он пустой. Заходим на сервере в 1с, предварительно подключив базу по пути вида D:\ZP. После этого обновления нормально скачиваются.


Только надо не забывать в таком случае менять файл info.dat.

Кстати, чтобы не забыть.
1С 7.7 ЗиК Проф устанавливается по умолчанию в каталог PRBasic
1С 7.7 ЗиК Базовая в каталог PRBase

Если есть обновление, но непонятно к какой конфигурации оно относится, можно посмотреть следующим образом:

Открываем setup.ins блокнотом ищем .adm
в проф найдтся PRBasic.ADM
в базовой PRBBasic.ADM

7 февраля 2011 г.

Openfire

у меня уже проскальзывали маленькие заметки по его поводу
текущая не будет намного больше, но некоторые моменты будут рассмотрены более подробно
просто понадобилось вновь поставить данную систему, а я уж и подзабыл немного

Итак.
Ставим на windows server 2003, версия openfire - 3.6.4
Использовать будем ms sql express 2005 в качестве базы для хранения данных.
А также авторизацию пользователей в Active Directory.

Устанавливаем ms sql express 2005. Способ авторизации вначале я выбрал - авторизация Windows.
Создаем базу openfire с помощью Среда SQL Server Management Studio Express.
Выполняем в ЭТОЙ базе (обратить внимание) скрипт, предназначенный для ms slq (лежит в папке Openfire, в подпапке \resources\database

Также необходимо в настройках sql-сервера включить ip протокол, причем на всех интерфейсах, пока этого не сделал - не работало.
Проверить можно с помощью телнета
telnet localhost [порт]
Потом я создал в AD пользователя jabber, для аутентификации на сервере баз данных.
Но не пошло..
Копался-копался, сделал вывод, что если используете базу на Microsoft SQL, то пользователя на управление ей надо заводить в ней самой. С доменной учеткой Openfire категорически цепляться не хочет.
Создал учетку jabber на sql-сервере.
Дал ей полные права на базу openfire, и права sysadmin.
После этого при настройке базы стало пускать.

Строка для подключения базы у меня такая
jdbc:jtds:sqlserver://localhost:1433/openfire;appName=jive

При подключении к AD Base DN такой - DC=domen,DC=ru
И вот тут уже использовал учетку из AD - jabber, для связи.

Фильтры для юзеров и групп при установке не вводил, применял уже после установки
Для юзеров
(&(objectCategory=Person)(memberOf=CN=IMUsers,CN=Users,DC=domen,DC=ru)) 

таким образом берем только тех юзеров, которые есть в группе безопасности IMUsers

Для групп
(&(objectClass=group)(|(cn=IT)(cn=Отдел маркетинга)(cn=Отдел продаж))) 

и тп т.е. берем только те группы безопасности, которые указаны выше.

А вот затем возникли проблемы. Был скачан клиент citron для прозрачной авторизации доменных пользователей на сервере. Потом вспомнил, что сначала необходимо применить патч для NTLM. Как это делать - не помнил, потому действовал по инструкции в файле install и по найденным хау-ту в интернете. Итог - в админку не пускает =) После нескольких перестановок - вроде пустил. Хорошая инструкция здесь 
Приведу ее текст.

1) В каталоге Openfire найдите и откройте для редактирования файл \jre\lib\security\java.security. После строк
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI

добавьте строку
security.provider.10=net.za.darkskies.security.sasl.SSPIProvider

2) Далее потребуется NTLM-патч, который необходимо скачать и распаковать. Скопируйте из него файлы в соответствующие подкаталоги сервера:
bin\SaslSspi.dll
lib\sasl-sspi.jar
plugins\saslmechanisms.jar

и перезапустите сервер.

3) В веб-консоли сервера создайте/измените параметры (имя – значение)
sasl.approved.realms - пусто
sasl.mechs - ANONYMOUS,PLAIN,NTLM
sasl.realm - NetBIOS имя домена
xmpp.fqdn - FQDN имя джаббер-сервера

перезапустите сервер

Все сам сервак настроен. Теперь осталось прописать DNS записи на серваке чтобы конектится к нашему серваку, а не к домену =) Взято здесь.

заходим в оснастку DNS и прописываем там SRV записи
служба _xmpp-server протокол _tcp порт 5269 наш.комп.домен.
служба _xmpp-client. протокол _tcp порт 5222 наш.комп.домен.
служба _jabber. протокол _tcp порт 5269 наш.комп.домен.

(для нашего компа должна быть запись А)

При желании запустите 
openfire-service /install

из каталога Openfire\bin для того, чтобы сервер встал как служба Windows.

Также использовались в работе следующие источники: 

Если кого-то забыл - прошу прощения =)

12 января 2011 г.

Дыбр

Хм, оказывается гугл сейчас ведет статистику посещений блогов.
Хм, оказывается мой блог люди посещают ))) даже чаще, чем они оставляют комменты )))

По хорошему привести бы блог в порядок.. но так лень ;)