вторник, 24 июня 2014 г.

Разбираемся с kazoo

будет дополняться, в работе



Ещё недавно было описание на http://2600hz.org/products.html, но больше нету. Есть чуть более полное описание тут
http://www.ohloh.net/p/KazooPlatform

Kazoo is a scalable, distributed, cloud-based telephony platform that allows you to build powerful telephony applications with a rich set of APIs.

Designed to handle anything from large carrier to small countries, the Kazoo infrastructure can do it all. There are no lock-ins and the software is open-source to give you complete freedom. Come join us and change the way people communicate; the VoIP revolution is here.

Services include:
- Complete redundancy and failover between data centers
- Complete replication of all data
- Use of Map/Reduce algorithms inside NoSQL databases
- Multi-master replication and caching of registrations, active channels and call lookups
- Load balancing built-in
- Event driven messaging for managing and using calls
- A complete REST interface for implementing call flow features

pdf о структуре, оно же на 2 сайтах
http://www.kamailio.org/events/2013-KamailioWorld/11-James.Aimonetti-Kazoo.pdf
http://www.scribd.com/doc/143292637/2600hz-Kazoo-Kamailio-Integration-Deck-from-Kamailio-World

четверг, 19 июня 2014 г.

Осваиваем SIPp

Есть неплохой тестер для sip, называется SIPp, утилита для генерации нагрузки на SIP оборудование. Хорошо подходит для тестирования как asterisk, так и freeswitch-а.
http://sipp.sourceforge.net/

Под рукой стоит держать офдоку (для версии 3.3, которая например в centos ставится)
http://sipp.sourceforge.net/doc3.3/reference.html
Документация конечно не особо подробная, но всё-таки там многое есть + начинать можно оттуда. Там есть упоминания даже таких вещей как rrs, next_url, start_txn итд, что нужно для всяких b2bua. Есть даже картинки запросов в текстовом виде.

https://mojolingo.com/blog/2013/load-testing-voice-applications-with-sipp/
мало примеров, но много основ.

среда, 18 июня 2014 г.

По данным отчёта Mozilla, доля негативных отзывов об интерфейсе Australis составляет 84%

C Firefox 28 подключили новый, хромоподобный, интерфейс. Но нравится он не всем...
http://www.opennet.ru/opennews/art.shtml?num=38504

Вернуть интерфейс примерно к старому виду:
Classic Theme Restorer

Но вообще, клонировать хром это тупиковый путь, и хром выбирают совсем не за скругления табов... Мне, например,хром нравится нормальной работой с флэшем, тормоза флэша никак не мешают остальному браузеру, и подвисание части табов не мешает работе с активной парой табов. Причина -- в многопоточности и многопроцессности хрома. Можно даже снять спокойно наиболее прожорливый процесс, а когда содержимое связанных табов понадобится - просто обновить страницу.
А не нравятся оба прожорливостью памяти. Например, хром на 600 табах ест более 20Гб оперативки, ФФ 2.0 на 700 табах влезало в 2 гига. Правда, сейчас ФФ ест даже больше хрома и течёт памятью. Эта идиотская гонка версий тоже чего стоит. А вообще, будь моя воля, стояли бы у меня везде ФФ 3.5, как "последняя из могикан".

Ещё убрали диспетчер вкладок. Вообще. У того же хрома диспетчер есть и вполне рабочий, так что халтурно функционал копируют.

вторник, 17 июня 2014 г.

kamailio -- автодополнение не работает?

kamcmd can work in command line mode (the RPC or command name is just another command line parameter) or in interactive mode. The interactive mode supports history and tab-completion (if kamcmd was compiled with libreadline support).

Ставим libreadline, пересобираем.

понедельник, 16 июня 2014 г.

Про гугл, кремниевую долину и сан-франциско

(1) http://blogerator.ru/page/molchanie-gugljat-ili-grozdja-narodnogo-gneva-google-protesty-avtobus
(2) http://blogerator.ru/page/strasti-budimirovy-programmisty-prognoznaja-analitika-avtomatizacija-1
(3) http://blogerator.ru/page/strasti-budimirovy-prognozy-analitika-razvitija-progress-it-2
(4) должна быть еще часть

Из-за бума технологии и технологических компаний (не только Google), очень сильно растут цены на жилье и службы. Простые учителя, продавцы и другие, кто зарабатывает в несколько раз меньше “технологической элиты” (тут я имею ввиду не только программистов, а всех, кто связан с бумом так или иначе, включая фирмы, которые делают аудит или поставляют контракторов), оказываются в довольно невыгодном положении. Они не могут позволить купить себе дом и становятся перед выбором – переезжать в место подешевле, где жить доступнее, или оставаться, но платить нереальные деньги за съем/садик/итп., и навсегда забыть про мечту о собственном доме.
http://larrr.com/google-sux/

Преставьте себе место, где живут богатые люди в большом количестве. Вопрос на засыпку – что это значит для цен на недвижимость и услуги? Правильно – они будут охренеть какие высокие. Садик за 2000$ в месяц? Легко! Посредственный старый маленький дом за 715 тысяч в ебенях и с плохими школами? Да без проблем! Думаете, снять дешевле? Да вряд ли, 2500$+ в месяц.

Так что, если вдруг получите оффер в Силиконовой, на 100 000$/год со всеми плюшками, и вы не холостяк (или холостячка), то есть все шансы, что будете сводить концы с концами. А свой дом вам будет только сниться. Разве что вторая половинка тоже работает, и вам не надо отправлять трех карапузов в садик – по 2000$ за нос :}.
http://larrr.com/ne-vse-kotu-maslenitsa/

Какая же silicon valley, кремниевая или силиконовая?

http://beta.hstor.org/getpro/habr/comment_images/bed/62b/039/bed62b0395db05388bb2b008760a7a24.png
А хитрость в том, что оба названия существуют, только это разные долины. О той, которая техническая - она таки кремниевая, а силиконовая это в Сан-Фернандо, она же порно долина. В вики указано некорректно, ибо "вики не устанавливает нормы, а идёт за ними", что делает её бессмысленной.
И маленький хинт: silicon это кремний, он же Si, silicium.

воскресенье, 8 июня 2014 г.

nginx proxy_cache

syntax: proxy_cache [зона|off]
default: off
context: http, server, location

Директива задаёт зону для кэширования. Одна и та же зона может использоваться в нескольких местах. Параметр "off" запрещает кэширование, унаследованное с предыдущего уровня конфигурации.

proxy_cache_key
Ключ, по которому считается адрес кэшированной страницы

proxy_cache_path
где лежит кэш страниц

proxy_ignore_headers
Какие заголовки игнорировать, например Expires Cache-Control Set-Cookie

proxy_cache_use_stale
Когда доставать данные из кэша, например таймаут, 502 итд

Могут пригодиться proxy_hide_header, proxy_cache_bypass, proxy_no_cache

Но кэширование это только половина проблемы, кэши ещё надо чистить. В частности, есть proxy_cache_purge
Прозрачное кэширование в nginx для всех и каждого
Кеширующий прокси-сервер на nginx. Хитрая конфигурация
nginx + apache. Кеширование

Весьма полезная дока об особенностях

четверг, 5 июня 2014 г.

Cisco Express Forwarding (CEF)

Cisco Express Forwarding (CEF) — технология высокоскоростной маршрутизации/коммутации пакетов, использующаяся в маршрутизаторах и коммутаторах третьего уровня фирмы Cisco Systems, и позволяющая добиться более быстрой и эффективной обработки транзитного трафика.
Функционал, который поддерживает CEF:
  • QoS
  • ACL
  • Zone Based Firewall
  • NAT
  • Netflow
  • IPSec
  • GRE
  • PBR
CEF не работает в следующих случаях:
  • Включен ACL Logging (в конце ACL добавлено слово log, например deny ip any any log)
  • Пакеты предназначены для самого маршрутизатора/коммутатора.
  • Нет L2 Adjacency. 
http://xgu.ru/wiki/Cisco_Express_Forwarding

и немного тут
http://www.opennet.ru/base/cisco/cisco_mem.txt.html

вторник, 3 июня 2014 г.

FreeSWITCH: ACL

https://wiki.freeswitch.org/wiki/ACL
ACL во FreeSWITCH
http://blog.2600hz.com/post/18096749028/understanding-how-fs-supports-opensips-as-a

Пример: когда надо сделать авторизацию по IP (например FS стоит за opensips/kamailio) и всё лишнее фильтруется, можно сделать так:
autoload_configs\acl.conf.xml
     <list name="sip_ip_auth" default="deny">
       <node type="allow" cidr="200.2.2.2/32"/>
     </list>

sip_profiles/internal.xml
set auth-calls=false

и пример из dialplan/public.xml
    <extension name="from_kamailio">
      <condition field="network_addr" expression="^2\.1\.10\.10$" />
      <condition field="destination_number" expression="^(.*)$">
        <!-- <action application="info"/> -->
        <action application="bridge" data="sofia/internal/$1@1.1.1.1"/>
        <!-- <action application="transfer" data="$1 XML default"/> -->
      </condition>
    </extension>
в данной схеме не будет работать multi-tenant, тут надо вместо айпи что-то типа ${to-domain} (именно такой переменной нету)
Включив action application="info" -- можно увидеть все доступные переменные, также через консоль: uuid_dump id_ноги

ещё линки
https://www.mail-archive.com/freeswitch-users@lists.freeswitch.org/msg00679.html