Тізер «Сталевий бубен 2011 / Зимова сесія»
Не всі хотіли дивитися доооовге відео, ось коротенька версія:
Не всі хотіли дивитися доооовге відео, ось коротенька версія:
Вчера, на конференции «Стальной бубен 2011», увидел новый продукт от Kerio — IP PBX. Стало очень интересно, тем более цена: 450 Евро (сервер и 5 операторов) + 15 Евро за каждого дополнительного оператора. Начал изучать — это Asterisk! 🙂
А на сайте карсиво написано:
Раньше, АТС представляла собой таинственный ящик, закрепленный на стене. Сегодня АТС — это сервер, установленный в серверной стойке. Раньше, для обслуживания АТС требовался телефонист. Сегодня ее администрирует ИТ-специалист, причем для него это так же просто, как и работа с любым другим продуктом компании Kerio.
Kerio Operator — это система IP PBX (корпоративная АТС на основе межсетевого протокола IP) для предприятий малого и среднего бизнеса, доступная и как серверное программное обеспечение, и как hardware appliance. Kerio Operator упрощает внедрение и интеграцию IP-телефонии в уже сущесвующую IT-инфраструктуру и обеспечивает удобство как для пользователя, так и для системного администратора.
Kerio Operator использует протокол SIP и совместим с любым SIP-устройством и SIP-провайдером, что позволяет ему работать с самыми популярными телефонами.
Дивитися до кінця!!! 😀
Усе дуже просто: необхідно заблокувати певним адресатам писати нам листи 🙂
Встановлено postfix, створюємо файл /etc/postfix/sender_access, куди заносимо наших небежених друзів:
user@bad.com REJECT
Створюємо базу:
postmap hash:sender_access
Прописуємо у конфіг main.cf
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access
Та перезапускаємо! Тепер наш «товариш» отримає:
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:me@it-sfera.com.ua
SMTP error from remote mail server after RCPT TO::
host postfix [192.168.22.13]: 554 5.7.1:
Sender address rejected: Access denied—— This is a copy of the message, including all the headers. ——
Как я описывал раньше, есть у меня SIP-GSM шлюз на базе Asterisk, который подключен к офисному серверу с Oktell. На модемы приходят разные SMS и пока они ложатся в файл на Linux сервере. В них бывает информация о балансе на карточках :). Идея — перенести все эти SMS в Oktell.
Для начала решил все SMS записывать в базу MySQL на сервере, а потом служебным сценарием забирать в Oktell. Создаю в MySQL пользователя, базу, и таблицу:
CREATE TABLE `asterisk`.`gsm` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `date` DATETIME NOT NULL , `modem` VARCHAR( 10 ) NOT NULL , `callerid` VARCHAR( 16 ) NOT NULL , `msg` VARCHAR( 160 ) NOT NULL , `oktell` ENUM( '0', '1' ) NOT NULL DEFAULT '0' ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci COMMENT = 'Входящие SMS'
На своєму домашньому нетбуці я встановив останню версію Ubuntu 10.10. Чудово працює, усі пристрої розпізнав «з коробки». Також завівся і мій iPhone 3Gs, але не в режимі модема… А тут знадобилося вийти в інтернет через Utel.
Як змусити запрацювати модем? Необхідно встановити iPhone USB Ethernet Driver. У глобальній мережі Ви знайдете ось ці 3 пакунки:
dkms_2.1.1.2-3ubuntu1_all.deb
ipheth-dkms_1.0-1ubuntu1.1_all.deb
ipheth-utils_1.0-1ubuntu1.1_i386.deb
Після чого на iPhone для Utel прописуємо точку входу 3g.utel.ua і вмикаємо режим модему:
Інтернет запрацював на нетбуці, швидкість відмінна:
UPD: для мого тарифу Укртелеком заявляє швидкість 1024/256 і тішить, що саме так і є:
Довго шукав якогось простого, функціонального і безкоштовного SIP-клієнта для iPhone…. Здається, знайшов! 😉
Linphone — це OpenSource інтернет телефон. Я ним успішно користуюся дома на Linux, а тут, як виявилось, існують версії під: Linux, Windows, MacOS, iOS і Android! Тож я відразу ж вирішив скачати:
Мы уже имеем настроенный сервер Asterisk через который Oktell осуществляет звонки на мобильные. Вся статистика храниться в /var/log/asterisk/cdr-csv/Master.csv Не очень удобно в плане работы… Вот и хочу перенести все в MySQL, а потом смогу эту информацию использовать в сценариях Oktell. Как и в предыдущей статье все будим собирать с исходников на Ubuntu Linux.
Приступим!
Много я уже написал про Oktell и Asterisk, а вот сегодня провел эксперимент с Yate (Yet Another Telephony Engine). Yate — это программная IP-PBX, может интегрироваться с другими приложениями, например с WEB сервером. YATE работает под управлением операционных систем Linux, BSD и Windows, поддерживает SIP, H.323, IAX и Jingle. Написан на C++ и позволяет использовать внешние модули и расширения.
Документации по этой IP-PBX не очень много… Опишу процесс установки и запуска на Debian Linux.
Для начала установка зависимостей:
aptitude install libspeex-dev libgsm1-dev libopencore-amrnb-dev autoconf sox
Получаем последнюю версию кода:
svn checkout http://voip.null.ro/svn/yate/trunk yate
Процесс сборки и установки:
./autogen.sh ./configure --prefix=/usr/local make install all
Сьогодні потрібно було обмежети для одного працівника (192.168.0.2) швидкість до 512 Кб/с на вхід та вихід. Допоміг ось такий скрипт:
#!/bin/bash # # tc uses the following units when passed as a parameter. # kbps: Kilobytes per second # mbps: Megabytes per second # kbit: Kilobits per second # mbit: Megabits per second # bps: Bytes per second # Amounts of data can be specified in: # kb or k: Kilobytes # mb or m: Megabytes # mbit: Megabits # kbit: Kilobits # To get the byte figure from bits, divide the number by 8 bit # TC=/sbin/tc IF=eth1 # Interface DNLD=512kbps # DOWNLOAD Limit UPLD=512kbps # UPLOAD Limit IP=192.168.0.2 # Host IP U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32" start() { $TC qdisc add dev $IF root handle 1: htb default 30 $TC class add dev $IF parent 1: classid 1:1 htb rate $DNLD $TC class add dev $IF parent 1: classid 1:2 htb rate $UPLD $U32 match ip dst $IP/32 flowid 1:1 $U32 match ip src $IP/32 flowid 1:2 } stop() { $TC qdisc del dev $IF root } restart() { stop sleep 1 start } show() { $TC -s qdisc ls dev $IF } case "$1" in start) echo -n "Starting bandwidth shaping: " start echo "done" ;; stop) echo -n "Stopping bandwidth shaping: " stop echo "done" ;; restart) echo -n "Restarting bandwidth shaping: " restart echo "done" ;; show) echo "Bandwidth shaping status for $IF:\n" show echo "" ;; *) pwd=$(pwd) echo "Usage: $(/usr/bin/dirname $pwd)/tc.bash {start|stop|restart|show}" ;; esac exit 0