BOUNTY: Aastra Presence/Away status
Trixbox user Peterfam has posted a bounty for Aastra XML presence capabilities. As this is currently on my todo list, I have accepted and am soliciting for additional financial support for release into the community.
Included will the the ability to set your current presence on the Aastra handsets through a button, choosing "at lunch", "at meeting", "away", "and "out of town". Depending on the away status you choose, the user would be presented with an opportunity to choose a return time or date, then be able to press a soft key to easily record a temporary away message (saved as the voicemail temporary message). The first option when pressing this button would be "Where is...", which would provide a menu of all the users on the system to view their status. If the user is currently away, the button can be pushed and "I'm back" can be selected, which will remove the away status and temporary voicemail message.
Additionally, possibilities for displaying presence on the side cards will be explored. If possible with the current character constraints, single character status messages would be displayed next to the person's name on the Aastra side cards, for example (L), (M), (A), (O) - no pun intended.
This information will be centrally stored in Asterisk, via the AstDb, for further integration into other devices in the future (including web, IM, ARI, outlook and voice).
If you are interested in this functionality, please consider contributing to the bounty, as it is a fairly complex application to develop correctly.
count me in for $50 (not much I know, doesnt interest me greatly, but looks like a good cause).
Now if we can get really trick - if this presence button could also be used to control follow-me status - now that would be kickin.
Press the button, choose your presence:
-Away
-At Lunch
-Vacation
-Remote:
--Follow-Me
--VMX + Follow-me (this may be over the edge, and i would consider contributing a bit more at this point)
How are your other projects- maybe I missed it, but whats going on with the speech enabled vmail and "Magic Button" (I see you got an invite to Redmond;)? Any chance of release, or paid release? Good luck Ethan.
-John
There were a lot of good formal discussions with key parties about the Magic Button at VON. A release tied with some sort of subscription speech port licensing mechanism may be a reality sometime in the not-too-distant future. And yes, the Magic Button does have presence capabilities which would link in with this and other future projects.
I have a need for an xml app. that would make it possible to see status of employees,
are they in meeting or out to lunch. I therefore asked Ethan if he could write that app.
for the Aastra 5i phones.
For a start I throw in 300$, and I have asked my customers if they will join this bounty.
I have no idea of how big the bounty has to be before this will be released to the community, but I hope that this will be a reachable goal, maybe for a start a smaller version with the possiblity of setting and showing status direct on the phone.
So the Aastra presence manager is complete. First details on how the application works, then how you can get it.
How it works: A user pushes the Away button on their phone. If the user is currently not away, they are presented with a menu you can choose from:
I'm away
I'm at lunch
I'm in a meeting
I'm out of town.
Once the user chooses one of these options, the LED is lit for this button, and they are presented with sub-options:
Ret Date (if generic "away" is chosen or out of town is chosen) Ret Time Temp Msg and Exit
The user can push any of these soft buttons and then select their return date, return time or record a temporary away message. If they choose exit, their presence is still set, but there is no "further information" set. Selecting Temp Msg sends a auto-answer/dial to their phone and drops them into a dial plan where they can record their temporary voicemail message. It's all seamless and upon setting any one of these options, they can set more options or just exit (or timeout).
If the user has an away status set and push the Away button, it will allow them to change their status or push "I'm back". Pushing the "I'm back" button removes any away status, return times, and return dates, deletes a temporary voicemail message if set, and un-lights the LED.
Another option when pressing the button is "Where is". Pushing this soft button will allow the user to select another extension in the PBX and view the away status for that user, including return date and return time. It displays their presence status next to their name in list format (L), (M), (A), (O) and when you press the Details soft button, the full presence information is displayed including return date and return time. Once in the details screen, you can also call the user by pressing the Dial soft button.
So, pretty cool stuff. Now, how do you get it? I had to get clever on this one, so bear with me. A bounty was posted and there wasn't a lot of traction. Unfortunately, the amount of time to develop this application is worth more than the original $300, so I've developed a nifty bounty program to appease everyone. I'm setting a reserve bounty on this project at $1500. Anyone who contributes $300 gets the application immediately, premium support and "hero" status. For example, since Pererfam put up the first bounty, he will receive a requested internationalization mechanism so he can translate the app into Danish. As soon as there are a total of $1500 in contributions, the application is GPL'd. The "heroes" get credit in the INSTALL and LICENSE files distributed with the application, in addition to a mention in the screen output of the installer script required to install all the components. Since this application involves dial plans and AGI in addition to the Aastra XML PHP, an installer script will be provided to install all the necessary components. Additionally, "heros" get priority access to any other applications that are licensed in the same manner in the future. So if you contribute $300 and I release the Aastra SLA application, you get it even if the bounty is never met. Finally, all Open Telephony Training Seminar participants will have full retroactive and future access to all applications at no charge. See my signature for details. Register for the next event in Vegas and I'll email you the Aastra presence manager.
Though this is getting to be a long and boring post, let's talk about the future a little bit. The foundation of the presence capabilities I have built aren't just a wild stab in the dark with for Aastra phones. In the coming months, the presence management will be built into a lot of different devices and regardless of what device a user sets their presence in, it will be centralized. Coming very shortly is complete integration with the iSymphony "HUD competitor". It's a solid product. You should download it and try it. Set your status on the Aastra phone and it is set in iSymphony and the reverse. Additionally, the presence management is built into the magic button (http://schmoozecom.blogspot.com/2008/01/microsoft-response-point-tm-pbx....), so say "I'm back" after pushing the magic button and the LED next to the Away button on your phone goes away and other users requesting presence on your extension through whatever means have updated information. Say "I'm at lunch" to the magic button and your centralized presence is set and the LED on your phone is lit automatically. Yes this is all working right now. Additional avenues being explored include Outlook integration, ARI "user control panel" integration in FreePBX, and Jabber integration.
thinking about being a hero (hmm - walking into the burning building;)
does it set the ext to DND when selecting one of the out of office status'es?
Any thoughts/ETA on making it enable follow-me or VMX menu? (I know this may take a lot more customization inside freepbx, but maybe Philippe would be interested in colaborating;)
lastly when will you make the xml button to "bill the client for this time" while your on a call (just dreaming).
It does not set DND. I've long debated this in general and haven't come to a conclusion. More feedback from more people would be helpful. If you contribute, I'll make it do that for you if you want. It's about 2 minutes of code.
I haven't thought about having it do things with follow me, but I'll be talking to Philippe tomorrow so I'll bring it up with him and see what his thoughts are.
It took me about 2 minutes of re-reading your last thought before I figured it out (it's too late!) It's not a bad idea. It wouldn't be too difficult to set a timer when the button is first pushed and end the timer when the call is hungup then save the info to a database that can be reported on. You could even setup a client list ahead of time and choose from a list. The XML buttons will work in a call on the 5i series, though they have to be at position 6 or above, then you click the "More" soft button while on a call and have access to them. Or you can just set one of the prgkeys on the top and have it do the same.
I'm not a Windows client side programmer, so if anyone feels compelled I'll provide you with the code and an abstraction layer to get/set the status via the manager.
As far as the expansion module goes, I'm working on it as soon as I dig through our warehouse and find one.
As it stands, you can push the "Where is" softbutton on the phone and browse a directory that has labels next to the names for their away status.
Ethan,
This is a good start and is providing needed services for the users it was originally designed for.
Presence is a key component to Unified Messaging. There are several initiatives to integrate true presence into Asterisk core.
There is also a presence module for OpenSER.
Cisco, Oracle and Microsoft (along with many others) provide closed source presence integrated with their respective architectures.
Open Source has the answer by supporting IETF standards (RFC 3856 and 3857) the ability to subscribe and publish presence status and peer with other presence servers is key to adoption.
The client side parts will fall in line once the back end is complete.
I would say that IETF standard is a more general concept of presence and the client will still implement it as they see fit with the various types of presence status messages. I for one am not the type to wait for a standard to be adopted and then wait for clients to implement it.
Instead, this provides immediate presence capabilities centralized via the Asterisk server which clients can then consume. For now the Aastra phones, magic button, and iSymphony will be able to consume these statuses. In the future who knows how this will be distributed but at least the clients will be ready with real-world implementations that can be shared.
Modifying clients to use any new standards in the future will be worth the time to do so, however waiting for other people to complete the back end work isn't necessary to move forward with working real-world user-based presence (away) statuses.
Just my opinion.
An update: Peterfam graciously gave 2 hero contributions and another is on the way from someone else, bringing the total to $900. Two more contributions for GPL release.
Additionally, I have added a new feature to the application. User's requesting the away status of another user will have the option to "be notified of this user's return". If a user subscribes to be notified, as soon as the person pushes the "I'm back" button, any notifications will begin. If the person being notified is on the phone, it will leave a voicemail message automatically. If the person being notified is available, they will receive a page to their phone notifying them of the return of this user and can press 1 to automatically call the user.
9133i Support:
After the final contribution is made, 9133 support will also be released. This should make the application work across the span of Aastra phone models. I'm working on the nasty code modifications required right now and expect to be done this weekend.
Ultimately I would like to see integration with Follow-me, and 2ndly VMX.
This may require a web page for the user to do the preliminary config of the "Status Manager", if we keep it simple I suppose it could be done on the phone LCD, not sure which would be easier to code/manage.
User gets the same choices:
L=Lunch
A=Away
M=Meeting
O=Out of Town or on the road???
What happens in the background-
Use the web config page to turn on a follow-me for anyone of the above Statuses.
and/or (2nd stage dev, if this takes too much work??):
Use the webpage to select a VMX Menu for any of the above Statuses (which may include Follow-me).
ie:
L: "This is John, I am out to lunch till 1, press 1 to leave a message, 0 to speak to a receptionist, or 3 to reach me on my mobile phone."
Return to my desk, press the Status "In/Available" and VMX is turned off, all calls come in as normal to my desk phone.
O: Hard set follow-me/Forward to my cell with confirmation.
---------------------------------------
Having multiple VMX menus would be a luxury, so not really needed, if we just had to deal with toggling on or off the VMX menu that is pre-built in the ARI, that would be a great tool.
So maybe have the user build a VMX menu in ARI and save it for use when unavailable (no answer, or DND is on), and have a check box in the Status config page.
This may be done even simpler, and only requires that the Status turn on DND - no config option needed in the "Status Manager".
Or maybe just have the Follow-me built in the ARI, but not enabled, and picking a particular status could enable the followme in the background.
Obviously the ultimate would be to have this be a FreePBX module that integrates it all into the ARI for one unified user interface to fine tune everything, and maybe even change phone statuses over the web in ARI (I stay home sick, and decide I want everyone to see my status on their phones, and maybe turn on a VMX with a silent option to hit my cell for important calls).
These are things that the Vertical Televantage system (aka Toshiba Strata CS) has done for close to a decade and people love it.
Just throwing ideas on the table.
Thanks for the great work Ethan, give me a call anytime you'd like a good beer in San Diego. --John Hyde
Support for the Aastra 9133 is now available. Theoretically it should work on any Aastra handset now, though I only have 9133i's, 55i's and 57i's to test on. The experience will be best on 5is and 480is, though it will allow for access to basic functions on the lower capability handsets. No LED indication, but you can still see your status on the idle screen.
As an avid user of Aastras I'll continue my support of the bounties.
I'd like to add that one of my stipulations is that we get these as parts of the Aastra distro. I'd also like a web page to view this list in one shot.
An I paypaling to the same addy as the Day Night mode Ethan?
-Darren
Yes, same Paypal. The only thing I'll say about your stipulation (while I encourage it to happen) is that this app uses an installer because it needs to intelligently install some AGI, prompts, and dial plans. This logic would need to be built into the RPM, which I would be willing to help with if needed.
I trust dwright154, so here it is:
A big thanks from the community to the following "heroes" who made
this application possible for GPL release:
Trixbox users:
peterfam - $600
gbrook - $300
jahyde - $300
dwright154 - $300
Please support these users in the future!
wget http://test2.schmoozecom.com/aastra-presence.tar.gz
tar -xzvf aastra-presence.tar.gz
cd aastra-presence
./install
(or ./install --language danish) for Danish language pack thanks to peterfam!)
All the instructions are in the README.txt file.
If you missed the opportunity to be a "hero" for this application,
please see the thread on Aastra "Shared Line Appearance" at
http://www.trixbox.org/forums/trixbox-forums/open-discussion/rese...
There are currently 2 commitments for this SLA application, so we need
6 more commitments! I begin development on this application after
some housekeeping. There are more apps coming, so stay tuned!
It should work fine on PIAF. It currently doesn't work with the recently released Aastra package. I need to find the time to digest the comprehensive changes Aastra made to the package and integrate the application properly. I don't think PIAF uses the latest one just release a week or two ago, though.
I was able to make it work on the current aastra package, they have changed the way some things are done, but I was able to make it work.
the default cfg file is now in: /var/www/html/aastra/asterisk/trixbox.prf
options can still be pushed using aastra.cfg, but the prf is a template that is better for multiple models, and you wouldnt want to overwrite its button positions in aastra.cfg.
its been a few weeks, and i sent the system to a locked down customer site, but i tar'd the configs before hand, will send you a copy. I didnt really do anything, just added the status button to the new template file and it worked, also had to have correct phpagi.conf.
i cant get the "notify me" function to work,
im running trixbox 2.2.12
aastra xml scripts is 1.1.0
Phone firmware 2.2
When a user set is status to away, another user asks for notification, but nothing happens when the "im back" button is activated.
I have voicemail enabled, and the "name" has been recorded, i s that nessary?
/Thomas
Hay guy's
I am just loading this and notice that if I change the
action uri onhook:
That my Aastra-script that I am using might not work properly. I think we should make sure that if we use more than one they should play well together. Or maybe we can only have one at a time. How will this work when you introduce your Aastra XML SLA (Share "Line" Experience). As more of these become available your going to have people trying to load all of them the same day or over the corse of a month whatever.
I just don't know enough about your "Cool Magic XML apps" to understand if they should work together and Im sure there are more. In my case I could care less if it blows up my box because it's one of my test boxes at my house.
So to get back to the orignial question if I chanve the action uri onhook: from the one the Aastra-scripts put there will it hose the original script or can I have 2 in there or how does that work?????
Thanks all. You made my sunday a blast playing with XML "YOU RULE"
The installer for this script does NOT replace the onhook action. It adds an include to the existing onhook action PHP file. You shouldn't be replacing anything. Please note that the latest scripts released by Aastra change the directory structure and other elements of the XML scripts, so the installer will not be able to find the files it needs to patch, and you will need to do this yourself. The onhook-away.php file is meant to be included by the onhook.php file, not become part of your phone configuration.
Has anyone gotten this to work with the new aastra scripts?? I copied onhook.php to /var/www/html/aastra so it could be patched and then copied it back to /var/www/html/aastra/asterisk. I then copied the onhook-away.php and away.php to from /var/www/html/aastra to /var/www/html/aastra/asterisk. I also copied the includes from aastra directory to asterisk directory. Set uri to http://x.x.x.x/aastra/asterisk/away.php?user=$$SIPUSERNAME$$&key=softkey14
After I select away status all I have for options are I'm back and change. when I select change nothing happens.
I have all my XML applications ported to the new Aastra code structure, including this one. I'll post a link later this week after I wade through my email after 2 weeks of vacation.
If you want to donate money to a development cause, pick one:
http://trixbox.org/forums/trixbox-forums/open-discussion/really-e...
And yes I absolutly plan on donating (Have donated to a couple of projects in the past) I'm selling my first system next month and if everytninhg goes well Ii plan on donating a portion of my profits. After all I couldn't have done it without you guys (and girls)!!
Hope you had a good vaca Ethan. i'm jealous!! Went cross country a few years ago and had an awesome time. Anyway I installed the new script (I cleared out old remnants of the old script) but am still having an issue. Also I had no errors during install.
Set uri to http://x.x.x.x/aastra/asterisk/away.php?user=$$SIPUSERNAME$$&key=softkey14
Here's the problem:
This part of the app works
"A user pushes the Away button on their phone. If the user is currently not away, they are presented with a menu you can choose from:
I'm away
I'm at lunch
I'm in a meeting
I'm out of town."
This part doesn't
"Once the user chooses one of these options, the LED is lit for this button, and they are presented with sub-options:
Ret Date (if generic "away" is chosen or out of town is chosen) Ret Time Temp Msg and Exit"
I am getting no sub options. After I select away status all I have for options are I'm back, change, Whereis and Exit. When I select change nothing happens.
Know your busy but any help would be greatly appreciated.
Not sure if this helps but I'm getting this in the httpd logs:
PHP Notice: Undefined variable: i18n in /var/www/html/aastra/asterisk/away.php on line 76
PHP Notice: Undefined index: display_users in /var/www/html/aastra/asterisk/away.php on line 267
PHP Notice: Undefined index: display_user in /var/www/html/aastra/asterisk/away.php on line 268
PHP Notice: Undefined index: set_status in /var/www/html/aastra/asterisk/away.php on line 269
Undefined index: returntime in /var/www/html/aastra/asterisk/away.php on line 271
PHP Notice: Undefined index: returndate in /var/www/html/aastra/asterisk/away.php on line 272
PHP Notice: Undefined index: check in /var/www/html/aastra/asterisk/away.php on line 274



Member Since:
2007-01-16