| | Плагин для подачи звукового сигнала посредством Jabber |
| |
Posted: Fri Jul 07, 2006 2:50 am |
|
|
leksey |
Графоман |
|
|
Joined: 17 Dec 2004 |
Posts: 1909 |
Location: Москва, Тушино |
|
|
|
|
|
|
С учетом того, что звуковой сигнал для incoming message все нормальные люди отключают, то подача on-demand звукового сигнала штука полезная.
Для Tkabber эта функциональность реализована.
Взять последнюю версию плагина можно в Tkabber WiKi
По этому поводу автором рождем соответствующий "внутренний" JEP.
Крайне разумно было бы, если появится совместимый плагин для других популярных клиентов. В первую очередь JAJC и Miranda. |
|
Last edited by leksey on Fri Jul 07, 2006 3:34 pm; edited 1 time in total |
|
|
|
| | |
Posted: Fri Jul 07, 2006 3:31 pm |
|
|
leksey |
Графоман |
|
|
Joined: 17 Dec 2004 |
Posts: 1909 |
Location: Москва, Тушино |
|
|
|
|
|
|
JEP-0xxx: Alarm :)
Описание расширения протокола XMPP для плагина alarm.
Введение
Распространенные клиенты поддерживают звуковые схемы, но многие их отключают -- зачем звук на каждое
входящее сообщение. С другой стороны, иногда надо "толкнуть" собеседника, если ответ требуется очень
срочно, а он отошел или отвлекся.
Для работы плагина никаких изменений на сервере производить не надо.
Терминология
Звонок -- Звуковое или текстовое оповещение, которое должно привлечь внимание пользователя к клиенту.
Клиент -- пользовательское приложение для выхожа в сеть Jabber.
Плагин -- расширение к клиенту, которое добавляет возможность отправлять и принимать звонки.
Использование
Поддержка в Discovery
На запрос disco#info (пр.1) клиент ДОЛЖЕН показать, что он поддерживает звонки специальной записью (пр.2).
Пример 1.
Code: |
<iq type='get' to='juliet@capulet.com/balcony'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>
|
Пример 2.
Code: | <iq type='result'
from='juliet@capulet.com/balcony'
to='romeo@montague.net/garden'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
...
<feature var='plugins:alarm'/>
...
</query>
</iq>
|
Отправление звонка
Используется стандартный iq тег с полем type="set".
Пример 3.
Code: | <iq from='romeo@montague.net/garden'
to='juliet@capulet.com/balcony'
type='set'
id='alarm1'>
<alarm xmlns='plugins:alarm'/>
</iq> |
После того, как клиент отправил звонок, он МОЖЕТ подождать ответ и потом доложить пользователю
о результате.
Прием звонка
Если клиент поддерживает звонки, то он ДОЛЖЕН ответить положительно:
Пример 4.
Code: | <iq from='juliet@capulet.com/balcony'
to='romeo@montague.net/garden'
type='result'
id='alarm1' /> |
После этого он МОЖЕТ каким-нибудь способом сообщить пользователю, что его внимание привлекают. Это
может быть и проигрывание звукового файла, и диалог с сообщением, и простой текст в окошке с чатом
или еще что-нибудь. Можно предоставить пользователю самому выбрать вид звонка.
Если по каким-либо соображениям эта возможность выключена в клиенте, то он ДОЛЖЕН ответить
ошибкой <service-unavailable/>:
Пример 5.
Code: |
<iq from='juliet@capulet.com/balcony'
to='romeo@montague.net/garden'
id='alarm1'
type='error'>
<alarm xmlns='plugins:alarm'/>
<error code='503'
type='cancel'>
<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</iq>
|
Антифлуд
Очевидно, что этой возможностью можно злоупотреблять. Злоупотреблять можно как в шутку:
позвонить подольше и побольше, так и с умыслом: привлечь внимание к спаму, например. Поэтому
предлагаются следующие методы противодействия злоупотребелниям.
1. ЖЕЛАТЕЛЬНО, чтобы клиент выдерживал паузу как минимум в 30 секунд между двумя звонками от
одного и того же пользователя. На пропущенные в этом интервале звонки клиент ДОЛЖЕН
ответить ошибкой <not-acceptable/>:
Пример 6.
Code: |
<iq from='juliet@capulet.com/balcony'
to='romeo@montague.net/garden'
type='error'
id='alarm1'>
<alarm xmlns='plugins:alarm'/>
<error type='cancel'
code='406'>
<not-acceptable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</iq>
|
2. ЖЕЛАТЕЛЬНО, чтобы клиент обеспечил фильтрацию входящих звонков на основании JID-а, подписки или
группы в ростере. Заблокировать iq станзы можно и в списках безопасности (Privacy Lists) но не всегда
это будет удобно -- слишком много функций попадет под удар. Поэтому ЖЕЛАТЕЛЬНО, чтобы фильтр для
звонков был сделан отдельно.
На звонки от JID-ов непрошедших фильтр клиент ДОЛЖЕН ответить ошибкой <service-unavailable/> (пр.5)
так, как-будто он не поддерживает эту функциональность. |
|
|
|
|
| | |
Posted: Fri Jul 07, 2006 3:53 pm |
|
|
feez |
Разработчик |
|
|
Joined: 01 Jan 1970 |
Posts: 146 |
|
|
|
|
|
|
|
ух
Критика предложения замечания принимаются, пока еще не поздно
В 0.2, которую выложил вчера, добавил так же срабатывание на ключевую фразу для совместимости с другими клиентами (в одну сторону правда). Ключевая фраза пока "alarm!"
Из аськи друзья присылали -- сработатывает. Была замечена одна проблема: работает только, если подписка both или from, а у одного была to, хотя мы статус друг друга видели отлично. Как так получилось и как это убрать я не понял, поэтому правил плагин. Наверное зря я ограничился только двумя вариантами подписки. |
|
|
|
|
Posted: Sat Jul 08, 2006 10:53 am |
|
|
|
так под яйк есть плагин? чего-то я не понял |
|
|
|
|
Posted: Sat Jul 08, 2006 12:25 pm |
|
|
feez |
Разработчик |
|
|
Joined: 01 Jan 1970 |
Posts: 146 |
|
|
|
|
|
|
|
alexpc wrote: | так под яйк есть плагин? чего-то я не понял |
Пока еще нет. |
|
|
|
|
Posted: Sun Jul 09, 2006 8:18 am |
|
|
|
Тогда ждем. А то у меня яйка, а у знакомого такббер.
А если сигналы не услышал, то там как-то остается информация о том что звонили? |
|
|
|
|
Posted: Sun Jul 09, 2006 11:04 am |
|
|
feez |
Разработчик |
|
|
Joined: 01 Jan 1970 |
Posts: 146 |
|
|
|
|
|
|
|
alexpc wrote: | Тогда ждем. А то у меня яйка, а у знакомого такббер.
А если сигналы не услышал, то там как-то остается информация о том что звонили? |
В ткаббере есть три вида звонка: звуковой сигнал, выскакивающее окошко и сообщение в чате. По-умолчанию включен первый и третий вид. Если знакомый не менял, то в чате у него останется "такой-то привлекает ваше внимание".
Если используется внутрипротокольный звонок (ткаббер <-> ткаббер пока) то работает обратная связь и звонивший видит как успешно дошел его звонок и если не дошел то почему. Со звонком через "alarm!" обратную связь не делал, хотя наверное можно послать что-нить в ответ простым текстом ... |
|
|
|
|
Posted: Wed Jul 12, 2006 9:42 pm |
|
|
feez |
Разработчик |
|
|
Joined: 01 Jan 1970 |
Posts: 146 |
|
|
|
|
|
|
|
|
Last edited by feez on Thu Jul 13, 2006 7:16 am; edited 1 time in total |
|
|
|
Posted: Thu Jul 13, 2006 4:45 am |
|
|
leksey |
Графоман |
|
|
Joined: 17 Dec 2004 |
Posts: 1909 |
Location: Москва, Тушино |
|
|
|
|
|
|
Да походу какие-то барыги хотели протолкнуть. :-) |
|
|
|
|
Posted: Sat Jul 29, 2006 1:05 pm |
|
|
KRom |
Разработчик |
|
|
Joined: 07 Oct 2005 |
Posts: 242 |
Location: Tagan-York, South Russia |
|
|
|
|
|
|
alexpc wrote: | так под яйк есть плагин? чего-то я не понял |
Извиняюсь, что поздно отпостил
Есть один плагин под JAJC, его можно найти на этой странице. Плагин пока сырой, но он есть .
А вообще то я выкладывал ссылку на страницу с этим плагином в Download центре |
|
_________________ Ве?ьма веро?тно на?тупление неверо?тного. |
|
|
|
Posted: Sat Jul 29, 2006 8:20 pm |
|
|
feez |
Разработчик |
|
|
Joined: 01 Jan 1970 |
Posts: 146 |
|
|
|
|
|
|
|
KRom wrote: | Извиняюсь, что поздно отпостил
Есть один плагин под JAJC, его можно найти на этой странице. Плагин пока сырой, но он есть . |
Спасибо за информацию и помощь. Добавил поддержку на прием и отправку в версию 0.3. Отправка по-умолчанию выключена, включать надо в опциях |
|
|
|
|
Posted: Sun Aug 06, 2006 6:46 pm |
|
|
leksey |
Графоман |
|
|
Joined: 17 Dec 2004 |
Posts: 1909 |
Location: Москва, Тушино |
|
|
|
|
|
|
Народ, под яйк никто плагинчиг не ваяет? Спецификацию feez написал. |
|
|
|
|
Posted: Tue Oct 17, 2006 3:20 pm |
|
|
leksey |
Графоман |
|
|
Joined: 17 Dec 2004 |
Posts: 1909 |
Location: Москва, Тушино |
|
|
|
|
|
|
Господа, не появилось под PSI плагинчика соответствующего?
Мне вот на работу бы такой пригодился. Я бы сам бы написал, если умел. |
|
|
|
|
Posted: Wed Oct 25, 2006 2:18 pm |
|
|
feez |
Разработчик |
|
|
Joined: 01 Jan 1970 |
Posts: 146 |
|
|
|
|
|
|
|
leksey wrote: | Господа, не появилось под PSI плагинчика соответствующего?
Мне вот на работу бы такой пригодился. Я бы сам бы написал, если умел. |
Полагаю дело двинется, и поддержка появится, если перевести протокол на английкий и отослать в XSF. Вот только руки не доходят.
Как-то видел сравнение Gtalk-а и то-ли MSN то-ли Yahoo, так вот там в пункте "послать сигнал собеседнику" гталк проигрывал |
|
|
|
|
| | |
Posted: Sat Oct 28, 2006 4:53 pm |
|
|
leksey |
Графоман |
|
|
Joined: 17 Dec 2004 |
Posts: 1909 |
Location: Москва, Тушино |
|
|
|
|
|
|
feez wrote: | leksey wrote: | Господа, не появилось под PSI плагинчика соответствующего?
Мне вот на работу бы такой пригодился. Я бы сам бы написал, если умел. |
Полагаю дело двинется, и поддержка появится, если перевести протокол на английкий и отослать в XSF. Вот только руки не доходят.
Как-то видел сравнение Gtalk-а и то-ли MSN то-ли Yahoo, так вот там в пункте "послать сигнал собеседнику" гталк проигрывал :) |
Кому пишем в ToDo? :-) |
|
|
|
|
JRuDevels Forum Index » Разработка и проектирование [Devel] |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT + 3 Hours
Page 1 of 1
|
|
|
|