User Preferences

User Preferences

Caller preference

  • allows caller to specify how a call should be handled
  • to specify media types: audio, video, whiteboard, …
  • to specify languages (of the callee -- consider for example a help desk call where you want to get help in your choice of language)
  • do you want to reach the callee at home or only at work?, via a landline or on their mobile phone? …
  • examples: should the call be forked or recurse, do you want to use a proxy or redirect, do you want to CANCEL 200 messages or not,

Called party (i.e., Callee) preference

  • accepting or rejecting calls: based on time of day, day of week, location of called party, from unlisted numbers, …

Caller/callee different

    • Callee is passive, caller is active

Thus callee’s preferences must be defined ahead of time (for example by CPL)

However, caller’s preferences can be in request

  • Services (usually) run on callee server
  • A given caller might contact any of a large number of number of servers (each of which will have to decide how to process this caller’s request)

Conclusion: Include caller preferences in request


Transcript

[slide345] And in particular, the called party has to specify somehow and have some mechanism inside their proxy or their user agents that are going to enforce the choices that they actually make. But the difference is that the callee is passive, right? The callee is just sitting there, they don't know when the call is going to happen, but the caller is active. The services usually run on the callee's server. Why is that? Because the callee has to have the server already running to be able to process the requests that are coming in, whereas the [caller's] server, of course, can have their system shut down until they actually want to be able to initiate a session, right? So it's expensive for the callee. And of course, a given caller might contact a very large number of people, and therefore potentially a large number of servers have to be able to process those requests. But in the past, one of the things that students have looked at is just how many different contacts do you have? Right. Most of us don't have that many people that we actually regularly communicate with. So therefore, you can think about doing things like pre-exchanging keys, if you want to be able to have secure communication, pre-exchanging profiles of the behaviors that you would like so that the other parties know, aha, these are the times that it's best to contact this person. We'll see later one of the ideas is being able to specify from a palette of possible profiles, hey, here's the kind of profile that I would like to have, so you don't have to set all of the details. Because otherwise, you have a lot of different things that you might consider.