среда, 25 февраля 2099 г.

Разный софт для FreeBSD.

Проверка скорости канала: iperf.
Проверка загрузки канала: iftop, slurm.
Загрузка файловой системы: "top -m io -o total", gstat
Сетевой grep: ngrep -q -d em0 -p -W byline '' 'port 5060'
SMTP-клиент для PHP: msmtp
SMTP-клиент с аттачами: mutt, biabam
POP3-клиент: fetchmail
Тестирование SIP: sipp
# sipp -rtp_echo -sn uac 192.168.2.211 -d 60s -s 222 -rp 1s -r 10 -l 300


Еще команды тут.

понедельник, 24 января 2028 г.

Разный софт для CentOS

Собственные скрипты и алиасы: sockstat, ipt
Загрузка диска: nmon, atop, iostat -x
Информация о железе (мать, проц, память и т.п.): dmidecode
Тестирование скорости жесткого диска: hdparm



пятница, 8 ноября 2024 г.

Ошибки E1

 LOS = Loss of Signal. You aren't getting signal.

LOF = Loss of Framing. Your packets aren't getting through framed correctly.

AIS = receiving Alarm Indicator Signal. The far end isn't getting things through framed correctly, and is indicating that back to you.

RAI = Remote Alarm Indicator. The far end is getting an error and is signalling that back to you.

вторник, 22 октября 2024 г.

Opensips. Пример обработки INVITE

if (is_method("INVITE")) {

    # Если не получилось авторизовать данными из БД

    if (!www_authorize("", "subscriber")) {

        # Всегда пишем код возврата в переменную

        $var(reg) = $retcode;

        # Обработка неправильного пароля, начальный запрос без Authorization вернёт код -4

        if ($var(reg)==-2) {

            sl_send_reply(403,"Wrong side, dude");

            exit;

        }

        #  Запрос авторизации

        www_challenge("");

       exit;

    }

пятница, 11 октября 2024 г.

Настройка регистрации на Opensips 3.4

 Потребуются следующие модули.

#### USeR LOCation

loadmodule "usrloc.so"

    modparam("usrloc", "db_url", "postgres://username:password@localhost/dbname")

    # Тут надо выбрать подходящий режим работы

    modparam("usrloc", "working_mode_preset", "single-instance-sql-write-through")

#### REGISTRAR module

loadmodule "registrar.so"

#### Postgresql

loadmodule "db_postgres.so"

#### Auth module

loadmodule "auth.so"

# Database authentications

loadmodule "auth_db.so"

    modparam("auth_db", "db_url", "postgres://username:password@localhost/dbname")

    # Используем пароли в clear text

    modparam("auth_db", "calculate_ha1", 1)

   # Прямо указываем таблицу с паролями, по-умолчанию ищет хэш в h1

    modparam("auth_db", "password_column", "password")

    modparam("auth_db", "use_domain", 1)


В БД должны быть таблицы subscriber и location.


Код:

if (is_method("REGISTER")) {

    if (!www_authorize("", "subscriber")) {

    www_challenge("");

    exit;

};

save("location");

exit;

};

среда, 19 июня 2024 г.

Установка Opensips на Gentoo без ebuild

 Скачиваем исходники Opensips, ставим зависимости.

# emerge -avg gcc bison lynx subversion flex

Выполняем make или make menuconfig.

При выполнении может вывалиться ошибка ncurses:

usr/libexec/gcc/x86_64-pc-linux-gnu/ld: curses.o: undefined reference to symbol 'stdscr'

/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: /usr/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

В таком случае пересобираем ncurses без tinfo. Нюанс в том, что флаг tinfo замаскирован, так что надо поправить конфиг профиля:

# echo "sys-libs/ncurses -tinfo" >> /etc/portage/profile/package.use.force/ncurses

# emerge -av sys-libs/ncurses

# emerge @preserved-rebuild




четверг, 25 апреля 2024 г.

Синхронизация файлов rsync с ограничением скорости

 Пример:

# rsync -avh --bwlimit=4000 --ignore-existing /src/ /dst/

Синхронизовать файлы из папки src с папкой dst, игнорировать уже перенесенные файлы.

Параметр bwlimit задает ограничение по скорости передачи данных в килобайтах/сек.

4000 КБ/с = 4 МБ/с ~~ 32 Мбит/с