tag:blogger.com,1999:blog-50129990609491560862024-02-19T18:39:00.925-08:00Pагу ИзaйтиА ведь будущее-то,- уже наступило!Unknownnoreply@blogger.comBlogger239125tag:blogger.com,1999:blog-5012999060949156086.post-48458278786889547842019-01-29T20:09:00.000-08:002019-01-29T20:17:01.485-08:00Подключение к SSH с использованием ключей PuTTY<div dir="ltr" style="text-align: left;" trbidi="on">
<h4 style="text-align: left;">
Задача:</h4>
Подключиться к удалённому хосту из Linux или MacOS с использованием ключа PuTTY<br />
<br />
<h4 style="text-align: left;">
Дано:</h4>
Ключ в формате PuTTY, например new.remote.host.ppk<br />
<br />
<h4 style="text-align: left;">
Как сделать:</h4>
<h4 style="text-align: left;">
<a name='more'></a></h4>
<h4 style="text-align: left;">
1. Установить puttygen</h4>
<br />
<blockquote class="tr_bq">
# Ubuntu<br />
sudo apt-get install putty-tools<br />
# Debian-like<br />
apt-get install putty-tools<br />
# RPM based<br />
yum install putty<br />
# Gentoo<br />
emerge putty<br />
# Archlinux<br />
sudo pacman -S putty<br />
# OS X<br />
brew install putty</blockquote>
<br />
2. Конвертировать ключ в формат openssl<br />
<br />
<blockquote class="tr_bq">
# Сформировать приватный ключ<br />
puttygen new.remote.host.ppk -O private-openssh -o id_rsa_new.remote.host.key </blockquote>
<blockquote class="tr_bq">
# Сформиовать публичный ключ<br />
puttygen new.remote.host.ppk -O public-openssh -o id_rsa_new.remote.host.pub</blockquote>
<br />
3. Установить ключи в ~/.ssh<br />
4. Исправить разрешения<br />
<br />
<blockquote class="tr_bq">
$ chmod 600 ~/.ssh/id_rsa_new.remote.host.key<br />
$ chmod 666 ~/.ssh/id_rsa_new.remote.host.pub</blockquote>
<br />
5. Настроить подключение к хосту в ~/.ssh/config<br />
<br />
<blockquote class="tr_bq">
Host new.remote.host<br />
Hostname new.remote.host<br />
User remote-user<br />
IdentityFile ~/.ssh/id_rsa_new.remote.host.key</blockquote>
PROFIT:<br />
<br />
$ ssh new.remote.host<br />
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-16770973330141938992017-04-06T00:47:00.000-07:002017-04-06T00:47:21.157-07:00Магия IETF: ASCII Art<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeTPGsnzQBfnrhUHEq8MT5k10jwQ9rHcGLvVgsIz-rcxdxR5NyH0SUlrig42pUkbbp4jVWHfdZlqNcRFoJM_wLdkQVdhkQp8_vO8vfLv6t2XWxGOkee4ihYApT7rCPBHQch4ZYHMjp4V9z/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA+%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0+2017-04-06+%25D0%25B2+10.30.03.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeTPGsnzQBfnrhUHEq8MT5k10jwQ9rHcGLvVgsIz-rcxdxR5NyH0SUlrig42pUkbbp4jVWHfdZlqNcRFoJM_wLdkQVdhkQp8_vO8vfLv6t2XWxGOkee4ihYApT7rCPBHQch4ZYHMjp4V9z/s320/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA+%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0+2017-04-06+%25D0%25B2+10.30.03.png" width="320" /></a></div>
В IETF множество разных штук зависит от магии. Без волшебной пыльцы или других дополнительных действий из мира фей, Интернет просто бы никогда не заработал. Тролли должны быть голодными. Единороги обеспечивают работоспособность алгоритма SDN PCE.<br />
<br />
Очередной первоапрельский <a href="https://www.rfc-editor.org/rfc/rfc8140.txt" target="_blank">RFC</a><span style="white-space: pre-wrap;"><a href="https://www.rfc-editor.org/rfc/rfc8140.txt" target="_blank"> 8140</a> от 2017 года прекрасен как первый снег и наполнен благородным безумием до краёв.</span><br />
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-2167648374599541432016-05-06T07:24:00.000-07:002016-05-06T07:24:06.606-07:00Отслеживание HTTP-взаимодействия с помощью tcpdump<div dir="ltr" style="text-align: left;" trbidi="on">
Иногда нужно в консоли посмотреть, что происходит с запросами на веб-сервер, правильные ли приходят запросы, нормальные ли уходят ответы, если вообще уходят. Для таких целей есть утилита tcpdump, но она больше для работы с уровнем TCP/IP, а для получения данных о запросах HTTP,- приходится применять определённые ключи и фильтры. Я делаю вот так:<br />
<br />
<blockquote class="tr_bq">
tcpdump -i eth0 -nA -s 0 '(((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' and port 80</blockquote>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-78206081370341178162016-04-26T03:34:00.000-07:002016-04-26T03:34:07.820-07:00Git Slack Hook<div dir="ltr" style="text-align: left;" trbidi="on">
Осваиваю Slack, решил проверить насколько легко можно подключать собственные приложения и/или скрипты в ленту проекта. Для примера был взят git,- на отдельном хостинге. Написать "в лоб" скрипт постинга в слаку, конечно, можно, но какой смысл, если есть уже готовое, а главное, качественное решение?<br />
<br />
<a href="https://github.com/chriseldredge/git-slack-hook" rel="nofollow" target="_blank">Git-slack-hook</a> устанавливается вместо post-receive, все параметры настраиваются непосредственно в репозитории с помощью ключей git config hooks.slack.*<br />
<br />
<br />
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-746610159209060352016-01-13T04:03:00.002-08:002016-01-13T04:03:49.884-08:00Переезд 3.0: Цифровой Океан (Digital Ocean)<div dir="ltr" style="text-align: left;" trbidi="on">
Некоторое время назад на домашнем сервере был поднят сайт. Долго ли, коротко ли, постепенно сайт проиндексировался и Яндексом, и Гуглом и даже всевозможными заморскими Бингами и Асками, так что на сайт стали захаживать посетители. Не то что бы много,- пара сотен в день. Всё хорошо,- и постоянный адрес от провайдера домашнего интернета пожалован, и канал не то, чтобы тонкий,- но временами серверу стало плохеть временами, да так, что не только ssh отваливался, а и перезагружать стало надобно, да аж по питанию.<br />
<br />
Вообщем, сия ситация совсем озадачивать стала,- понадобился хостинг, да непростой,- чтобы с питонами и джангами, а лучше совсем виртуально выделенный. Знакомые, как один перстами в сторону заморских цифровых океанов показывали, да так и уговорили. Вообщем оказалось, что цены заморские вполне адекватные, да на любой вкус. Да, к тому же, платить нужно не сразу, а после того, как попользовался, что в условиях санкций буржуйских да кризисов повсеместных вполне себе полезно может показаться.<br />
<br />
Вообщем,- выбран был самый простой тариф, да ось знакомая, да времени на развёртывание ушло около минуты. Удобный интерфейс, моментальное развёртывание образов,- рекомендую всем.<br />
<br />
И да, вы можете прямо сейчас <a href="https://m.do.co/c/fa1c8e39de9e" rel="nofollow" target="_blank">зарегистрироваться на Digital Ocean и получить скидку на 10$</a> </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-81726037573084362682015-08-25T01:24:00.003-07:002015-08-25T01:27:30.073-07:00Стандарты BitCoin<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpaahznzJ1RQ24kU11Fi-bFSf1CFzaqJfmAXgUI30EB1UO9CCtuq93-0UEoSN-MMaoI4iFuS59F51_Z8Sk7hg5ZyrwalhhZg4J9Q03fv8CuBqR8HM4ipENV7U9i3flZiNw26Zy_atrD6vt/s1600/bitcoin.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpaahznzJ1RQ24kU11Fi-bFSf1CFzaqJfmAXgUI30EB1UO9CCtuq93-0UEoSN-MMaoI4iFuS59F51_Z8Sk7hg5ZyrwalhhZg4J9Q03fv8CuBqR8HM4ipENV7U9i3flZiNw26Zy_atrD6vt/s1600/bitcoin.png" /></a></div>
Криптовалюты в своём развитии достигли такого этапа, когда становится сложно обходится без централизованной документации и учёта предложений по развитию. Количество сценариев использования электронных денег, основанных на протоколах шифрования, стремительно растёт и включает в себя протоколы платежей, форматы представления URI, описания команд взаимодействия P2P и много другое.<br />
<div>
<br />
<a name='more'></a><br /></div>
<div>
Например, сообщество BitCoin поддерживает базу данных документации, предложений по изменениям и описаний процессов внедрения новых функций BIP (Bitcoin Improvement Proposal) по аналогии с IETF RFC. Описания BIP могут быть нескольких типов:<br />
<div>
<ul style="text-align: left;">
<li>Standards Track BIP описывают глобальные изменения, влияющие на реализацию программного обеспечения, такие как изменения сетевого протокола, изменения в блоках или транзакциях, влияющие на правила верификации или другие изменения, влияющие на взаимодействие с другим программным обеспечением;</li>
<li>Informational BIP содержат описания архитектуры или основные рекомендации для сообщества. Этот тип документов не требует одобрения всем сообществом, поэтому их можно игнорировать.</li>
<li style="box-sizing: border-box;">Документы Process BIP представляют из себя описания процессов в окружении криптовалюты или предложения по изменению каких-либо областей, не являющихся исходным кодом самой валюты. Этот тип документа аналогично Standart Track BIP требует консенсуса и, чаще всего, информация, алгоритмы или сценарии должны соблюдаться.</li>
</ul>
<h3 style="text-align: left;">
Ссылки по теме</h3>
</div>
<div>
<ul style="text-align: left;">
<li><a href="https://github.com/gavinandresen/bips/tree/fd99a8ce04dbad96fb275e0300a7ee669e70f418" rel="nofollow" target="_blank">Хранилище исходных кодов BIP</a></li>
<li><a href="https://github.com/gavinandresen/bips/blob/fd99a8ce04dbad96fb275e0300a7ee669e70f418/bip-0021.mediawiki" rel="nofollow" target="_blank">Стандарт формирования BitCoin URI</a></li>
</ul>
</div>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-62837253999259588972015-07-08T01:27:00.000-07:002015-07-08T01:27:06.676-07:00Яндекс OpenID всё<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
Получил письмо от поддержки Яндекса:</div>
<br />
<blockquote>
Здравствуйте!<br />Вы получили это письмо, потому что используете свою учётную запись Яндекса для входа на другие сайты. Это называется «социальной авторизацией», в её основе лежит протокол OpenID. Яндекс несколько лет использовал эту технологию, чтобы вам не приходилось регистрироваться на сторонних сайтах. Но время идёт, протокол устарел и качество его работы перестало нас устраивать.<br /> <br />Мы решили с 10 августа отключить поддержку OpenID и перейти на API Яндекс.Паспорта.</blockquote>
<br />
Рекомендуется получить прямой доступ ко всем сервисам, где использовался OpenID от яндекса. </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-89143982705702185312015-06-03T09:47:00.000-07:002015-06-03T09:47:08.752-07:00RFC от 1 апреля 2015 года<div dir="ltr" style="text-align: left;" trbidi="on">
В 2015 году коллекция шутливых RFC обогатилась двумя новыми экземплярами:<br />
<br />
<a href="https://tools.ietf.org/rfc/rfc7511.txt" rel="nofollow" target="_blank">RFC 7511</a> предлагает ввести в протокол IPv6 дополнительную опцию маршрутизации, которая позволит несчастным IP-пакетам получать как можно больше свежего воздуха, избегая передачи по меди или оптике в пользу беспроводных сред. Вероятно, от этого <a href="http://blog.asmadews.ru/2010/04/tcp.html" target="_blank">IP-пакеты станут более счастливыми</a> и количество добра в мире увеличится.<br />
<br />
<a href="https://tools.ietf.org/rfc/rfc7514.txt" rel="nofollow" target="_blank">RFC 7514</a> предлагает ввести в ICMP новое ообщение <span style="white-space: pre-wrap;">"Really Explicit </span><span style="white-space: pre-wrap;">Congestion Notification" (RECN)</span>, которое можно использовать в качестве совета уменьшить скорость передачи данных для таких устройств, которые <strike>не понимают нормального языка</strike> игнорируют потерю пакетов или сообщения <span style="white-space: pre-wrap;">Explicit Congestion Notification (ECN).</span> Новый стандарт предлагает доводить такое сообщение аж до специалиста, ответственного за передачу пакетов на конкретном узле и даже выдавать аудио-сигнализацию или показывать pop-up сообщение, если подсистема text-to-speach отключена или звук выключен</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-85738987904306586762015-02-12T01:27:00.001-08:002015-02-12T01:27:15.547-08:00Спам: Раскрути меня по-полной<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
Всё-таки просмотр папки со спамом периодически приносит совсем уж фееричные примеры идиотизма. Вот, например, некто якобы Алексей, пишет мне следующее:</div>
<blockquote class="tr_bq">
Subject: На Вашем сайте <a href="http://mail.ru/"><span class="s1">mail.ru</span></a> - низкая посещаемость </blockquote>
<blockquote class="tr_bq">
Случайно зашел на Ваш сайт, обратил внимание, что что он оптимизирован с серьезными ошибками.<br />Я много лет занимаюсь раскруткой сайтов в поисковых системах.<br />Предлагаю - вывести Ваш сайт на верхние позиции поисковых систем, что обеспечит дополнительный поток посетителей на сайт.<br />Если мое предложение интересно Вам - напишите пожалуйста по каким поисковым запросам Вам хотелось бы выйти в топ поисковых систем - я рассчитаю стоимость продвижения сайта.<br />С уважением, Алексей.</blockquote>
Ау, Mail.ru, а считаю надо брать пацана в штат, чтобы серьёзные ошибки оптимизировал срочно. Ну и, раскрутит вас, опять-же :-)<br />
<br />
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-83934795375044420602015-01-26T02:59:00.000-08:002015-01-26T02:59:19.441-08:00Graphite: Графит без графита<div dir="ltr" style="text-align: left;" trbidi="on">
В процессе использования какого-либо продукта иногда всплывают разные интересные факты и сакральные знания. Набралось некоторое количество заметок на полях про Graphite:<br />
<a name='more'></a><br />
<br />
<br />
<ul style="text-align: left;">
<li>Отказаться от хранилища в файлах whisper и начать записывать значения отсчётов временных рядов в базу данных: используем <a href="https://github.com/influxdb/influxdb" rel="nofollow" target="_blank">InfluxDB</a>. Никакие обёртки не нужны, InfluxDB поддерживает протокол Carbon. </li>
</ul>
<br />
<br />
<ul style="text-align: left;">
<li>Если использовать InfluxDB,- от демонов carbon-cache и хранилища в whisper можно отказаться вовсе,- есть пакет сопряжения graphite-web и InfluxDB <a href="https://github.com/vimeo/graphite-influxdb" rel="nofollow" target="_blank">graphite-influxdb</a></li>
<li>Графит ( а точнее хранилище по умолчанию в файлах Whisper) на уровне кода не поддерживает хранение значений в будущем. Вот часть кода whisper.py:</li>
</ul>
<br />
<br />
<pre># Range is partially in the future, adjust
if untilTime > now:
untilTime = now</pre>
<br />
<ul style="text-align: left;">
<li>Отказаться от интерфейса Graphite, но продолжать использовать RawData API? Такое возможно, есть такой проект : <a href="https://github.com/brutasse/graphite-api">https://github.com/brutasse/graphite-api</a></li>
</ul>
<br />
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-41271218267528392282015-01-15T06:35:00.000-08:002015-03-07T02:22:36.051-08:00Криптовалюты: NXT: первые шаги<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoUWuwKtAbSvwTchfNvE_ZL4C3SDdcbbXnpnzxhlv_2ejJ-j-esdDNQM8smyaYxL7IQJEHz04-6SUxz9W1NzFhDKqguWxgcDI_L2cuywUxQvl6zzcuGv6xJXo_gbKNlrcXH1aBPJpzLRO0/s1600/logo_en.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoUWuwKtAbSvwTchfNvE_ZL4C3SDdcbbXnpnzxhlv_2ejJ-j-esdDNQM8smyaYxL7IQJEHz04-6SUxz9W1NzFhDKqguWxgcDI_L2cuywUxQvl6zzcuGv6xJXo_gbKNlrcXH1aBPJpzLRO0/s1600/logo_en.png" /></a></div>
Когда только-только появился биткоин, я был ещё молодым и пропустил всё веселье. Я имею ввиду, времена, когда генерить биткоины можно было даже без видеокарты, просто на компе с мощным процессором. А потом генерация биткоинов стала делом весьма ресурсоёмким, так что даже создать биткоиновский кошелёк я так и не сподобился. Но интерес к криптовалютам остался, как не странно. <br />
<a name='more'></a>И вот, зачем-то решил зарегистрировать кошелёк NXT. Не понимаю пока, зачем мне эта презабавная забава, но пусть будет. Генерить деньги, как в случае BTC, там не получится, просто в силу особенностей, но вложить денег, сохранить какую-то их часть, или просто поучаствовать в развитии "изнутри",- вполне можно, даже без первоначальных вложений. По крайней мере, я делал так:<br />
<br />
<ol style="text-align: left;">
<li>Зарегистрировать кошелёк. это можно сделать, скачав программу </li>
<li>Получить пяток монет для старта (ссылка внизу)</li>
<li>Позаходить несколько раз на freenxt и получить ещё монет.</li>
<li>Зарегистрироваться на бирже и поиграть на разницах курса или положить монеты на депозит</li>
</ol>
Ссылки по теме:<br />
<br />
<ul style="text-align: left;">
<li><a href="http://nxt.org/" rel="nofollow" target="_blank">Официальный сайт проекта NXT</a></li>
<li><a href="http://nxtra.org/faucet/" rel="nofollow" target="_blank">Nxtra.org: Получить до 5 NXT один раз для старта</a></li>
<li><a href="http://saldigi.info/" target="_blank">Краники BTC, NXT, LTC и т.д.</a></li>
<li><a href="https://bter.com/ref/223603" rel="nofollow" target="_blank">Биржа обмена криптовалют Bter</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-30149608954852107962015-01-15T06:11:00.000-08:002015-01-15T06:11:31.873-08:00Graphite и R<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg216IydyRK7A5nTu_ASe6y4Gf2M1f42SN_DPiJO7kmknLfYujQUrKVSVCPBRAUkOStoXdU1OQ1xD_5z07oyxneJkRHZkARf4XzhRF_cLo9UrSHfrHzNh1k-wvZp_GEs8_hRqY9QPaKPwSr/s1600/Rlogo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg216IydyRK7A5nTu_ASe6y4Gf2M1f42SN_DPiJO7kmknLfYujQUrKVSVCPBRAUkOStoXdU1OQ1xD_5z07oyxneJkRHZkARf4XzhRF_cLo9UrSHfrHzNh1k-wvZp_GEs8_hRqY9QPaKPwSr/s1600/Rlogo.jpg" /></a></div>
... довелось познакомиться со статистическим пакетом R (который такой же как S/S+, но другой :-). За саму систему R рассказывать не буду, для интересующихся ссылка внизу статьи. Меня же заинтересовала возможность подгружать данные из графита для анализа в R. Навскидку прямых путей не нашлось, но придумал парочку обходных:<br />
<br />
<a name='more'></a><br />
<h3 style="text-align: left;">
R jsonlite и Graphite Render API</h3>
<div>
Этот вариант обладает одной приятной особенностью,- доступ к данным можно организовать не только на одной системе, но и по сети. К недостаткам такого метода стоит отнести большие накладные расходы на двойное преобразование данных whisper->json->R.</div>
<div>
<br /></div>
<h3 style="text-align: left;">
whisper-fetch</h3>
<div>
Этот вариант, возможно, самый быстрый. Кроме того, можно использовать стандарный интерфейс R <span style="background-color: white;">read.table без дополнительных пакетов.</span></div>
<br />
Cсылки по теме:<br />
<br />
<ul style="text-align: left;">
<li><a href="http://www.r-project.org/" rel="nofollow" target="_blank">Официальный сайт проекта R</a></li>
<li><a href="http://graphite.readthedocs.org/en/latest/render_api.html#graphing-metrics" rel="nofollow" target="_blank">Graphite URL API</a></li>
<li><a href="http://cran.r-project.org/web/packages/jsonlite/index.html" rel="nofollow" target="_blank">jsonlite: A Robust, High Performance JSON Parser and Generator for R</a></li>
<li><a href="http://blog.asmadews.ru/2014/05/graphite-whisper-wsp-midnight-commander.html" rel="nofollow" target="_blank">Использование whisper-fetch для получения данных из Graphite в коммандной строке</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-31954470477580908702014-12-02T07:28:00.001-08:002014-12-02T07:28:56.595-08:00PlantUML: ifdef и JQuery<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLJtKHeT1d2e4mZPdgl-MT80Zw_b7DSpxztHaR1Z_d4RTy3Krdg3ihH-KKk6cXmYr-W3z8h6UTw3RLmTWHRLYyUzkfgWvsnCmaxPPE58JVBn-5EO9pPVclKUfGYC0p-scgi69zNN7Eflr6/s1600/plantuml4080956220433198831.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLJtKHeT1d2e4mZPdgl-MT80Zw_b7DSpxztHaR1Z_d4RTy3Krdg3ihH-KKk6cXmYr-W3z8h6UTw3RLmTWHRLYyUzkfgWvsnCmaxPPE58JVBn-5EO9pPVclKUfGYC0p-scgi69zNN7Eflr6/s1600/plantuml4080956220433198831.png" height="171" width="200" /></a></div>
<div class="tr_bq">
Для отрисовки диаграмм последовательности ( ака call flow ) постоянно пользуюсь утилитой <a href="http://blog.asmadews.ru/2012/12/call-flow.html" target="_blank">plantuml</a>. Пользуюсь и пользуюсь, на сайт не заглядываю, тем более что в офисе оно встроено в корпоративную wiki Atlassian Confluence. Так вот, забыл я какую-то особенность синтаксиса, полез на сайт, подсмотреть, а там... Оказалось, что с момента моего последнего посещения библиотека обросла множеством замечательных возможностей:</div>
<br />
<br />
<a name='more'></a><br /><br />
<ul style="text-align: left;">
<li>Возможность написания однострочных и многострочных макросов. Позволяет определить, например функции для отрисовки каждого из задействованных протоколов своим цветом и стилем. Кроме того, использование макросов позволяет избавиться от слеждения за форматом стрелок, и писать диаграмму в чистом сигнально-протокольном псевдокоде:<br />
<br />
<pre>@startuml
!define SIP(a,b,c) a-[#red]->b: SIP c
participant UA as UA
participant SSW as SSW
autonumber
SIP(UA, SSW, Invite From: A To: B)
SIP(SSW, UA, ACK)
SIP(SSW, UA, 180 Ringing)
SIP(SSW, UA, 200 OK + SDP)
@enduml
</pre>
</li>
<li>Описание UML-диаграмм в HTML-коде: JQuery-плагин позволяет использовать конструкции вида </li>
</ul>
<blockquote class="tr_bq" style="text-align: left;">
<script type="text/javascript" src="jquery.js"></script><br /><script type="text/javascript" src="jquery_plantuml.js"></script><br />
<img uml="<br />A->B: Запрос<br />B->A: Ответ<br />"></blockquote>
<ul style="text-align: left;">
<li>Поддержка констант, переменных среды и использование их в диаграммах</li>
<li>Условная отрисовка с использованием директив !ifdef и !endif</li>
<li>Включение дополнительных файлов ( include )</li>
</ul>
<div>
Теперь придётся половину архива проектов перерисовывать...</div>
<div>
<br /></div>
</div>
Ссылки по теме:<br />
<ul style="text-align: left;">
<li><a href="http://ru.plantuml.com/index.html" rel="nofollow" target="_blank">PlantUML на русском</a></li>
<li><a href="http://plantuml.sourceforge.net/preprocessing.html" rel="nofollow" target="_blank">Препроцессинг и макросы в PlantUML</a></li>
<li><a href="http://plantuml.sourceforge.net/jquery.html" rel="nofollow" target="_blank">Jquery-плагин для PlantUML</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-57089593720449252362014-11-28T07:44:00.001-08:002014-11-28T07:44:19.502-08:00NLG: Генерация текстовых описаний временных рядов<div dir="ltr" style="text-align: left;" trbidi="on">
Задумался на тему практической реализации следующего алгоритма: имеется набор данных, например, временной ряд значений <a href="http://blog.asmadews.ru/2014/04/graphite.html" target="_blank">метрики в Graphite</a> какого-либо процесса. Надо автоматически создать текст на естественном языке, описывающий имеющиеся данные в диапазоне с точки зрения уровня, видимых или незначительных изменений, трендов и так далее. Особенно интересно, если бы алгоритм позволял сравнить несколько временных рядов, показывая в получившемся описании различия в характере исходных данных. Краткие тезисы для дальнейших исследований:<br />
<a name='more'></a><br />
<br />
<h3 style="text-align: left;">
Зачем нужно текстовое описание временного ряда?</h3>
Применений можно придумать несколько, например:<br />
<br />
<ul style="text-align: left;">
<li>текстовое описание характеристик наблюдаемых процессов в системах автоматической отчётности; </li>
<li>генерация осмысленных текстов для веб-сайтов;</li>
<li>системы скоринга;</li>
<li>системы автоматического информирования (например, в прогнозах погоды);</li>
<li>что-то ещё?</li>
</ul>
<h3 style="text-align: left;">
Как проанализировать данные?</h3>
<div>
Для анализа входных данных придётся задействовать не только школьные знания, но и наработки из математической статистики, математического моделирования и прочих смежных специальностей. Например, при анализе непериодических функций придётся использовать различные способы сглаживания временного ряда, например метод скользящих средних.</div>
<div>
Получившаяся сглаженная функция может быть проанализирована на наличие пиков, перегибов и других признаков изменения процесса. Подобные оценки должны быть проведены при различных уровнях сглаживания для получения описания характеристик процесса. Естественно, используемое программное обеспечение должно уметь распознавать определённые паттерны изменений, такие как увеличение-уменьшение, взрывной рост или стремительное падение, а также находить периодические функции или их приближения, если изменения значений метрик подчиняются какой-либо периодической функции.</div>
<div>
<br /></div>
<h3 style="text-align: left;">
Как получить текстовое описание данных?</h3>
<div>
Здесь понадобится не только умение оперировать словоформами выбранного языка, но и знание предметной области. То есть, мало написать "график функции показывает уверенное стремление ничего не показывать",- это скучно. Окончательный текст должен описывать именно те физические величины или метрики, которые заложены в исходных данных. Для этого понадобится кроме, собственно, временного ряда для анализа иметь и какое-то формализованное описания исследуемого набора величин.</div>
<div>
<br /></div>
<h3 style="text-align: left;">
Кто занимается автоматическим анализом данных?</h3>
<div>
Поиск в интернете показал, что похожими проблемами начали заниматься ещё в конце XX-го века. Навскидку удалось обнаружить несколько интересных ссылок:</div>
<div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><a href="http://www.abdn.ac.uk/ncs/departments/computing-science/sumtime-317.php" rel="nofollow" target="_blank">University of Aberdeen. The shcool of Natural and Computing Sciences. SumTime: Generating Summaries of Time Series Data</a>;</li>
</ul>
<ul style="text-align: left;">
<li><a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.3705" rel="nofollow" target="_blank">TREND: A System for Generating Intelligent Descriptions of Time-Series Data (1998)</a>;</li>
</ul>
<ul style="text-align: left;">
<li><a href="http://books.google.ru/books?id=gGzmi8Nb_ksC&lpg=PA230&ots=-3JbXgME0d&dq=description%20of%20time-series%20in%20natural%20language&hl=ru&pg=PA200#v=onepage&q=description%20of%20time-series%20in%20natural%20language&f=false" rel="nofollow" target="_blank">Google Books: search "description of time-series in natural language"</a>;</li>
</ul>
<ul style="text-align: left;">
<li><a href="http://meta-guide.com/data-processing/nlp/natural-language-time-series-prediction-2013/" rel="nofollow" target="_blank">Meta-Guide: Natural Language & Time Series Prediction 2013</a>;</li>
</ul>
<ul style="text-align: left;">
<li><span style="font-family: Georgia, Times New Roman, Times, serif;"><span style="background-color: white; line-height: 28.7999992370605px;"><a href="http://www.macs.hw.ac.uk/~dg106/publications" target="_blank">Dimitra Gkatzia publications</a>;</span></span></li>
</ul>
<br />
<div>
<span style="font-family: Georgia, Times New Roman, Times, serif;"><span style="line-height: 28.7999992370605px;"><br /></span></span></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-82036124402549362602014-11-25T01:29:00.000-08:002014-11-25T01:29:16.500-08:00Python: pip install pip <div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp3g5EHc2nf9oeBjwydRX2fZcszEC4cuqBbr_t0soGnnM1dk92JFFpFqGhNC4qwK5PlKD73Or3DpYgHQ3Gv5pnxPPYzjTbUi_0lzSgsegL70LhJyl1mzj3xXK7q7dNo5-6BMh9yue87ub3/s1600/pip-install-pip.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="pip install pip" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp3g5EHc2nf9oeBjwydRX2fZcszEC4cuqBbr_t0soGnnM1dk92JFFpFqGhNC4qwK5PlKD73Or3DpYgHQ3Gv5pnxPPYzjTbUi_0lzSgsegL70LhJyl1mzj3xXK7q7dNo5-6BMh9yue87ub3/s1600/pip-install-pip.png" height="175" title="" width="200" /></a></div>
Иногда необходимо сделать не просто pip install <какой-то пакет>, а установить, например, определённую версию библиотеки. Чтобы не искать по всей сети, собрал несколько полезных рецептов:<br />
<br />
<a name='more'></a><br />
<br />
<h3 style="text-align: left;">
Как узнать какие версии пакета доступны?</h3>
Самый простой способ,- указать заведомо несуществующую версию, например так:<br />
<br />
<blockquote class="tr_bq">
$ pip install django==999999999<br />
Downloading/unpacking django==999999999<br />
Could not find a version that satisfies the requirement django==999999999 (from versions: 1.5.2, 1.5.8, 1.6.1, 1.6.2, 1.6.5, 1.6, 1.6.3, 1.6.4, 1.6.6, 1.6.7, 1.6.8, 1.7, 1.7.1, 1.1.3, 1.1.4, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3, 1.4.1, 1.4.10, 1.4.11, 1.4.12, 1.4.13, 1.4.14, 1.4.15, 1.4.16, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.4.8, 1.4.9, 1.4, 1.5.1, 1.5.10, 1.5.11, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.5.9, 1.5, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6, 1.7.1, 1.7)<br />
Cleaning up...</blockquote>
<br />
<h3 style="text-align: left;">
Как установить конкретную версию пакета?</h3>
Указать номер версии:<br />
<blockquote class="tr_bq">
$ pip install django==1.6<br />
Downloading/unpacking django==1.6<br />
Downloading Django-1.6-py2.py3-none-any.whl (6.7MB): 6.7MB downloaded<br />
Successfully installed django<br />
Cleaning up...</blockquote>
<br />
<h3 style="text-align: left;">
Что за ошибка ValueError: Expected version spec in ... ?</h3>
Обязательно надо использовать двойное равенство при указании версии, иначе попасть в ступор с ошибкой такого вида:<br />
<blockquote class="tr_bq">
$ pip install django=1.6<br />
...<br />
ValueError: ('Expected version spec in', 'django=1.6', 'at', '=1.6')</blockquote>
<br />
<h3 style="text-align: left;">
Как установить набор пакетов requirements.txt?</h3>
$ pip install -r requirements.txt<br />
<br />
<i>Ссылки по теме:</i><br />
<br />
<ul style="text-align: left;">
<li><a href="https://pip.pypa.io/en/latest/index.html" rel="nofollow" target="_blank">Документация pip (на английском языке)</a></li>
<li><a href="https://pythonhosted.org/setuptools/pkg_resources.html#requirement-objects" rel="nofollow" target="_blank">Формат requirements для pip</a></li>
</ul>
<br />
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-1873226466536426632014-11-12T08:34:00.000-08:002014-11-12T08:34:25.462-08:00DLNA: Что такое DMP, DMR и DMS?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2rLpI97wdiev1df120b2PdYhn38n_kH_5N2JGfZum1OVY34HL8gTtsjNyIV6ollStPby7lkopg3El7wwDa14O2LapBKR9czZCEUJ32XLMraIyR8cjRAuGTHGUrqQXs_jBKn1V8tSfCC06/s1600/dlna_header_logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2rLpI97wdiev1df120b2PdYhn38n_kH_5N2JGfZum1OVY34HL8gTtsjNyIV6ollStPby7lkopg3El7wwDa14O2LapBKR9czZCEUJ32XLMraIyR8cjRAuGTHGUrqQXs_jBKn1V8tSfCC06/s1600/dlna_header_logo.png" /></a></div>
Описывая своё знакомство с приставкой Dune HD TV, забыл рассказать, что этот медиаплеер умеет работать с DLNA (Digital Living Network Alliance). По крайней мере, как только подключил локальную сеть, дюна сразу увидела домашний Plex Media Server, и легко воспроизводит практически любой контент. Но есть одна беда,- веб-интерфейс плекса не позволяет запустить воспроизведение видео прямо на дюну. При этом, в каких-то программах для Android я такое видел,- выбор устройства, на которое хочется выводить сигнал. Пошёл искать, и выяснил для себя вот что:<br />
<br />
<a name='more'></a><br />
Оказывается, с точки зрения воспроизведения контента, DLNA определяет 3 основные функции при обмене медиа по сети:<br />
<ul style="text-align: left;">
<li>DMS (Digital Media Server),- хранение контента. Это собственно DLNA Server, например упомянутый Plex, та-же Dune, множество их (см. ссылки по теме ниже)</li>
<li>DMC (Digital Media Controller),- управление контентом и его воспроизведением. Встречается в виде обособленных программ под Android и iOS;</li>
<li>DMR (Digital Media Renderer),- отображение контента. Это телевизоры, планшеты и смартфоны, любое устройство с экраном, способное показать то, что его попросили.</li>
</ul>
<div>
Иногда выделяют ещё устройства DMP (Digital Media Player), объединяющие в себе функции управления (DMC) и отображения (DMR), чаще всего поддерживающие DLNA медиаплееры, телевизоры, домашние кинотеатры и планшеты реализуют именно эти функции.<br />
<br />
Конечно, это упрощённое описание, на самом деле в стандарте стандарт DLNA выделяется гораздо больше классов устройств, подробнее можно почитать в DLNA Guidelines (см. ссылки по теме).</div>
<br />
Собственно, проблема связки Plex и Dune оказалась в том, что из коробки Plex не поддерживает функций DMC, т.е. не может отправить файл на воспроизведение куда-либо (кроме встроенного в веб-интерфейс плейера). Поэтому приходится запускать фильмы не из веб-интерфейса Plex (как хотелось бы), а c экрана телевизора, что менее удобно.<br />
<br />
Ссылки по теме:<br />
<br />
<ul style="text-align: left;">
<li>Описание устройства <a href="http://dune-hd.com/eng/products/full_hd_media_players/34" rel="nofollow" target="_blank">Dune HD TV102</a></li>
<li><a href="https://ru.wikipedia.org/wiki/DLNA" rel="nofollow" target="_blank">Википедия: Описание DLNA</a></li>
<li><a href="http://www.dlna.org/dlna-for-industry/guidelines" rel="nofollow" target="_blank">DLNA Guidelines</a></li>
<li><a href="https://plex.tv/" rel="nofollow" target="_blank">Plex Media Server</a></li>
<li><a href="http://blog.asmadews.ru/2014/11/duna-developer.html" target="_blank">Реcурсы для разработчика плагинов Dune</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-59786558099283676792014-11-12T01:43:00.001-08:002014-11-12T01:52:20.011-08:00Duna HD: поиск тайных знаний<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6cToYn3eY5RWy8xgYq1bab_BD3Opjt4vnlDi1b7Gcehidxg6T8jmhDdbKP-u4iubitMf95qUQ9zaKzZZLQURxwuhboeVR312zbSC004QJ8yq2FmaLE-YIrmIKuvcMSAQ5UKj-I9Xu-Ouj/s1600/hdtv102t2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6cToYn3eY5RWy8xgYq1bab_BD3Opjt4vnlDi1b7Gcehidxg6T8jmhDdbKP-u4iubitMf95qUQ9zaKzZZLQURxwuhboeVR312zbSC004QJ8yq2FmaLE-YIrmIKuvcMSAQ5UKj-I9Xu-Ouj/s200/hdtv102t2.jpg" width="200" /></a></div>
Некоторое время назад я стал счастливым обладателем медиаплейера Dune HD TV102. Зная, что внутри у этой приставки Linux, естественно мне захотелось посмотреть на это чудо изнутри. Не разобрать на части, конечно, а посмотреть как устроено программное обеспечение и вообще система. Кроме того, дюна поддерживает подключение плагинов, почему-бы не разработать какое-нибудь полезное расширение для этой приставки?<br />
<br />
<a name='more'></a><br />
Гугл рассказал, что информации в интернете не то чтобы нет, просто она не очень доступна в силу определённых причин. В большинстве своём, тайные знания спрятаны внутри текстовых файлов, да ещё и на английском языке. Чтобы облегчить себе последующий поиск, собрал здесь несколько полезных ссылок для разработчиков приложений для Dune:<br />
<ul style="text-align: left;">
<li><a href="http://files.dune-hd.com/partners/sdk/sdk.txt" rel="nofollow" target="_blank">Общее описание SDK и системы плагинов Dune</a>;</li>
<li><a href="http://files.dune-hd.com/partners/sdk/pvr.txt" rel="nofollow" target="_blank">Функции PVR (Personal Video Recorder) и PLTV (<span style="white-space: pre-wrap;">Pause Live TV</span>)</a>: запись и таймшифт;</li>
<li><a href="http://files.dune-hd.com/partners/sdk/pip.txt" rel="nofollow" target="_blank">PIP (Picture In Picture)</a>: поддержка функции Картинка-в-Картинке;</li>
<li><a href="http://files.dune-hd.com/partners/sdk/plugins.txt" rel="nofollow" target="_blank">SDK разработки плагинов</a>: HTTP плагины, использование <span style="white-space: pre-wrap;">PHP API, автоматический запуск при старте, алгоритм установки плагинов и т.д.</span></li>
<li><a href="http://files.dune-hd.com/partners/sdk/dune_simple_iptv.txt" rel="nofollow" target="_blank">Реализация простейшего плагина IPTV</a>;</li>
<li><a href="http://files.dune-hd.com/partners/sdk/media_url.txt" rel="nofollow" target="_blank">Формат media_url</a>: форматы адресации контента по разным протоколам (http, rtp, nfs, sambа и так далее)</li>
<li><a href="http://files.dune-hd.com/partners/sdk/dune_media_playback_howto.txt" rel="nofollow" target="_blank">Запуск воспроизведения контента</a>: способы запуска воспроизведения контента</li>
<li><a href="http://dune-hd.com/firmware/skins/" rel="nofollow" target="_blank">Настройка оформления (скины)</a>: описывает требования к собственным скинам, т.е. размеры изображений и фона, набор и имена папок для хранения ресурсов скина и т.д..;</li>
<li><a href="http://dune-hd.com/firmware/ip_control/dune_ip_control_overview.txt" rel="nofollow" target="_blank">Программное взаимодействие (HTTP API)</a>: позволяет с помощью HTTP-запросов запустить или остановить на Dune воспроизведение файла, получить статус устройства и даже эмулировать нажатие кнопки на пульте (дистанционного управления);</li>
<li><a href="http://files.dune-hd.com/partners/sdk/dvb.txt" rel="nofollow" target="_blank">SDK для работы с цифровыми потоками DVB-S, DVB-C, DVB-T( и DVB-T2)</a>, формат media_url для каналов dvb;</li>
<li><a href="http://files.dune-hd.com/partners/sdk/dune_devel_info.txt" rel="nofollow" target="_blank">Активация доступа по Telnet и SSH</a> и другая информация для разработчиков;</li>
<li><a href="http://files.dune-hd.com/partners/sdk/firmware_upgrade_error_codes.txt" rel="nofollow" target="_blank">Коды ошибок при обновлении прошивки</a>;</li>
<li><a href="http://dune-hd.com/firmware/" rel="nofollow" target="_blank">Куча полезной информации для разработчика</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-14471609541856667552014-11-07T02:02:00.000-08:002014-11-07T02:02:15.288-08:00SIP: RFC 7403 и SIP Traceroute<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ9hlabG7a9SJXeqiD2YlN-9fcbysXw9WG98-eojajP2WDxfcrt_UcNW9iMXGJdB7dXI9o3j4ZTNjA8qz464VwsFvQJUgV16uwGX2CA5j5odR75AMlMw8urU0xou7rMqVUx1DYOyleVau7/s1600/tracertb.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ9hlabG7a9SJXeqiD2YlN-9fcbysXw9WG98-eojajP2WDxfcrt_UcNW9iMXGJdB7dXI9o3j4ZTNjA8qz464VwsFvQJUgV16uwGX2CA5j5odR75AMlMw8urU0xou7rMqVUx1DYOyleVau7/s1600/tracertb.png" height="200" width="200" /></a></div>
В ноябре 2014 года набор стандартов, описывающих телефонию в интернет, получил новое расширение: RFC 7403 описывает механизм поиска пути прохождения голосового потока от адресата к адресату. Предполагается, что узлы, через которые проходит голос, при получении запроса с нулевым значением в заголовке <span style="white-space: pre-wrap;">Max-Forwards должны принимать соединение и включать голосовую петлю (RFC 6849). Таким образом, инициатор вызова, пошагово увеличивая значение в этом заголовке, протестировать качество связи на всех промежуточных узлах, передающих медиапоток. </span><br />
<span style="white-space: pre-wrap;"></span><br />
<a name='more'></a><br /><br />
<span style="white-space: pre-wrap;">Функция, несомненно, полезная, но есть несколько вопросов, которые ещё предстоит проработать, например: </span><span style="white-space: pre-wrap;">установка голосовой петли занимает ресурсы промежуточного узла и сети. Это даёт соблазнительные возможности для атак типа DoS. В документе этот момент описан, но однозначного решения пока нет. Кроме того, эта функция будет работать только в случае, если промежуточные узлы будут поддерживать новый стандарт, а это дело небыстрое обычно.</span><br />
<span style="white-space: pre-wrap;"><br /></span>
<span style="white-space: pre-wrap;">Ссылки по теме:</span><br />
<ul style="text-align: left;">
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7403.txt" rel="nofollow" target="_blank">RFC 7403</a></span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc6849.txt" rel="nofollow" target="_blank">RFC 6849</a></span></li>
<li><span style="white-space: pre-wrap;"><a href="http://blog.asmadews.ru/2009/07/rfc-sip.html" target="_blank">Список всех RFC для специалиста по VoIP</a></span></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-15123770314898531372014-11-05T01:55:00.002-08:002014-11-05T01:55:39.725-08:00Graphite: отправка данных из Yandex-Танк<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0N6sN9oq1JZvKTKJpWWtt6A5dodydXyY-_RurDpZF3-FepOI4Ll80JaCaqCcRuJ8cQszDV0kMU1B6wbuZyUFVOe8w-kkRAUPCzG_nZU6xhphq2FLifk6yXJhefpOfHhfSjYJEznWFjqZs/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0+2014-11-05+%D0%B2+12.45.47.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0N6sN9oq1JZvKTKJpWWtt6A5dodydXyY-_RurDpZF3-FepOI4Ll80JaCaqCcRuJ8cQszDV0kMU1B6wbuZyUFVOe8w-kkRAUPCzG_nZU6xhphq2FLifk6yXJhefpOfHhfSjYJEznWFjqZs/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0+2014-11-05+%D0%B2+12.45.47.png" /></a></div>
Продолжаю коллекционировать интересные штуки про Graphite: вот например, опенсорсная утилита для автоматизированного нагрузочного тестирования Yandex-Tank, разработка программистов Yandex, как можно догадаться из названия, построен на Фантоме. С некоторых пор и в Яндекс-Танке появилась поддержка Graphite. Конфигурационный файл выгрузки позволяет настроить разные префиксы метрик для тестируемых серверов. Подробности по ссылкам внизу статьи. Ну и, чтобы два раза не вставать, немного про, собственно, Яндекс-Танк (вольный перевод Readme.md с гитхаба проекта и немного отсебятины):<br />
<br />
<a name='more'></a><br />
Yandex.Tank это расширяемая утилита с открытым исходным кодом (open-source) для продвинутых пользователей, предназначенная для автоматического нагрузочного тестирования.<br />
Поддерживает несколько типов генераторов нагрузки:<br />
<br />
<ul style="text-align: left;">
<li>Phantom (очень быстрый (100 000+ RPS) менеджер запросов ввода-вывода, написанный на C++ ( по умолчанию )</li>
<li>Apache JMeter, инструмент для проведения нагрузочного тестирования</li>
<li>BFG, -экспериментальный генератор, написанный на Python. Позволяет добавлять собственные функции </li>
</ul>
<br />
Другие функции:<br />
<br />
<ul style="text-align: left;">
<li>Позволяет выводить настраиваемые отчёты HTML, отрисовывает графику на базе highcharts ( библиотека на javascript для отображения интерактивных графиков )</li>
<li>Поддерживает несколько видов снарядов ( типов входных данных ), например простой текстовый список url или даже файл access.log</li>
<li>Настраиваемая автоматическая остановка теста при сбое тестируемой системы или выходе каких-либо параметров ответа сервера за допустимые значения</li>
<li>Настраиваемый и расширяемый мониторинг, в том числе при работе через SSH</li>
</ul>
<div>
Ссылки по теме:</div>
<br />
<ul style="text-align: left;">
<li><a href="https://tech.yandex.ru/tank/" rel="nofollow" target="_blank">Яндекс-Танк: описание технологии </a></li>
<li><a href="https://github.com/yandex/yandex-tank" rel="nofollow" target="_blank">Yandex-Tank: страница проекта на GitHub</a></li>
<li><a href="https://github.com/mamchits/phantom" rel="nofollow" target="_blank">Phantom: страница проекта на GitHub</a></li>
<li><a href="https://jmeter.apache.org/" rel="nofollow" target="_blank">Apache Jmeter: домашняя страница</a></li>
<li><a href="https://yandextank.readthedocs.org/en/latest/index.html" rel="nofollow" target="_blank">Yandex-Tank: Документация на readthedocs</a></li>
<li><a href="https://yandextank.readthedocs.org/en/latest/configuration.html#graphite" rel="nofollow" target="_blank">Yandex-Tank: Документация: Настройка выгрузки в Graphite</a></li>
<li><a href="http://www.highcharts.com/" rel="nofollow" target="_blank">Highcharts: домашняя страница</a></li>
<li><a href="https://github.com/highslide-software/highcharts.com/" rel="nofollow" target="_blank">Highcharts: страница проекта на GItHub</a></li>
<li><a href="http://clubs.ya.ru/yandex-tank/" rel="nofollow" target="_blank">Клуб Яндекс-Танка</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0Москва, Россия55.743347023896547 37.6254272460937555.671833023896546 37.464065746093752 55.814861023896547 37.786788746093748tag:blogger.com,1999:blog-5012999060949156086.post-65002388170351399932014-10-07T03:15:00.000-07:002015-04-07T12:16:49.278-07:00Все SIP RFC<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div>
<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEBdG46mi7kvz2nnkeChyLEGYoqaCXBupx8DW1wJVZGVpGzctrL6IQVIo9sX6szcKjOpHwFb2NjQJstfVCh-14iaNReYKRBesSyzkm7osBebx7njiDVynTchc55kF6JDtJKzj0qJh9n8v6/s1600/ietflogotrans.png" /></div>
<br />
<br />
Ниже обновляемый список RFC, описывающих протокол SIP и его все его дополнения. Последнее обновление выполнено 06.02.2015 г. Кроме этого списка, поиск документа по конкретной теме начать можно с <a href="http://tools.ietf.org/rfc/rfc5411.txt" rel="nofollow" target="_blank">RFC 5411</a> (на английском языке), там есть почти полный список с разбивкой на категории и темы по состоянию на 2009 год.<br />
Список длинный, разбит по годам появления документов:<br />
<div style="clear: both;">
</div>
</div>
<a name='more'></a><br />
<br />
<h2 style="text-align: left;">
2001 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc2543.txt" rel="nofollow" target="_blank">RFC 2543</a>: Первоначальное описание SIP/2.0</li>
<li><a href="http://tools.ietf.org/rfc/rfc2848.txt" rel="nofollow" target="_blank">RFC 2848</a>: Сервисный протокол PINT(<span style="font-size: 1em;"><span style="font-size: 1em; white-space: pre-wrap;"><span style="white-space: normal;">PSTN/Internet Interworking): Расширения SIP и SDP для IP-доступа к сервисам телефонных вызовов</span></span></span></li>
<li><a href="http://tools.ietf.org/rfc/rfc2976.txt" rel="nofollow" target="_blank">RFC 2976</a>: передача информации, не изменяющей состояние сессии (метод INFO)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3050.txt" rel="nofollow" target="_blank">RFC 3050</a>: CGI (Common Gateway Interface) для SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3087.txt" rel="nofollow" target="_blank">RFC 3087</a>: Управление сервисом SIP с использованием Request-URI</li>
</ul>
<h2 style="text-align: left;">
2002 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc3261.txt" rel="nofollow" target="_blank">RFC 3261</a>: Уточнения SIP/2.0. Заменяет RFC 2543. </li>
<li><a href="http://tools.ietf.org/rfc/rfc3262.txt" rel="nofollow" target="_blank">RFC 3262</a>: Расширение протокола SIP: метод Provisional Response ACKnowledgement (PRACK) и тэг 100rel. Также заменяет RFC 2543.</li>
<li><a href="http://tools.ietf.org/rfc/rfc3263.txt" rel="nofollow" target="_blank">RFC 3263</a>: поиск SIP серверов с помощью DNS (<a href="http://blog.asmadews.ru/2009/07/dns-srv.html" target="_blank" title="записи SRV для SIP">записи SRV</a>). Также заменяет RFC 2543.</li>
<li><a href="http://tools.ietf.org/rfc/rfc3264.txt" rel="nofollow" target="_blank">RFC 3264</a>: согласование SDP в SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3265.txt" rel="nofollow" target="_blank">RFC 3265</a>: подписка на получение уведомлений о событии (методы SUBSCRIBE и NOTIFY)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3311.txt" rel="nofollow" target="_balnk">RFC 3311</a>: Обновление сессии без изменения диалога (метод UPDATE)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3312.txt" rel="nofollow" target="_blank">RFC 3312</a>: Интеграция управления ресурсами SDP в SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3313.txt" rel="nofollow" target="_blank">RFC 3313</a>: Авторизация медиапотоков (заголовок P-Media-Authorization и P-Media-Authorization-Token)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3319.txt" rel="nofollow" target="_blank">RFC 3319</a>: Опции DHCPv6 для серверов SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3323.txt" rel="nofollow" target="_blank">RFC 3323</a>: Приватность в SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3325.txt" rel="nofollow" target="_blank">RFC 3325</a>: Расширения SIP для работы в доверенной сети (P-Asserted-Identity, P-Preferred-Identity)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3326.txt" rel="nofollow" target="_blank">RFC 3326</a>: Заголовок Reason и ITU-T Q.850</li>
<li><a href="http://tools.ietf.org/rfc/rfc3327.txt" rel="nofollow" target="_blank">RFC 3327</a>: Заголовок Path в REGISTER</li>
<li><a href="http://tools.ietf.org/rfc/rfc3329.txt" rel="nofollow" target="_blank">RFC 3329</a>: Соглашения о безопасности, заголовки Security-Client, Security-Server и Security-Server</li>
<li><a href="http://tools.ietf.org/rfc/rfc3351.txt" rel="nofollow" target="_blank">RFC 3351</a>: SIP для людей с ограниченными возможностями</li>
<li><a href="http://tools.ietf.org/rfc/rfc3361.txt" rel="nofollow" target="_blank">RFC 3361</a>: Опции DHCP (IPv4) для SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3372.txt" rel="nofollow" target="_blank">RFC 3372</a>: SIP-T, интерконнект ISUP - SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3398.txt" rel="nofollow" target="_blank">RFC 3398</a>: Cопоставление параметров ISUP и SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3420.txt" rel="nofollow" target="_blank">RFC 3420</a>: Фрагментирование сообщений и MIME message/sipfrag</li>
<li><a href="http://tools.ietf.org/rfc/rfc3420.txt" rel="nofollow" target="_blank">RFC 3427</a>: Стандарты и соглашения в рабочей группе IETF</li>
<li><a href="http://tools.ietf.org/rfc/rfc3428.txt" rel="nofollow" target="_blank">RFC 3428</a>: Расширение SIP для передачи мгновенных сообщений (Instant Messaging) и метод MESSAGE</li>
</ul>
<h2 style="text-align: left;">
2003 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc3455.txt" rel="nofollow" target="_blank">RFC 3455</a>: Заголовки расширения P-Header для 3GPP (устарел, заменён на <a href="http://www.rfc-editor.org/rfc/rfc7315.txt" rel="nofollow" target="_blank">RFC 7315</a>) </li>
<li><a href="http://tools.ietf.org/rfc/rfc3485.txt" rel="nofollow" target="_blank">RFC 3485</a>: Компрессия сообщений с помощью статического словаря</li>
<li><a href="http://tools.ietf.org/rfc/rfc3486.txt" rel="nofollow" target="_blank">RFC 3486</a>: Сценарии и реализация сжатия (comp=sigcomp)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3487.txt" rel="nofollow" target="_blank">RFC 3487</a>: Требования и приоритезация для SIP</li>
<li><a href="http://tools.ietf.org/rfc/rfc3515.txt" rel="nofollow" target="_blank">RFC 3515</a>: метод REFER</li>
<li><a href="http://tools.ietf.org/rfc/rfc3578.txt" rel="nofollow" target="_blank">RFC 3578</a>: Cопоставление параметров SIP и ISUP в режиме с перекрытием (Overlap Signalling)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3581.txt" rel="nofollow" target="_blank">RFC 3581</a>: Определение параметра rport заголовка Via;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3603.txt" rel="nofollow" target="_blank">RFC 3603</a>: Доверенный обмен Proxy-2-Proxy, заголовки P-DCS-TRACE-PARTY-ID, P-DCS-OSPS, P-DCS-BILLING-INFO, P-DCS-LAES и P-DCS-REDIRECT;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3608.txt" rel="nofollow" target="_blank">RFC 3608</a>: Определение точки подключения на этапе регистрации, заголовок Service-Route;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3665.txt" rel="nofollow" target="_blank">RFC 3665</a>: Примеры сигнального обмена SIP (Call Flow);</li>
<li><a href="http://tools.ietf.org/rfc/rfc3666.txt" rel="nofollow" target="_blank">RFC 3666</a>: Примеры сигнального обмена SIP с PSTN;</li>
</ul>
<h2 style="text-align: left;">
2004 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc3680.txt" rel="nofollow" target="_blank">RFC 3680</a>: Подписка на события, методы SUBSCRIBE и NOTIFY, URN urn:ietf:params:xml:ns:reginfo;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3702.txt" rel="nofollow" target="_blank">RFC 3702</a>: Аутентификация, авторизация и аккаунтинг в SIP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3725.txt" rel="nofollow" target="_blank">RFC 3725</a>: Вызовы, управляемые третьей стороной (3pcc); </li>
<li><a href="http://tools.ietf.org/rfc/rfc3764.txt" rel="nofollow" target="_blank">RFC 3764</a>: Использование ENUM;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3824.txt" rel="nofollow" target="_blank">RFC 3824</a>: Использование номеров E.164;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3840.txt" rel="nofollow" target="_blank">RFC 3840</a>: Возможности клиента, передаваемые в заголовке Contact;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3841.txt" rel="nofollow" target="_blank">RFC 3841</a>: Настройка обработки запроса на сервере с помощью заголовков Accept-Contact, Reject-Contact, and Request-Disposition</li>
<li><a href="http://tools.ietf.org/rfc/rfc3842.txt" rel="nofollow" target="_blank">RFC 3842</a>: Уведомление о событиях (MWI);</li>
<li><a href="http://tools.ietf.org/rfc/rfc3853.txt" rel="nofollow" target="_blank">RFC 3853</a>: Использование AES S/MIME;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3856.txt" rel="nofollow" target="_blank">RFC 3856</a>: Статусы присутствия (Presence)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3857.txt" rel="nofollow" target="_blank">RFC 3857</a>: Подписка на события других пользователей (presence.winfo);</li>
<li><a href="http://tools.ietf.org/rfc/rfc3891.txt" rel="nofollow" target="_blank">RFC 3891</a>: Смена диалога: перевод или перехват вызова, заголовок Replaces и опция replaces в заголовках Require/Supported;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3892.txt" rel="nofollow" target="_blank">RFC 3892</a>: Информация о переадресации вызова с помощью заголовка Referred-By;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3893.txt" rel="nofollow" target="_blank">RFC 3893</a>: S/MIME подпись сообщений (Authenticated Identity Body, AIB)</li>
<li><a href="http://tools.ietf.org/rfc/rfc3903.txt" rel="nofollow" target="_blank">RFC 3903</a>: Публикация события на сервере (метод PUBLISH);</li>
<li><a href="http://tools.ietf.org/rfc/rfc3911.txt" rel="nofollow" target="_blank">RFC 3911</a>: Объединение вызовов;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3959.txt" rel="nofollow" target="_blank">RFC 3959</a>: Медиапоток в предответном состоянии (Early Session);</li>
<li><a href="http://tools.ietf.org/rfc/rfc3960.txt" rel="nofollow" target="_blank">RFC 3960</a>: Генерация КПВ в SIP в предответном состоянии;</li>
<li><a href="http://tools.ietf.org/rfc/rfc3968.txt" rel="nofollow" target="_blank">RFC 3968</a>: Справочник по всем заголовкам SIP (реестр наименований и ссылок на определения);</li>
<li><a href="http://tools.ietf.org/rfc/rfc3969.txt" rel="nofollow" target="_blank">RFC 3969</a>: Справочник по всем параметрам URI (IANA Registry);</li>
</ul>
<h2 style="text-align: left;">
2005 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc3976.txt" rel="nofollow" target="_blank">RFC 3976</a>: Умные приложения (IN) и взаимодействие с INAP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4028.txt" rel="nofollow" target="_blank">RFC 4028</a>: Таймеры сессий SIP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4032.txt" rel="nofollow" target="_blank">RFC 4032</a>: Переключение медиапотоков (дополнение к RFC 3312);</li>
<li><a href="http://tools.ietf.org/rfc/rfc4083.txt" rel="nofollow" target="_blank">RFC 4083</a>: Добавление требований 3GPP Release 5;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4092.txt" rel="nofollow" target="_blank">RFC 4092</a>: Использование альтернативной семантики ANAT (Alternative Network Address Types) в SDP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4117.txt" rel="nofollow" target="_blank">RFC 4117</a>: Вызов функций транскодирования с использованием 3pcc;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4123.txt" rel="nofollow" target="_blank">RFC 4123</a>: Требования к взаимодействию SIP-H.323;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4168.txt" rel="nofollow" target="_blank">RFC 4168</a>: Использование SCTP в качестве транспорта SIP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4189.txt" rel="nofollow" target="_blank">RFC 4189</a>: Требования к безопасности на участке клиент и посредники (End-to-Middle Security)</li>
<li><a href="http://tools.ietf.org/rfc/rfc4235.txt" rel="nofollow" target="_blank">RFC 4235</a>: Пакет событий, инициируемых по INVITE (An INVITE-Initiated Dialog Event Package for the Session Initiation Protocol (SIP))</li>
<li><a href="http://tools.ietf.org/rfc/rfc4240.txt" rel="nofollow" target="_blank">RFC 4240</a>: Реализация базовых голосовых сервисов;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4244.txt" rel="nofollow" target="_blank">RFC 4244</a>: Запрос истории вызова и заголовок History-Info;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4245.txt" rel="nofollow" target="_blank">RFC 4245</a>: Требования к реализации конференций;</li>
</ul>
<h2 style="text-align: left;">
2006 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc4320.txt" rel="nofollow" target="_blank">RFC 4320</a>: Работа SIP не в режиме вызова (non-Invite Actions);</li>
<li><a href="http://tools.ietf.org/rfc/rfc4321.txt" rel="nofollow" target="_blank">RFC 4321</a>: Проблемы работы не в режиме вызова;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4353.txt" rel="nofollow" target="_blank">RFC 4353</a>: Архитектура конференц-связи;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4354.txt" rel="nofollow" target="_blank">RFC 4354</a>: Поддержка Push-to-Talk over Cellular (PoC) в SIP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4411.txt" rel="nofollow" target="_blank">RFC 4411</a>: Значения Q.850 заголовка Reason для индикации событий приоритета;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4412.txt" rel="nofollow" target="_blank">RFC 4412</a>: Приоритезация ресурсов, заголовки Resource-Priority и Accept-Resource-Priority;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4453.txt" rel="nofollow" target="_blank">RFC 4453</a>: Согласование допустимых типов взаимодействий;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4457.txt" rel="nofollow" target="_blank">RFC 4457</a>: Адрес сервера профилей, заголовок P-User-Database;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4458.txt" rel="nofollow" target="_blank">RFC 4458</a>: Адресация голосовых сервисов (Voicemail, IVR и т.д.);</li>
<li><a href="http://tools.ietf.org/rfc/rfc4474.txt" rel="nofollow" target="_blank">RFC 4474</a>: Безопасная идентификация инициатора взаимодействия, с помощью заголовков Identity и Identity-Info;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4475.txt" rel="nofollow" target="_blank">RFC 4475</a>: Набор некорректных SIP-сообщений для тестирования реализаций протокола;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4483.txt" rel="nofollow" target="_blank">RFC 4483</a>: Передача данных по ссылке;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4484.txt" rel="nofollow" target="_blank">RFC 4484</a>: Авторизация персонифицированного доступа к ресурсам (Trait-Based Authorization);</li>
<li><a href="http://tools.ietf.org/rfc/rfc4485.txt" rel="nofollow" target="_blank">RFC 4485</a>: Соглашения для разработки расширений протокола;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4488.txt" rel="nofollow" target="_blank">RFC 4488</a>: Подавление нежелательных подписок при переадресации, опция norefersub;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4497.txt" rel="nofollow" target="_blank">RFC 4497</a>: Взаимодействие с QSIG;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4504.txt" rel="nofollow" target="_blank">RFC 4504</a>: Требования к устройствам и программным клиентам;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4508.txt" rel="nofollow" target="_blank">RFC 4508</a>: Передача информации о поддерживаемых функциях при переадресации;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4538.txt" rel="nofollow" target="_blank">RFC 4538</a>: Адресация диалогов;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4575.txt" rel="nofollow" target="_blank">RFC 4575</a>: Набор событий для индикации статусов конференций;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4579.txt" rel="nofollow" target="_blank">RFC 4579</a>: Управление конференциями для UA;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4596.txt" rel="nofollow" target="_blank">RFC 4596</a>: Соглашения по использованию предпочтений UA;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4662.txt" rel="nofollow" target="_blank">RFC 4662</a>: Список событий в SIP (SUBSCRIBE, NOTIFY, Presence), подписка на списки ресурсов;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4596.txt" rel="nofollow" target="_blank">RFC 4730</a>: Поддержка DTMF с помощью набора событий kpml;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4740.txt" rel="nofollow" target="_blank">RFC 4740</a>: Приложение Diameter;</li>
</ul>
<h2 style="text-align: left;">
2007 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc4780.txt" rel="nofollow" target="_blank">RFC 4780</a>: SIP SNMP MIB;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4904.txt" rel="nofollow" target="_blank">RFC 4904</a>: Отображение транковых групп в SIP URI;</li>
<li><a href="http://tools.ietf.org/rfc/rfc4916.txt" rel="nofollow" target="_blank">RFC 4916</a>: Идентификация удалённого соединения, использование метода UPDATE;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5002.txt" rel="nofollow" target="_blank">RFC 5002</a>: Заголовок 3GPP P-Profile-Key;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5009.txt" rel="nofollow" target="_blank">RFC 5009</a>: Авторизаwия медиапотоков в предответном состоянии;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5039.txt" rel="nofollow" target="_blank">RFC 5039</a>: Меры по защите от спама;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5049.txt" rel="nofollow" target="_blank">RFC 5049</a>: Сжатие сигнальных сообщений SigComp;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5079.txt" rel="nofollow" target="_blank">RFC 5079</a>: Запрет анонимных запросов;</li>
</ul>
<h2 style="text-align: left;">
2008 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc5118.txt" rel="nofollow" target="_blank">RFC 5118</a>: Набор SIP-сообщений для тестирования IPv6 реализаций протокола;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5194.txt" rel="nofollow" target="_blank">RFC 5194</a>: Реализация Text-Over-IP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5196.txt" rel="nofollow" target="_blank">RFC 5196</a>: Формат данных PIDF в SIP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5263.txt" rel="nofollow" target="_blank">RFC 5263</a>: Частичная нотификация;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5318.txt" rel="nofollow" target="_blank">RFC 5318</a>: Заголовок P-Refused-URI-List для OMA PoC;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5360.txt" rel="nofollow" target="_blank">RFC 5360</a>: Согласование допустимых типов взаимодействий;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5362.txt" rel="nofollow" target="_blank">RFC 5362</a>: Опережающая подписка на ещё не существующие ресурсы;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5363.txt" rel="nofollow" target="_blank">RFC 5363</a>: Соглашения по использованию списков URI;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5365.txt" rel="nofollow" target="_blank">RFC 5365</a>: Доставка сообщений нескольким получателям;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5366.txt" rel="nofollow" target="_blank">RFC 5366</a>: Инициация конференции с помощью списков URI участников; </li>
<li><a href="http://tools.ietf.org/rfc/rfc5367.txt" rel="nofollow" target="_blank">RFC 5367</a>: Подписка на список ресурсов;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5368.txt" rel="nofollow" target="_blank">RFC 5368</a>: Переадресация на несколько ресурсов с помощью заголовка Refer-To и тэга multiple-refer;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5369.txt" rel="nofollow" target="_blank">RFC 5369</a>: Транскодирование: общие сведения;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5370.txt" rel="nofollow" target="_blank">RFC 5370</a>: Транскодирование в конференциях;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5373.txt" rel="nofollow" target="_blank">RFC 5373</a>: Режим автоответа, заголовки Answer-Mode и Priv-Answer-Mode;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5379.txt" rel="nofollow" target="_blank">RFC 5379</a>: Использование механизмов приватности;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5393.txt" rel="nofollow" target="_blank">RFC 5393</a>: Предотвращение петель при проксировании запросов;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5407.txt" rel="nofollow" target="_blank">RFC 5407</a>: Примеры диаграмм обмена в состоянии гонки (race conditions);</li>
</ul>
<h2 style="text-align: left;">
2009 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc5411.txt" rel="nofollow" target="_blank">RFC 5411</a>: Путеводитель по SIP RFC;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5478.txt" rel="nofollow" target="_blank">RFC 5478</a>: Расширение пространства имён Resource-Priority в соответствии с требованиями Управления информационного обеспечения министерства обороны<span style="background-color: white; color: #252525; font-family: sans-serif; font-size: 14.399999618530273px; line-height: 21px; white-space: normal;"> США (US Defense Information Systems Agency, DISA);</span></li>
<li><a href="http://tools.ietf.org/rfc/rfc5502.txt" rel="nofollow" target="_blank">RFC 5502</a>: Заголовок P-Served-User для идентифкации пользователя в 3GPP между S-CSCF и AS</li>
<li><a href="http://tools.ietf.org/rfc/rfc5503.txt" rel="nofollow" target="_blank">RFC 5503</a>: Доверенный обмен Proxy-2-Proxy, заголовки P-DCS-TRACE-PARTY-ID, P-DCS-OSPS, P-DCS-BILLING-INFO, P-DCS-LAES и P-DCS-REDIRECT (замена RFC 3306);</li>
<li><a href="http://tools.ietf.org/rfc/rfc5509.txt" rel="nofollow" target="_blank">RFC 5509</a>: Записи DNS SRV _im._sip и _pres._sip для поддержки сервисов обмена сообщениями и статусами присутствия;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5552.txt" rel="nofollow" target="_blank">RFC 5552</a>: Cервис VoiceXML;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5589.txt" rel="nofollow" target="_blank">RFC 5589</a>: Управление вызовов: переадресация;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5606.txt" rel="nofollow" target="_blank">RFC 5606</a>: Применение 'retransmission-allowed', маршрутизация в зависимости от геопозиционирования;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5621.txt" rel="nofollow" target="_blank">RFC 5621</a>: Обработка тела сообщения;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5626.txt" rel="nofollow" target="_blank">RFC 5626</a>: Прохождение NAT (Nat Traversal);</li>
<li><a href="http://tools.ietf.org/rfc/rfc5627.txt" rel="nofollow" target="_blank">RFC 5627</a>: Получение и использование GRUU (Globally Routable User Agent URI);</li>
<li><a href="http://tools.ietf.org/rfc/rfc5628.txt" rel="nofollow" target="_blank">RFC 5628</a>: Система событий (SUBSCRIBE/NOTIFY) применительно к GRUU;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5629.txt" rel="nofollow" target="_blank">RFC 5629</a>: Сигнальный обмен для взаимодействия с приложениями;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5630.txt" rel="nofollow" target="_blank">RFC 5630</a>: SIPS URI;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5631.txt" rel="nofollow" target="_blank">RFC 5631</a>: Переключение вызова между устройствами (Session Mobility);</li>
<li><a href="http://tools.ietf.org/rfc/rfc5638.txt" rel="nofollow" target="_blank">RFC 5638</a>: Упрощённый SIP (sip simple) для интернет и веб-приложений;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5658.txt" rel="nofollow" target="_blank">RFC 5658</a>: Вопросы использования Record-Route, техника двойных заголовков Record-Route;</li>
</ul>
<h2 style="text-align: left;">
2010 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc5688.txt" rel="nofollow" target="_blank">RFC 5688</a>: Индикация поддерживаемых типов взаимодействия, тэг sip.app-subtype;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5727.txt" rel="nofollow" target="_blank">RFC 5727</a>: Внедрение изменений в протокол для приложений реального времени и инфраструктурных решений;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5767.txt" rel="nofollow" target="_blank">RFC 5767</a>: Обеспечение приватности средствами UA, использование GRUU и TURN;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5768.txt" rel="nofollow" target="_blank">RFC 5768</a>: Индикация поддержки ICE;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5806.txt" rel="nofollow" target="_blank">RFC 5806</a>: Индикатор переадресации в SIP, заголовок Diversion;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5839.txt" rel="nofollow" target="_blank">RFC 5839</a>: Использование ETag и Suppress-If-Match;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5850.txt" rel="nofollow" target="_blank">RFC 5850</a>: Управление вызовом и многоточечные коммуникации, компоненты для построения приложений;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5853.txt" rel="nofollow" target="_blank">RFC 5853</a>: Функции SBC;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5876.txt" rel="nofollow" target="_blank">RFC 5876</a>: Дополненительные варианты использования P-Asserted-Identity и P-Preferred-Identity;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5897.txt" rel="nofollow" target="_blank">RFC 5897</a>: Идентификация сервиса и сопутствующая проблематика;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5922.txt" rel="nofollow" target="_blank">RFC 5922</a>: X.509 сертификаты, аутентификация, поле subjectAltName;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5923.txt" rel="nofollow" target="_blank">RFC 5923</a>: Переиспользование соединений;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5924.txt" rel="nofollow" target="_blank">RFC 5924</a>: Ограничение применимости сертификата, X.509 EKU;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5947.txt" rel="nofollow" target="_blank">RFC 5947</a>: Поддержка AOR на базе E.164;</li>
<li><a href="http://tools.ietf.org/rfc/rfc5989.txt" rel="nofollow" target="_blank">RFC 5989</a>: Подписка на изменения ресурсов HTTP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6011.txt" rel="nofollow" target="_blank">RFC 6011</a>: Автоматическая конфигурация UA;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6026.txt" rel="nofollow" target="_blank">RFC 6026</a>: Корректная обработка множественных ответов 2xx;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6044.txt" rel="nofollow" target="_blank">RFC 6044</a>: Совместное применение заголовков Diversion и History-Info;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6050.txt" rel="nofollow" target="_blank">RFC 6050</a>: Идентификация сервиса в доверенной среде, заголовок P-Asserted-Service;</li>
</ul>
<h2 style="text-align: left;">
2011 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc6072.txt" rel="nofollow" target="_blank">RFC 6072</a>: Сервис управления сертификатами;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6076.txt" rel="nofollow" target="_blank">RFC 6076</a>: Метрики и измерения качества и производительности;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6086.txt" rel="nofollow" target="_blank">RFC 6086</a>: Метод INFO;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6140.txt" rel="nofollow" target="_blank">RFC 6140</a>: Регистрация множественных AOR;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6141.txt" rel="nofollow" target="_blank">RFC 6141</a>: Re-INVITE;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6157.txt" rel="nofollow" target="_blank">RFC 6157</a>: Взаимодействие между IPv4 и IPv6;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6216.txt" rel="nofollow" target="_blank">RFC 6216</a>: Примеры сигнального обмена с использованием механизмов безопасности TLS и S/MIME;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6228.txt" rel="nofollow" target="_blank">RFC 6228</a>: Код ответа 199 Early Dialog Terminated;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6271.txt" rel="nofollow" target="_blank">RFC 6271</a>: SIP пиринг: требования и соглашения;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6314.txt" rel="nofollow" target="_blank">RFC 6314</a>: Рекомендации и способы прохождения NAT(Nat traversal);</li>
<li><a href="http://tools.ietf.org/rfc/rfc6337.txt" rel="nofollow" target="_blank">RFC 6337</a>: Cогласование SDP (сводное описание);</li>
<li><a href="http://tools.ietf.org/rfc/rfc6341.txt" rel="nofollow" target="_blank">RFC 6341</a>: Запись разговоров: сценарии использования и требования;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6357.txt" rel="nofollow" target="_blank">RFC 6357</a>: Перегрузка и недостаток ресурсов: обсуждение модели управления; </li>
<li><a href="http://tools.ietf.org/rfc/rfc6405.txt" rel="nofollow" target="_blank">RFC 6405</a>: Пиринг: сценарии и диаграммы обмена;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6432.txt" rel="nofollow" target="_blank">RFC 6432</a>: Коды Q.850 в ответах;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6446.txt" rel="nofollow" target="_blank">RFC 6446</a>: Управление потоком уведомлений NOTIFY, параметры max-rate, min-rate и adaptive-min-rate;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6447.txt" rel="nofollow" target="_blank">RFC 6447</a>: События геопозиционирования: фильтрация уведомлений, PIDF-LO;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6461.txt" rel="nofollow" target="_blank">RFC 6461</a>: DRINKS: сценарии и требования;</li>
</ul>
<h2 style="text-align: left;">
2012 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc6468.txt" rel="nofollow" target="_blank">RFC 6468</a>: Sieve: передача уведомлений в методе MESSAGE;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6567.txt" rel="nofollow" target="_blank">RFC 6567</a>: Транспорт для передачи информации об управлении вызовом (UUI);</li>
<li><a href="http://tools.ietf.org/rfc/rfc6665.txt" rel="nofollow" target="_blank">RFC 6665</a>: Уведомления о событиях: обобщение опыта;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6794.txt" rel="nofollow" target="_blank">RFC 6794</a>: Политики сессий;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6795.txt" rel="nofollow" target="_blank">RFC 6795</a>: События на уровне политики сессий;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6809.txt" rel="nofollow" target="_blank">RFC 6809</a>: Заголовок Feature-Caps; </li>
</ul>
<h2 style="text-align: left;">
2013 год</h2>
<ul>
<li><a href="http://www.rfc-editor.org/rfc/rfc6849.txt" name="rfc6849" rel="nofollow" target="_blank">RFC 6849</a>: Расширение SDP: Кольцевая проверка (Loopback) в RTP</li>
<li><a href="http://tools.ietf.org/rfc/rfc6872.txt" rel="nofollow" target="_blank">RFC 6872</a>: Модель журналирования (Common Log Format, CLF) и CDR;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6873.txt" rel="nofollow" target="_blank">RFC 6873</a>: Стандартный формат журналирования CLF;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6878.txt" rel="nofollow" target="_blank">RFC 6878</a>: Стандартизация значений заголовка Priority;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6910.txt" rel="nofollow" target="_blank">RFC 6910</a>: Набор событий call-completion, завершение вызова и MIME application/call-completion;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6913.txt" rel="nofollow" target="_blank">RFC 6913</a>: Поддержка Fax over IP, параметр sip.fax;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6914.txt" rel="nofollow" target="_blank">RFC 6914</a>: Спецификации SIP SIMPLE;</li>
<li><a href="http://tools.ietf.org/rfc/rfc6993.txt" rel="nofollow" target="_blank">RFC 6993</a>: purpose=impp в заголовке Call-Info, окончания CUSAX, XMPP XEP-0152 и комбинированное использование XMPP+SIP;</li>
<li><a href="http://tools.ietf.org/rfc/rfc7044.txt" rel="nofollow" target="_blank">RFC 7044</a>: Заголовок History-Info, замена RFC 4244;</li>
<li><a href="http://tools.ietf.org/rfc/rfc7081.txt" rel="nofollow" target="_blank">RFC 7081</a>: Стратегии совместного использования SIP и XMPP, CUSAX;</li>
<li><a href="http://tools.ietf.org/rfc/rfc7092.txt" rel="nofollow" target="_blank">RFC 7092</a>: Роли узлов и аббревиатуры;</li>
</ul>
<h2 style="text-align: left;">
2014 год</h2>
<ul>
<li><a href="http://tools.ietf.org/rfc/rfc7106.txt" rel="nofollow" target="_blank">RFC 7106</a>: Цель конференции purpose=grouptextchat;</li>
<li><a href="http://tools.ietf.org/rfc/rfc7118.txt" rel="nofollow" target="_blank">RFC 7118</a>: WebSocket в качестве транспорта (см. также RFC 7355 ниже);</li>
<li><a href="http://tools.ietf.org/rfc/rfc7131.txt" rel="nofollow" target="_blank">RFC 7131</a>: Примеры сигнального обмена с использованием History-Info;</li>
<li><a href="http://tools.ietf.org/rfc/rfc7135.txt" rel="nofollow" target="_blank">RFC 7135</a>: Пространство имён Resource-Priority: esnet.x для экстренных служб; </li>
<li><a href="http://tools.ietf.org/rfc/rfc7200.txt" rel="nofollow" target="_blank">RFC 7200</a>: Набор событий управления ресурсами, MIME application/load-control+xml</li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7245.txt" rel="nofollow" target="_blank">RFC 7245</a>: Архитектура для реализации записи разговоров;</li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7247.txt" rel="nofollow" target="_blank">RFC 7247</a>: Взаимодействие SIP и XMPP: архитектура, адресация и обработка ошибок;</li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7248.txt" rel="nofollow" target="_blank">RFC 7248</a>: Взаимодействие SIP и XMPP: статусы присутствия (presence);</li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7315.txt" rel="nofollow" target="_blank">RFC 7315</a>: Расширения в заголовке P-Header для 3GPP (замена RFC 3455);</li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7316.txt" rel="nofollow" target="_blank">RFC 7316</a>: Заголовок <span style="white-space: pre-wrap;">P-Private-Network-Indication;</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7329.txt" rel="nofollow" target="_blank">RFC 7329</a>: Заголовок Session-ID: сквозной идентификатор сессии для SIP;</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7332.txt" rel="nofollow" target="_blank">RFC 7332</a>: Выявление петель на уровне B2BUA;</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7339.txt" rel="nofollow" target="_blank">RFC 7339</a>: Управление перегрузками в SIP;</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7355.txt" rel="nofollow" target="_blank">RFC 7355</a>: Транспортный флаг WebSocket в записях</span> SIP CLF (дополняет RFC <span style="white-space: pre-wrap;">6873);</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7362.txt" rel="nofollow" target="_blank">RFC 7362</a>: HNT (Hosted NAT Traversal) для коммуникаций реального времени (в том числе SIP);</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7403.txt" name="rfc7403" rel="nofollow" target="_blank">RFC 7403</a>: Функция SIP traceroute, основанная на механизме media loopback (см. <a href="http://blog.asmadews.ru/2009/07/rfc-sip.html#rfc6849">описание RFC 6849</a>)</span></li>
</ul>
<h2 style="text-align: left;">
<span style="white-space: pre-wrap;">2015 год</span></h2>
<div style="text-align: left;">
<ul style="text-align: left;">
<li><a href="http://www.rfc-editor.org/rfc/rfc7415.txt" rel="nofollow" target="_blank">RFC 7415</a>: Алгоритмы управления перегрузкой (SIP Overload Control) в сетях NGN в протоколе SIP; параметры <span style="white-space: pre-wrap;">oc, </span><span style="white-space: pre-wrap;">oc-algo, </span><span style="white-space: pre-wrap;">oc-validity и </span><span style="white-space: pre-wrap;">oc-seq; </span></li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7433.txt" rel="nofollow" style="white-space: pre-wrap;" target="_blank">RFC 7433</a><span style="white-space: pre-wrap;">: Заголовок, тег и параметр адреса SIP UUI (User-to-User Information in SIP header, option tag and URI parameter) для передачи дополнительных данных во время вызова;</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7434.txt" rel="nofollow" target="_blank">RFC 7434</a>: Взаимодействие с</span> ISDN при использовании SIP UUI</li>
<li><a href="http://www.rfc-editor.org/rfc/rfc7462.txt" rel="nofollow" target="_blank">RFC 7462</a>: Стандартизация сигнальных тонов в заголовке <span style="white-space: pre-wrap;">Alert-Info и сценарии их применения;</span></li>
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/rfc7463.txt" rel="nofollow" target="_blank">RFC 7463</a>: Офисные расширения для SIP-телефонии: групповая нумерация, перехват вызова, удержание и перевод вызова и другие сценарии </span></li>
</ul>
</div>
<div>
<span style="white-space: pre-wrap;"><br />
</span></div>
<div>
<span style="white-space: pre-wrap;"><br />
</span></div>
UPD1: Первоначально этот список был в блоге на старом доменном имени spam.sended2.me, на него ссылалось некоторое количество сайтов. Правда, список изначально был сильно меньше.<br />
<br />
<ul></ul>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-54859828216617050912014-10-07T00:30:00.000-07:002014-10-07T00:30:01.421-07:00FreeBSD: CVS умер. Да здравствует SVN!<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUtVFuANHtzpdHjhPLRhU0SJewdnC4nDz_ejbG_zjmKUsFWHvub8dIXUXAS1W2AlrSFeLx113w04Dz4ja-XiXjnPEbqwEuvw2UoHyW5jasKXazCzJiFhaUMCnjx0CQB92BnB7-l2IoCp1e/s1600/freebsd.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUtVFuANHtzpdHjhPLRhU0SJewdnC4nDz_ejbG_zjmKUsFWHvub8dIXUXAS1W2AlrSFeLx113w04Dz4ja-XiXjnPEbqwEuvw2UoHyW5jasKXazCzJiFhaUMCnjx0CQB92BnB7-l2IoCp1e/s1600/freebsd.png" /></a></div>
В тот момент, когда все уже перешли на Git или Darcs, сообщество разработчиков FreeBSD решило, наконец распрощаться c CVS. И перейти на Subversion ака SVN. Репозитории с исходными кодами системы, доступные ранее с помощью CVSUp, больше не содержат ничего, кроме файла README.txt. По словам одного из разработчиков FreeBSD:<br />
<blockquote class="tr_bq">
CVSup has served us well, but it is time to move on </blockquote>
<blockquote class="tr_bq">
(CVSUp хорошо нам служил, но нужно двигаться дальше)</blockquote>
<br />
<a name='more'></a><br />
Ссылки по теме:<br />
<br />
<ul style="text-align: left;">
<li><a href="https://ru.wikipedia.org/wiki/Subversion" rel="nofollow" target="_blank">Описание Subversion в Википедии</a> (рус.)</li>
<li><a href="https://subversion.apache.org/" rel="nofollow" target="_blank">Домашняя страница SVN</a></li>
<li><a href="https://ru.wikipedia.org/wiki/Git" rel="nofollow" target="_blank">Описание Git в Википедии</a> (рус.)</li>
<li><a href="http://git-scm.com/" rel="nofollow" target="_blank">Домашняя страница Git</a></li>
<li><a href="https://ru.wikipedia.org/wiki/Darcs" rel="nofollow" target="_blank">Описание Darcs в Википедии </a>(рус.)</li>
<li><a href="http://darcs.net/" rel="nofollow" target="_blank">Домашняя страница Darcs</a></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-79736299740198840112014-08-19T04:41:00.000-07:002014-08-19T04:41:12.883-07:00IANA: Закрома полезняшек<div dir="ltr" style="text-align: left;" trbidi="on">
В очередной раз пополняя страницу про <a href="http://blog.asmadews.ru/2009/07/rfc-sip.html" target="_blank">rfc по сипу</a>, в потайном углу rfc-editor.org набрёл на коллекцию заботливо собранных редакторами MIB-файлов для различных систем. Сами редакторы пишут об этом так:<br />
<blockquote class="tr_bq">
<pre style="white-space: pre-wrap; word-wrap: break-word;">Эта папка содержит частные MIB-файлы, которые были собраны редакторами IANA и RFC в период между 1990 и 1996 годами. Мы не знаем, валидны они до сих пор или нет, поэтому условно считаем их историческими.
RFC Editor
4 сентября 2001</pre>
</blockquote>
<br />
<a name='more'></a><br /><br />
В коллекции MIB файлов для SNMP замечены такие малоизвестные сейчас штуки, как Proteon DNX300, IBM 6611, Xyplex-Boot-Server и много других раритетов.<br />
<br />
Ссылки по теме:<br />
<ul style="text-align: left;">
<li><span style="white-space: pre-wrap;"><a href="http://www.rfc-editor.org/rfc/mibs/" rel="nofollow" target="_blank">Коллекция MIB-файлов на rfc-editor.org</a></span></li>
</ul>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-8378714621451903012014-08-19T01:54:00.001-07:002014-08-19T01:54:05.258-07:00Python: склеивание строк на этапе компиляции<div dir="ltr" style="text-align: left;" trbidi="on">
В питоновской конференции на reddit.com один товарищ поделился интересной находкой:<br />
<br />
оказывается некоторые операции Python выполняет ещё до реального запуска кода (или загрузки модуля), т.е. на этапе компиляции модуля. Простой пример:<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #666666;">>>></span> <span style="color: #ba2121;">"a {0} "</span> <span style="color: #ba2121;">"c"</span><span style="color: #666666;">.</span>format(<span style="color: #ba2121;">"b"</span>)
<span style="color: #ba2121;">'a b c'</span>
<span style="color: #666666;">>>></span> <span style="color: #ba2121;">"a {0} "</span> <span style="color: #666666;">+</span> <span style="color: #ba2121;">"c"</span><span style="color: #666666;">.</span>format(<span style="color: #ba2121;">"b"</span>)
<span style="color: #ba2121;">'a {0} c'</span>
</pre>
</div>
<br />
Конкатенация строк, разделённых пробелами, выполняется на этапе лексического анализа, а операция сложения,- на этапе выполнения. <br />
<br />
Ссылки по теме:<br />
<br />
<ul style="text-align: left;">
<li><a href="http://www.reddit.com/r/Python/comments/2dy438/what_do_you_think_a_0_cformatb_compiles_to/" rel="nofollow" target="_blank">Исходное сообщение в конференции на reddit.com</a></li>
<li><a href="https://docs.python.org/2/library/string.html" rel="nofollow" target="_blank">Документация Python: операции со строками</a></li>
</ul>
<br />
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-11998417823481824232014-08-12T05:48:00.004-07:002014-08-12T05:48:53.599-07:00Pandoc: швейцарский нож для преобразования текста<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iHEnsI5aWyr56hoMGiLVH8re3_fziYAD_3R3UVAVb3O8K7vn6ymkOSIFQCxh-nBS8nIjv7POtFk2V-aaMU9Ta7a8mbHavwZCbs6qf96Su3lN3AVHEXRnFjPf3AU3Tgd5TZBFjIqRTIdJ/s1600/swiss-army-knife.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iHEnsI5aWyr56hoMGiLVH8re3_fziYAD_3R3UVAVb3O8K7vn6ymkOSIFQCxh-nBS8nIjv7POtFk2V-aaMU9Ta7a8mbHavwZCbs6qf96Su3lN3AVHEXRnFjPf3AU3Tgd5TZBFjIqRTIdJ/s1600/swiss-army-knife.jpg" height="200" width="169" /></a></div>
Не единожды при создании текстов (особенно технических документов) в Microsoft Word, да и в других WYSIWYG редакторах, ловил себя на том, что оформление документа отнимает внимание и не даёт полностью сосредоточиться. Постоянно хотелось разделить задачи написания содержания и оформления, но не было подходящего инструмента: хотелось чего-то очень простого и понятного, и чтобы не надо переключаться между клавиатурой и мышью, и чтобы ещё и не переучиваться, и чтобы всё работало быстро.<br />
<br /><br /><br /><a name='more'></a><div>
В большей части текстовых документов используется минимальный набор оформления текстовых блоков,- простой текст (абзац), заголовки разных уровней и списки. Для подобного форматирования можно пользоваться лёгкими форматами, типа wiki, а потом переводить получившийся текст в необходимый формат с помощью какой-то специальной утилиты.</div>
<div>
<br /></div>
<div>
И вот, наконец, нашлось простое и удобное решение: </div>
<div>
содержание можно создавать в простом текстовом редакторе, например Notepad++, используя при этом простейшую разметку markdown<span style="color: #252525;"> или </span>reStructuredText, а затем с помощью pandoc, содержание переводится в HTML, PDF или даже в Word docx.</div>
<div>
<br /></div>
<div>
Всего 4 простых шага, на примере разметки Markdown:<br />
<br />
<ol style="text-align: left;">
<li>Создаём текст:<br />
<code><br />
# Заголовок начинается с решётки<br />
<br />
Текст абзаца отделяется от заголовка и списка пустой строкой. Больше никаких правил нет.<br />
<br />
- элементы маркированного списка начинаются с чёрточки или звёздочки<br />* списки могут быть вложенными<br />
1. элементы нумерованного списка начинаются с цифры.<br />
3. цифры могут быть любыми<br />
2. markdown автоматически исправит нумерацию<br />
- список отделяется от абзаца пустой строкой<br />
</code><br />
</li>
<li>Сохраняем текстовый файл, в этом примере пусть будет <span style="font-family: monospace;">markdownexample.txt</span></li>
<li>Конвертируем в командной строке. Pandoc распознаёт исходный формат, ему нужно сказать только в какой тип преобразовать, например docx:<br />
<code><br />
pandoc markdownexample.txt -o markdownexample.docx<br />
</code><br />
</li>
<li>Получаем результат</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh25efV8819wAPunwZAC3LXoWRkJTgt-ELwxkJgglhJhsdh8JdNXeRAhCofc5KaciUgNhHpWHf3KFl_tbm8G0xUV33uIGqsPS1GW05e0FnLwA1E6JGppEneHUQbeOs2-igJK2Awla3BFbS2/s1600/Screen+Shot+2014-08-12+at+16.22.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh25efV8819wAPunwZAC3LXoWRkJTgt-ELwxkJgglhJhsdh8JdNXeRAhCofc5KaciUgNhHpWHf3KFl_tbm8G0xUV33uIGqsPS1GW05e0FnLwA1E6JGppEneHUQbeOs2-igJK2Awla3BFbS2/s1600/Screen+Shot+2014-08-12+at+16.22.56.png" /></a></div>
<div>
По опыту продолжительного иcпользования,- скорость создания и удобство работы с длинными по содержанию, но несложными по форматированию документами оказалась чуть-ли не в 2 раза выше, чем при работе с WYSIWYG. А кроме того,- набор правил разметки и в Markdown и в reStructuredText значительно больше, о правилах разметки можно прочитать по ссылкам ниже. Набор входных и выходных форматов Pandoc тоже шире, ссылки для интересующихся внизу.<br />
<br />
Ссылки по теме:<br />
<br />
<ul style="text-align: left;">
<li><a href="http://johnmacfarlane.net/pandoc/" rel="nofollow" target="_blank">Домашняя страница Pandoc</a></li>
<li>По этой ссылке можно <a href="https://github.com/jgm/pandoc/releases" rel="nofollow" target="_blank">скачать Pandoc</a></li>
<li><a href="https://ru.wikipedia.org/wiki/Pandoc" rel="nofollow" target="_blank">Wikipedia о Pandoc</a></li>
<li><a href="https://ru.wikipedia.org/wiki/Markdown" rel="nofollow" target="_blank">Wikipedia о формате Markdown</a></li>
</ul>
</div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5012999060949156086.post-13717574672862792152014-07-23T06:31:00.000-07:002014-07-22T21:36:55.644-07:00Web-технологии: O2C player<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwXAXGrqjZ3rKraWT7iZBwvIFeoeaVOeAQ5Owr1Qht_M0TdPcla2mdAKiLtOijXqgun4Ne1mTh1k2aUWX_xlAJaSPev3b1pWYSs88VGJx0nswqDm6zmPV3FiB2dCHhrqGvHKD2AymthXC8/s1600/o2c_cloud.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwXAXGrqjZ3rKraWT7iZBwvIFeoeaVOeAQ5Owr1Qht_M0TdPcla2mdAKiLtOijXqgun4Ne1mTh1k2aUWX_xlAJaSPev3b1pWYSs88VGJx0nswqDm6zmPV3FiB2dCHhrqGvHKD2AymthXC8/s1600/o2c_cloud.png" /></a></div>
O2C (сокращение английской фразы «objects to see») - это векторный формат хранения и программа-визуализтор трёхмерных (3D) объектов. Отличная детализация объектов, анимация и динамическое управление обзором впечатляет гораздо больше, чем классические чертежи, буклеты или фотографии. <br />
<a name='more'></a>Динамическая визуализация 3D изделий делает формат o2c одним из самых удобных инструментов для презентации реалистичных анимированных объектов. Плагины для популярных браузеров позволяют выносить 3D презентации даже на страницы сайтов интернет, отдельный плейер доступен для систем под управлением Mac, iPad, Linux, Android и, конечно, MS Windows. Также, с объектами и файлами формата o2c прекрасно работает ArCon - Visual Architect,- на уровне импорта и экспорта. На сайте разработчика можно посмотреть примеры o2c в браузере, а если примеры не удаётся покрутить-приблизить, то для отображения файлов векторного формата o2c необходимо скачать плагин или полноценный плейер o2c player и установить на компьютер. По версии FileSuffix.com объекты o2c имеют тип MIME application/x-o2c-object, но в официальном справочнике IANA такой тип не зарегистрирован.<br />
<br />
Ссылки по теме:<br />
<br />
<ul style="text-align: left;">
<li><a href="http://o2c.de/en/download/o2c-download.html" rel="nofollow" target="_blank">Скачать плагин или плейер o2c</a></li>
<li><a href="http://o2c.de/en/examples.html" rel="nofollow" target="_blank">Примеры отображения o2c</a></li>
<li><a href="http://www.iana.org/assignments/media-types/media-types.xhtml" rel="nofollow" target="_blank">IANA: Справочник зарегистрированных типов MIME</a> </li>
</ul>
</div>
Unknownnoreply@blogger.com0