Archive for the ‘Uncategorized’ Category

Постоянные IP-адреса для OpenVPN-клиентов

Friday, November 16th, 2012

Мне известно два способа закрепить постоянный статический IP-адрес за конкретным OpenVPN-клиентом. Здесь я опишу тот, которым воспользовался сам, и который мне показался более простым. Однако в man’е к OpenVPN 2.х написано, что эта опция не гарантирует выдачу одного и того же адреса при кажом подключении (читайте man, параметр –ifconfig-pool-persist).
За этот функционал отвечает опция ifconfig-pool-persist.
В конфиге сервера указываем:
ifconfig-pool-persist /etc/openvpn/ipp.txt 0

В файл /etc/openvpn/ipp.txt пишем :
client1,10.108.4.9
client2,10.108.4.8

У меня не работало, когда первой строкой был комментарий (#). Вомзожно комментарии, начинающиеся с ; допустимы, не пробовал. «client1» и «client2» это названия сертификатов для клиента-1 и клиента-2 (расширение .crt не указывается).

Запуск GUI-приложения на удаленном компьютере через SSH

Monday, November 12th, 2012

Предполагается, что по SSH зашли под тем же пользователем, который зашёл на компьютер в GUI и локально. То есть зашли по SSH под логином john, и локально в GUI вход выполнен под пользователем john.
Допустим, нужно удаленно запустить Pidgin.
Выполняем по SSH команды:

export DISPLAY=:0
pidgin &

В итоге на удалённом компьютере запустится Pidgin.

passwd не меняет пароль

Thursday, November 1st, 2012

Наблюдал в Ubuntu 11.10.
При попытке поменять свой же (пользовательский) пароль командой passwd (а также при попытке поменять пароль юзера от рута) – выскакивало сообщение:

Ошибка при операциях с маркером проверки подлинности

и пароль не менялся.

Решение было найдено в инернете – нужно установить пакет libpam-cracklib и выполнить команду pam-auth-update (при запуске она выдала псевдо-меню с выбранными пунктами – я согласился с дефолтовыми вариантами и просто нажал Enter). Проблема решена.

Включение/выключение принтера из консоли

Monday, October 29th, 2012

Включить/выключить принтер можно командой cupsenable/cupsdisable соответственно. Смотрим название принтера командой lpq (показывает только один принтер в системе), или lpstat -a (если в системе несколько принтеров) и выполняем команду:
lexus@lexus:~$ lpq
Kyocera-Mita-FS-1030D готов
нет записей
lexus@lexus:~$ cupsdisable Kyocera-Mita-FS-1030D
lexus@lexus:~$ lpq
Kyocera-Mita-FS-1030D не готов
нет записей
lexus@lexus:~$

Результат наших действий можно увидеть и через графический интерфейс (принтер Kyocera-Mita-FS-1030D теперь выключен):

system-config-printer

 

На практике пришлось применить в ситуации, когда принтер HP LaserJet Professional P1102 “засыпал” через какое-то время (причем отключение в нём самом этой функции родным ПО из-под Windows не спасло), и работа вставала. :)

Добавили запись в crontab пользователя (cupsenable и cupsdisable прекрасно работает без  sudo) и сказали ей выполняться каждые 5 минут:

# Enabling HP-LaserJet-Professional-P1102 printer each 5 minutes
*/5 * * * * /usr/sbin/cupsenable HP-LaserJet-Professional-P1102

Повторное выполнение ‘cupsenable’ негативно на работе принтера не сказывается, т.е. предупреждений вида “этот принтер уже итак выключен” не выскакиевает.

*BSD smssend

Thursday, October 4th, 2012

http://www.freebsdsoftware.org/misc/smssend.html

PostgreSQL: удаляем пустые строки

Saturday, September 22nd, 2012

Полностью пустая строка удаляется командой:
DELETE FROM tablename WHERE columnname IS NULL;

Asterisk: конвертируем файлы для MOH

Monday, August 20th, 2012

Вариантов много, подробности тут http://www.voip-info.org/wiki/view/Convert+WAV+audio+files+for+use+in+Asterisk

Я сначала конвертировал .mp3 в .wav, но Asterisk ругался, поэтому пришлось .wav конвертировать в .sln, он очень хорош для Asterisk’a.


mpg123 -w foo-out.wav foo-in.mp3
sox foo-in.wav -t raw -r 8000 -s -2 -c 1 foo-out.sln

По ссылке выше написано, что можно сразу из .mp3 в .sln, но у меня не получилось.

Asterisk: Provide Music on Hold to the calling party until the called channel answers

Friday, August 17th, 2012

В Интернете много пишут про MusicOnHold, т.е. музыка при удержании звонка. Но когда мы хотим слышать музыку, пока на том конце не успели поднять трубку, MusicOnHold – не совсем то, что нам нужно. Следует использовать параметр ‘m‘ для приложения Dial.

exten => _XXXX,1,Dial(SIP/${EXTEN},15,m)
exten => {EXTEN},n,Hangup()

Обратите внимание, что сначала указывается, как долго дозваниваться, прежде чем звонок будет завершен (15 секунд), а только потом параметр музыки (m). Если поменять местами, музыка играть не будет.

Файл musiconhold.conf тоже должен быть отредактирован.
В минимальной конфигурации этого будет вполне достаточно:


[general]

[default]
mode=files
directory=moh
random=yes

Asterisk, codecs, audio files

Wednesday, August 1st, 2012

В Asterisk разрешены кодеки alaw и g729. Также включена поддержка русского языка:

часть файла sip.conf:


disallow=all
allow=g729
allow=alaw
...
language=ru

Поэтому скачиваем два файла:

http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-g729-current.tar.gz

http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-alaw-current.tar.gz

и распаковываем их в соответствующую директорию – /usr/share/asterisk/sounds/ (по крайней мере в Debian так), предварительно создав в ней директорию ru.

 

Теперь звуки будут проигрываться независимо от того, на какой кодек настроена наша SIP-аппаратура.

Asterisk-1.8 на Debian 6.0.5 Squeeze

Friday, July 27th, 2012
  1. Устанавливаем Debian
  2. Устанавливаем пакет python-software-properties:
    sudo apt-get install python-software-properties
  3. Импортируем public-key:
    sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF
    Если будут проблемы с импортированием, можно попробовать вот так:wget http://packages.asterisk.org/keys/175E41DF.pub -O - | sudo apt-key add -
  4. Добавляем в /etc/apt/sources.list репозиторий:
    deb http://packages.asterisk.org/deb squeeze maindeb-src http://packages.asterisk.org/deb squeeze main
  5. Опциональнодобавляем репозиторий ветви Proposed:deb http://packages.asterisk.org/deb squeeze-proposed main
    deb http://packages.asterisk.org/deb squeeze-proposed main
  6. Устанавливаем:sudo apt-get update && sudo apt-get install asterisk-1.8

Чуть подробнее и по-английски – на официальном сайте: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Packages