Almost 8 years ago, our company started using IP telephony instead of conventional PBX.
IP Telephony uses TCP/IP network, so you only have to have single cable to your desk, for both computer and telephone.
More over, because IP Telephony is the computer network system, telephone handset can be PC software instead of dedicated hardware handset.
It gives a lot of advantages because computer software handset (called soft phone) can make use of other system or databases. For example, telephone book for the soft phone can be employee database of HR System.
IP Telephony came with “presence system” which you can see your buddies status anytime. So you know called party status prior to dialing, then you will not dial while your buddy’s status is either absent or busy.
presence system is somehow convenient, but because it is based on the concept of “telephone availability of desktop handset”, status can be only “at desk”,”absent” ,”busy”, “offline” only, and not enough to tell “the person’s availability”
For example, when I am on bullet train travelling, status of presence system is “absent” because I am out of office, but actually, it is most available time, because I have nothing to do in the train. Further more, I can response to E-mail, but phone conversation won’t be OK in the train.
And another inconvenient is that I can only set “status” from my desktop soft phone. So I can not change status while I am away from my desk.
Recently, our company implemented Google Apps for our information system, and it came with Google talk, Instant Messaging system (called IM).
IM has “status” feature, and I can set any status as I like, so I can set “in the meeting”, “on annual leaf”, ” in transit”, “not in the mood” etc.
(I even can use emoticon for status )