Most asterisk installations I’ve been in contact with all rely on hard sip phones ranging from Aastra to Grandstream and even some Cisco. None of which are effective in managing presence. Sure you can customize a programmable button to do it for you, but it requires user intervention, and as I’m sure you can imagine is fairly useless if you don’t remember to use it. This is the beuty of asterisk-im. As the user becomes idle at their PC, it is then safe to assume they have wondered from their desk and its time to start hunting for them.
It’s probably not the best way to do it, but currently we use something like this:
exten => XXXX,n,Dial( SIP/${EXTEN} ${DB(presence/${EXTEN})} ,${DIALOPTIONS});
//Spacing only there to make it easier to read//
The value of DB(presence/$) is currently set manually via a simple web interface.
It can either be a valid dial string, so something like “&SIP/4000” or “&ZAP/g1/0832818712” or it can be an emtpy string for no follow-me.
Asterisk-IM already ties a jabber login to a SIP extension and can currently tweak your queue presence. What I am after is simply extending that same functionality to instead of only tweaking queue presence, also executing customizable manager commands. In our case, we need something simple like a manager command to add or remove a asterisk-DB entry so that we can do something like:
exten => XXXX,n,ExecIf($[${DB(presence/idle/${EXTEN})}=1]|Dial|SIP/${EXTEN}&${FOLLOWME},${DIALOPTIONS});
exten => XXXX,n,ExecIf($[${DB(presence/idle/${EXTEN})}=0]|Dial|SIP/${EXTEN},${DIALOPTIONS});
From another angle, if the whole lot can be managed by the end user from spark plugin, that would be a dream.
So I guess an was to look at it would be that asterisk-im/jabber maintains the presence, but every time it changes, it updates the asterisk dialplan accordingly.
-R
Message was edited by: rhartzenberg
Correct some layout/mark-up issues.