Awareness could be obtained in several ways. One way of location awareness is the mainframish login procedure. But a more attractive way of doing it is using some kind of wearable computer or active badge. Sensors in the room are detecting the badges that are sending their identities. A server is collecting location information.
Services can query the server about a users location.
The mobile devices can get location information from transmitters in the room. The transmitters are sending information about the location. The use of it is limited only by the application. I built my own badge based on the BasicStamp. It is sending a reference consisting of an IP-address and a identity.