Hey Kirk,<br /><br />Thanks for the google shared status info.<br /><br />I was able to get this working with a xmpp library and Pidgin with a google shared status plugin at http://www.siorarina.net/gtalk-shared-status/<br /><br />Not sure if it works without the plugin.  I tried with Psi client and it didn't like the feature.<br /><br /><br />So I think its possible with Pidgin, Pidgin Google-Shared-Status plugin, ejabbered and an xmpp library to send the status'.<br /><br />Sweet.  Thanks<br /><br />On , Kirk Bateman <kirk.bateman@gmail.com> wrote:<br />> Looks to me (from a quick read), that the client doesn't need to implement it as the server (with shared-status extension) would override any status set by pidgin etc to what is set by your script.<br />> So, I think that most clients will possibly update their own displayed presence if they receive a presence claiming to be from themselves (hopefully).<br />> Any implementation on ejabberd would need to handle the iq get and set for the shared list but also hook into the presence receive from clients to override them (probably a job for some Erlang)<br />> Regards<br />> Kirk Bateman<br />> On 31 Jul 2012 04:07,  duane.larson@gmail.com> wrote:<br />> So you think if I implement this extension with sleekxmpp or jaxl most XMPP clients (pidgin, PSI, Jitsi, etc) will not have any issue with the "xmlns='google:shared-status'" extension?  Or does the client need to support it?<br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> On , Kirk Bateman kirk.bateman@gmail.com> wrote:<br />> <br />> > Duane,<br />> <br />> > <br />> <br />> > An implementation of Google's shared status extension would allow you to do what you need.<br />> <br />> > <br />> <br />> > https://developers.google.com/talk/jep_extensions/shared_status<br />> <br />> > <br />> <br />> > Then you could have your script override the status from pidgin, I think you would also need to have a script change the status again at the end of the call.<br />> <br />> > <br />> <br />> > I quite like the idea of their extension, might look at implementing for ejabberd if there isn't already one.<br />> <br />> > <br />> <br />> > Regards<br />> <br />> > <br />> <br />> > Kirk Bateman<br />> <br />> > <br />> <br />> > On 30 Jul 2012 21:35, "Duane Larson" duane.larson@gmail.com> wrote:<br />> <br />> > <br />> <br />> > I have more info.  I was able to get this to work but here is the issue.<br />> <br />> > <br />> <br />> > For the script using the API I set my show to "dnd" and status to "On Phone".  I also had to set the Presence Priority to a number higher than what my pidgin client is set to.  So Pidgin has a priority of 5 so I set the scripts priority to 6.  This worked and my buddy was able to see that the guy is DND and On Phone.  The problem now is if someone still tries to instant message the user that is On Phone and DND.  Now that my script has a higher priority all messages go to it.  This isn't desired since it is just a script and even though the user is on the phone I would still want to chat with someone especially if the users are on the same call and want to chat about the call.  <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > Any ideas?<br />> <br />> >   <br />> <br />> > <br />> <br />> > On Mon, Jul 30, 2012 at 1:53 PM, Duane Larson duane.larson@gmail.com> wrote:<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > Well my first attempt didn't work.  I guess if you have test.user@domainA.com/pidgin logged in and his presence set to "Available" and then when I execute a script that sets test.user@domainA.com/Blah presence to Status = "On Phone"/Show = "dnd" then anyone that is a buddy of his will not see his status change to dnd and On Phone.  The only time it works is if test.user@domainA.com/pidgin has set his status to "away" then if I set the presence to "dnd" the buddy sees the status change.<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > So I am guessing this is how XMPP should work.  So changing the Presence I guess isn't the route I want to go.<br />> <br />> > <br />> <br />> > Then I heard about User Activity<br />> <br />> > I'm trying to use the <br />> <br />> > http://xmpp.org/extensions/xep-0108.html<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > extension and it doesn't seem to be working.<br />> <br />> > <br />> <br />> > I basically send the following stanza to ejabberd<br />> <br />> >  type='set' <br />> <br />> > <br />> <br />> > <br />> <br />> >     from='juliet@capulet.lit/ca486eba-0f9a-11dc-8835-000bcd821bfb'<br />> <br />> >     id='publish1'><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> >    xmlns='http://jabber.org/protocol/pubsub'><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> >      node='http://jabber.org/protocol/activity'><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> >       <br />> <br />> >          xmlns='http://jabber.org/protocol/activity'><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> >           <br />> <br />> >             <br />> <br />> >           <br />> <br />> > <br />> <br />> > <br />> <br />> >            xml:lang='en'>My nurse's birthday!<br />> <br />> > <br />> <br />> > <br />> <br />> >         <br />> <br />> >       <br />> <br />> >     <br />> <br />> > <br />> <br />> > <br />> <br />> >   <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > Here is what I see on the ejabberd server<br />> <br />> > <br />> <br />> > The user setting his "User Activity" is duane.larson@ae.com and the buddy bob.test@ae.com should be the one that sees the update but doesn't<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > T 2012/07/30 13:40:28.045500 50.XX.XX.54:35105 -> 184.xxx.xxx.30:5222 [AP]<br />> <br />> > duane.larson@ae.com' id='publish1'>http://jabber.org/protocol/pubsub'>http://jabber.org/protocol/activity'>activity xmlns='http://jabber.org/protocol/activity'>partying/>My nurse's birthday!item><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > ##<br />> <br />> > T 2012/07/30 13:40:28.095566 184.xxx.xxx.30:5222 -> 50.XX.XX.54:35105 [AP]<br />> <br />> > duane.larson@ae.com' to='duane.larson@ae.com/jaxl.1.1343673627' id='publish1' type='result'>http://jabber.org/protocol/pubsub'>http://jabber.org/protocol/activity'><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > #<br />> <br />> > T 2012/07/30 13:40:28.095650 184.xxx.xxx.30:5222 -> 50.XX.XX.54:35105 [AP]<br />> <br />> > duane.larson@ae.com' to='duane.larson@ae.com/jaxl.1.1343673627' type='headline'>http://jabber.org/protocol/pubsub#event'>http://jabber.org/protocol/activity'>http://jabber.org/protocol/activity'>partying/>My nurse's birthday!item>addresses xmlns='http://jabber.org/protocol/address'>duane.larson@ae.com/jaxl.1.1343673627'/>message><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > ##<br />> <br />> > T 2012/07/30 13:40:34.033334 216.12.249.203:60207 -> 184.xxx.xxx.30:5222 [AP]<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > #<br />> <br />> > T 2012/07/30 13:40:34.033687 184.xxx.xxx.30:5222 -> 216.XX.XX.203:60207 [AP]<br />> <br />> > duane.larson@ae.com' to='duane.larson@ae.com/Work' type='error' id='purple8d799f70'>unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > On Thu, Jul 26, 2012 at 1:00 PM, Duane Larson duane.larson@gmail.com> wrote:<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > I'm trying to read over <br />> <br />> > http://oriolrius.cat/blog/wp-content/uploads/2009/10/Oreilly.XMPP.The.Definitive.Guide.May.2009.pdf<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > and tell me if this could work<br />> <br />> > <br />> <br />> > Write a script that will do the following<br />> <br />> > Log on xmpp:user@domainA.com/deskphoneOpen session with ejabberd server for xmpp:user@domainA.com/deskphoneSet Presence to the following deskphone"><br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> >                                                dnd<br />> <br />> >                                                On Phone<br />> <br />> >                                            <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > Close session with ejabberd ser for xmpp:user@domainA.com/deskphone<br />> <br />> > <br />> <br />> > <br />> <br />> > I am still reading the oreilly book to see what are the caveats to doing this but I wanted to through it out there.<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > On Thu, Jul 26, 2012 at 10:41 AM, Aaron aarond@cmu.edu> wrote:<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > You could send an IQ "set" request to a custom namespace and handle the IQ  in a module by adding the device's info such as phone number (which you could include in the SubEl of the IQ packet) to a devices database.<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > --Aaron<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > On Thursday, July 26, 2012 11:26:00 AM, duane.larson@gmail.com wrote:<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > Yeah I've looked at the OpenSIPS XMPP module but I don't think it can<br />> <br />> > <br />> <br />> > <br />> <br />> > accomplish what I am wanting to do. I think the OpenSIPS XMPP module<br />> <br />> > <br />> <br />> > <br />> <br />> > just allows a SIP user to communicate with an XMPP user. So DomainA<br />> <br />> > <br />> <br />> > <br />> <br />> > would be a SIP IM domain and their SIP SIMPLE client could send<br />> <br />> > <br />> <br />> > <br />> <br />> > instant messages directly to DomainB which is an XMPP domain and XMPP<br />> <br />> > <br />> <br />> > <br />> <br />> > clients.<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > Any ideas on how to tie a JID to a phone number account?<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > I just found this page<br />> <br />> > <br />> <br />> > <br />> <br />> > http://xmpp.org/xmpp-software/libraries/<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > I will look at some of these libraries and see if one of them can<br />> <br />> > <br />> <br />> > <br />> <br />> > accomplish what I am looking at doing. But once again if someone has<br />> <br />> > <br />> <br />> > <br />> <br />> > already done something like this I'd love to hear about it.<br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > <br />> <br />> > On , Gavin Henry ghenry@surevoip.co.uk> wrote:<br />> <br />> > <br />> <br />> > <br />> <br />> > > > Hey Gavin,<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Hi Duane,<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > Thanks for the reply.  I use OpenSIPs and have different options<br />> <br />> > <br />> <br />> > <br />> <br />> > when it<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > comes to executing a script from within OpenSIPS when a user is on<br />> <br />> > <br />> <br />> > <br />> <br />> > a call.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > It will be a multidomain installation.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > That's good. You just need to tie their number to a JID.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > I'm not familiar with any RESTful api.  Do you have more details?<br />> <br />> > <br />> <br />> > <br />> <br />> >  I came<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > across a java api called smack last night and also a perl module<br />> <br />> > <br />> <br />> > <br />> <br />> > called<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > anyevent::xmpp.  I will look into those more but if you have any<br />> <br />> > <br />> <br />> > <br />> <br />> > hints or<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > > experience in doing this I would love to hear.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > You can add OpenSIPS as a component to ejabberd but it's only one<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > domain I think.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Check the OpenSIPS XMPP module and http://www.ejabberd.im/mod_restful<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Thanks.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > --<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Kind Regards,<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Gavin Henry.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Managing Director.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > T +44 (0) 1224 900123<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > M +44 (0) 7930 323266<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > F +44 (0) 1224 824887<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > E ghenry@surevoip.co.uk<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > http://www.surevoip.co.uk/<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Suretec Systems T/A SureVoIP is a limited company registered in<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Scotland. Registered<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > number: SC258005. Registered office: 24 Cormack Park, Rothienorman,<br />> <br />> > <br />> <br />> > <br />> <br />> > Inverurie,<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > > Aberdeenshire, AB51 8GL.<br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br />> > <br />> <br />> > <br />> <br />> > ><br />> <br %