суббота, 25 апреля 2009 г.

Python, plasma, KDE 4.2

Бороздил интернет в поисках упоминания меня и наткнулся на интересную запись - http://neithere.livejournal.com/419237.html
Понял почему не работали мои плазмоиды (недосуг было с ними разбираться). Дело было в одной маленькой строчке которую надо добавить в metadata.desktop:

X-Plasma-MainScript=code/main.py

Полезно почитать про себя любимого.

четверг, 23 апреля 2009 г.

Здравствуй, хозяин!

Первым дистрибутивом Linux, в котором я смог нормально начать работать, был Slackware. Произошло это потому, что он не обманывал меня всякими мастерами, в отличие от Mandrake. Так вот очень мне запомнились сообщения программы Fortune, которая выводит изречения, цитаты и прочее текстовое, что обладает достаточно малым размером.

А есть так же программа "cowsay", которая выводит в псевдографике персонажа с текстом как в комиксах. В частности изначально это была корова, но в моем дистрибутиве персонажей много. В общем я совместил Fortune и Cowsay, что не сильно то ново. Но главное я написал маленький скрипт, чтобы персонаж также выбирался случайным образом.

Итого:

kuku@kuku$ fortune | cowsay -f `python ~/rand_cow.py`
kuku@kuku$ cat rand_cow.py
import os
import random
# Хмм, а краткость то сестра криптографов...
print random.choice([i[:-4] for i in os.listdir("/usr/share/cowsay/cows/")])

вторник, 21 апреля 2009 г.

Новый вариант G729 для FreeSWITCH

В прошлый раз мне в комментариях подкинули исходники g729 для Asterisk с использованием библиотеки от ITU-T. С тех пор я и планировал переписать mod_g729 на его использование. Это может быть полезным если вы не используется x86 архитектуру, или вам влом качать 300 Мб с сайта Intel, или, в конце концов, вы один из тех, кто уже третью ночь воюет с адски непрофессионально написанным Makefile.
Одним слово я собрался все таки и написал. Как вы понимаете, когда за дело берется администратор, а не программист, ваши риски серьезно увеличиваются. Так что берем, компилируем, ищем баги и тп. А я пойду уже спать, до побудки оставалось 4-е часа...

http://github.com/Deepwalker/fs_itu_g729/tree/master

пятница, 17 апреля 2009 г.

А все таки она развивается!

История такая - в городе Томске трафик в его пределах бесплатен. То есть вы платите за подключение и качаете сколько влезет на скорости до 100Mbit/s.
Ну и логично совершенно вытекает, что в городе много зеркал всего. В частности есть зеркало для репозитариев Ubuntu - ubuntu.opentomsk.net, Slackware - slackware.tomsk.ru и тп.

Так вот, не знаю почему, но репозитарии от 8.10 они грохнули и выложили 9.04. Волей не волей, а пришлось обновляться, и делал я это с замиранием сердца - я вообще часто свой рабочий компьютер держу на пике прогресса, и печального опыта у меня полно.

Удивительно, но вместо этого я получил вылеченный баг с драйверами для видеокарточек Intel. Не мог не написать по одной причине - это у меня первый случай абсолютно бескровного перехода между релизами.

P.S. Правда еще что то стало со шрифтами, но я не великий борец за их идеальное начертание и тп.

вторник, 17 февраля 2009 г.

fs2web развивается

А я все продолжаю развивать fs2web - web-приложение для управления FreeSWITCH через xml_curl.

Что уже есть:
* поддержка привязки directory, то есть конфигурация пользователей;
* поддержка dialplan, конфигурация номерного плана;
* управление конференциями через xml_rpc.

На данный момент все управление в основном работает через встроенную админку Django, что не мешает функционированию.

В планах дальнейшее развитие - удобное редактирование номерного плана, поддержка шлюзов (gateways).

Чего не хватает - не хватает пользователей, которые тестируют и желают развития.

Использование.



Вам понадобится установленный фреймворк Django, желательно trunk версия, и lxml.

Запуск - cd fs2web; ./manage.py runserver

Для редактирования настроек надо зайти в административный интерфейс: http://127.0.0.1:8000/admin/
Логин admin, пароль kuku.

В conf/autoload_configs/xml_curl.conf.xml:

<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
<binding name="fs2web_user_fetcher">
<param name="gateway-url" value="http://127.0.0.1:8000/user/get/" bindings="directory"/>
</binding>
<binding name="fs2web_dialplan_fetcher">
<param name="gateway-url" value="http://127.0.0.1:8000/dialplan/get/" bindings="dialplan"/>
</binding>
</bindings>
</configuration>


И включить загрузку модуля xml_curl в conf/autoload_configs/modules.conf.xml

понедельник, 9 февраля 2009 г.

freeswitch.ru

Создан проект русского wiki посвященного FreeSWITCH - http://freeswitch.ru

Сейчас там мало информации, так как времени пополнять ее сейчас также мало. И этим постом я приглашаю всех к работе над наполнением базы.

вторник, 20 января 2009 г.

Путешествие группы формант по голосовому тракту. Глава вторая.

Обсуждение плана. Прелести монтажа под открытым небом в хорошую погоду. - То же - в дурную погоду. Принимается компромиссное решение. Первые впечатления от Монморенси. Не слишком ли он хорош для этого мира? Опасения отброшены как необоснованные. Заседание откладывается.


Аналоговая сигнализация


Простейшая сигнализация используется в аналоговой телефонии - вы поднимаете трубку, а оттуда раздается радостный, располагающий к набору номера, гудок. Гудок вам посылает АТС, которая узнала о вашем проявлении интереса по снятой трубке => замкнутой цепи. Вы с радостью тыкаете кнопки, а телефон, также радостно, безусловно, отщелкивает ваши нажатия импульсами, или пропевает его комбинациями двух частот АТС. АТС, сама или с товарками быстренько разбирается в сути вашего щелкуче-певучего послания и найдя вашего адресата, подает сигнал его аппарату, что пора трезвонить, чем этот аппарат и займется со всей щенячьей радостью. А пока аппарат вызываемого абонента будет дергаться в параксизмах довольства, вы будете слышать длинные гудки, которые будут успокаивающе сообщать вам, что АТС о вас не забыла. Если аппарат дергался зря, и трубку никто так и не возьмёт, вы получите серию коротких гудков.

Нетрудно заметить, что аналоговая сигнализация такого типа рассчитана отнюдь не на автоматику. Короткие и длинные гудки гарантировано не являются стандартными - ведь характеристика короткий/длинный вполне человеком воспринимается. А значит и заботиться тут не о чем.

Руководствуясь подобными соображениями, создатели телефонных систем подарили незабываемую массу ощущений администраторам VoIP шлюзов - в форумах по Addpac можете почитать детективные истории по записи гудка занятости от АТС и последующего его анализа различными аудио редакторами. На самом деле все не так страшно с отбоем.

А вот где и вправду очень обидно становится - это дозвон до абонента традиционной телефонной сети. Есть во FreeSWITCH такая переменная call_timeout (подобное есть в параметрах Dial в Asterisk), которая задает время попытки дозвониться. Если в течении скажем 20 секунд трубку никто не взял, то вызов уйдет в голосовую почту, например. Так вот если вы настроите переадресацию на свой сотовый аппарат, и захотите в случае неудачи перевести звонок в голосовую почту - ничего не выйдет. Шлюзу фактически невозможно определить идет ли вызов или уже кто то взял трубку (если это конечно не GSM шлюз, в GSM шлюзах с сигнализацией все хорошо). Также определить по коротким гудка занят ли абонент, или положил трубку после разговора, сложно.

Да, конечно можно наворотить всяческих детекторов появления голоса в линии, но если я не сразу понимаю, что на том конце кто то соизволил дотянуться до трубки, то уж автоматика, с её процентами погрешности здесь никак не годится для серьезного использования - получится плохо, когда вызываемый уже взял трубку, а автоматика все еще размышляет - "вот это голос, или не голос? Наверное все таки не голос, ждем дальше".

Таким образом видно моё отношение к перспективам аналоговых стыков с городскими АТС - нет перспектив - аналоговая сигнализация в цифровом веке это атавизм, зачем эти костыли, когда АТС совершенно точно знает взяли на том конце трубку или нет. Весь вопрос всего лишь в том, что она об этом никак не сообщает, рассчитывая на то, что у аппарата человек, который признает собрата.

Очевидно, что стык надо делать или цифровым (ну тут из вариантов я только E1 видел, и тот R1.5, и PRI еще поискать надо, хотя, возможно, где то есть еще и ISDN BRI), или делать VoIP стык. Сейчас уже многие провайдеры предоставляют городские телефоны через VoIP.

В следующей серии зянятно-развлекательное описание протокола SIP.