JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Разработка и проектирование [Devel] » Плагин для подачи звукового сигнала посредством Jabber
Post new topic  Reply to topic View previous topic :: View next topic 
Плагин для подачи звукового сигнала посредством Jabber
PostPosted: Fri Jul 07, 2006 2:50 am Reply with quote
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
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Fri Jul 07, 2006 3:31 pm Reply with quote
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)
так, как-будто он не поддерживает эту функциональность.
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Fri Jul 07, 2006 3:53 pm Reply with quote
feez
Разработчик
Разработчик
Joined: 01 Jan 1970
Posts: 146




ух Smile

Критика предложения замечания принимаются, пока еще не поздно Evolved

В 0.2, которую выложил вчера, добавил так же срабатывание на ключевую фразу для совместимости с другими клиентами (в одну сторону правда). Ключевая фраза пока "alarm!"

Из аськи друзья присылали -- сработатывает. Была замечена одна проблема: работает только, если подписка both или from, а у одного была to, хотя мы статус друг друга видели отлично. Как так получилось и как это убрать я не понял, поэтому правил плагин. Наверное зря я ограничился только двумя вариантами подписки.
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate
PostPosted: Sat Jul 08, 2006 10:53 am Reply with quote
alexpc
Guest




так под яйк есть плагин? чего-то я не понял Surprised
PostPosted: Sat Jul 08, 2006 12:25 pm Reply with quote
feez
Разработчик
Разработчик
Joined: 01 Jan 1970
Posts: 146




alexpc wrote:
так под яйк есть плагин? чего-то я не понял Surprised

Пока еще нет.
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate
PostPosted: Sun Jul 09, 2006 8:18 am Reply with quote
alexpc
Guest




Тогда ждем. А то у меня яйка, а у знакомого такббер.
А если сигналы не услышал, то там как-то остается информация о том что звонили?
PostPosted: Sun Jul 09, 2006 11:04 am Reply with quote
feez
Разработчик
Разработчик
Joined: 01 Jan 1970
Posts: 146




alexpc wrote:
Тогда ждем. А то у меня яйка, а у знакомого такббер.
А если сигналы не услышал, то там как-то остается информация о том что звонили?


В ткаббере есть три вида звонка: звуковой сигнал, выскакивающее окошко и сообщение в чате. По-умолчанию включен первый и третий вид. Если знакомый не менял, то в чате у него останется "такой-то привлекает ваше внимание".

Если используется внутрипротокольный звонок (ткаббер <-> ткаббер пока) то работает обратная связь и звонивший видит как успешно дошел его звонок и если не дошел то почему. Со звонком через "alarm!" обратную связь не делал, хотя наверное можно послать что-нить в ответ простым текстом ...
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate
PostPosted: Wed Jul 12, 2006 9:42 pm Reply with quote
feez
Разработчик
Разработчик
Joined: 01 Jan 1970
Posts: 146




Такую штуку нашел в непринятых^W отложенных JEP-ах: http://www.jabber.org/jeps/jep-0089.html

Тоже alert Smile


Last edited by feez on Thu Jul 13, 2006 7:16 am; edited 1 time in total
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate
PostPosted: Thu Jul 13, 2006 4:45 am Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




feez wrote:
Такую штуку нашел в непринятых JEP-ах: http://www.jabber.org/jeps/jep-0089.html

Тоже alert :)

Да походу какие-то барыги хотели протолкнуть. :-)
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sat Jul 29, 2006 1:05 pm Reply with quote
KRom
Разработчик
Разработчик
Joined: 07 Oct 2005
Posts: 242
Location: Tagan-York, South Russia




alexpc wrote:
так под яйк есть плагин? чего-то я не понял Surprised

Извиняюсь, что поздно отпостил Speechless
Есть один плагин под JAJC, его можно найти на этой странице. Плагин пока сырой, но он есть Wink .
А вообще то я выкладывал ссылку на страницу с этим плагином в Download центре

_________________
Ве?ьма веро?тно на?тупление неверо?тного.
View user's profile Send private message Send Jabber-message Visit poster's website AIM Address MSN Messenger ICQ Number
PostPosted: Sat Jul 29, 2006 8:20 pm Reply with quote
feez
Разработчик
Разработчик
Joined: 01 Jan 1970
Posts: 146




KRom wrote:
Извиняюсь, что поздно отпостил Speechless
Есть один плагин под JAJC, его можно найти на этой странице. Плагин пока сырой, но он есть Wink .


Спасибо за информацию и помощь. Добавил поддержку на прием и отправку в версию 0.3. Отправка по-умолчанию выключена, включать надо в опциях Smile
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate
PostPosted: Sun Aug 06, 2006 6:46 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




Народ, под яйк никто плагинчиг не ваяет? Спецификацию feez написал.
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Oct 17, 2006 3:20 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




Господа, не появилось под PSI плагинчика соответствующего?
Мне вот на работу бы такой пригодился. Я бы сам бы написал, если умел.
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Wed Oct 25, 2006 2:18 pm Reply with quote
feez
Разработчик
Разработчик
Joined: 01 Jan 1970
Posts: 146




leksey wrote:
Господа, не появилось под PSI плагинчика соответствующего?
Мне вот на работу бы такой пригодился. Я бы сам бы написал, если умел.


Полагаю дело двинется, и поддержка появится, если перевести протокол на английкий и отослать в XSF. Вот только руки не доходят.

Как-то видел сравнение Gtalk-а и то-ли MSN то-ли Yahoo, так вот там в пункте "послать сигнал собеседнику" гталк проигрывал Smile
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate
PostPosted: Sat Oct 28, 2006 4:53 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




feez wrote:
leksey wrote:
Господа, не появилось под PSI плагинчика соответствующего?
Мне вот на работу бы такой пригодился. Я бы сам бы написал, если умел.


Полагаю дело двинется, и поддержка появится, если перевести протокол на английкий и отослать в XSF. Вот только руки не доходят.

Как-то видел сравнение Gtalk-а и то-ли MSN то-ли Yahoo, так вот там в пункте "послать сигнал собеседнику" гталк проигрывал :)

Кому пишем в ToDo? :-)
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
Плагин для подачи звукового сигнала посредством Jabber
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  

  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin