Subject: Re: not able to understand the call flow for Home Phone implementation

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 06 Jan 2000 10:03:24 -0500

You are right in that a SIP UA, as currently specified, won't be able to
get home line type of service. It can be done in the way described in
this paper, but it requires changes to the behavior of the UA, although
no changes to the protocol itself, depending on how its done. It also
requires the caller to be "cooperative" - they will receive multiple 200
OK as each extension picks up, and they need to initiate a multi-party
conference to do it. Basically, if you use multicast instead of forking,
you don't need protocol extensions, just some new behaviors in the UA. 
If you want to rely on forking rather than multicast, you need somewhat
more complex extensions.

When using multicast, the UA basically snoops on the multicast group for
BYEs and other 200 OKs. This allows it to build a complete picture of
what other extensions have picked up, hung up, or been hung up on. Based
on this, it can, in a distributed fashion, figure out the state of the
call. If there are calls active, a user picking up the phone would cause
the phone to send a 200 OK for the call. 

For forking, snooping of BYEs and other messages is not feasible, so
some extensions are needed. However, doing this means you home line
extensions could actually be anywhere in the world. Pretty cool. 

There are other ways to do it which hide from the caller the fact that
multiple extensions have picked up. This is more like how the current
home phone service works. 

Are many people interested in this? If there are many folks who would
like to see some work on SIP extensions required for home line service,
it might be something worthwhile to consider.

-Jonathan R.

ANIRBAN ROY wrote:
> 
> hi,
> I am trying to figure out how to get a home phone functionality in SIP.
> The home phone has the following functionality
> 1    When a call comes all phones in the home ring
> 2    When one picks up, all other line must stop ringing
> 3    A user can picks up from any other telephone in the home and join
> an existing call.
> 
>                                A scenario is there where A calls a Home
> Phone which has Three connection B, C, D in his home
> 
> When a calls to a home phone which has 3 connection (B, C, D) lands on
> proxy, then proxy forks the INVITE message to B, C, D. so every phone
> starts ringing. This is the first character of Home Phone. Now Let's say
> 
> B picks up the phone then Proxy sends CANCEL message to C and D so that
> the ringing can stop. This fulfills the Second point of Home Phone.
> 
> I am not able to get the call flow for the Third point in home Phone. If
> 
> lets say C picks up the phone (when both A and C in conversation)then he
> should also be in session with A
> and B. How can this be done because When a CANCEL message is received by
> 
> C and D then they both reached the state where they can only expect
> INVITE.
> 
> Can any one please tell me how the call flow for the third point in the
> home phone.
> 
> The above points of Home phone were taken from the -----Bell Labs
> Journal (October-December 1998)
> 
> regards
> Anirban

-- 
Jonathan D. Rosenberg                       200 Executive Drive
Chief Scientist                             Suite 120 
dynamicsoft                                 West Orange, NJ 07052
[email-masked]                     FAX:   (732) 741-4778
http://www.cs.columbia.edu/~jdrosen         PHONE: (732) 741-7244
http://www.dynamicsoft.com

---

From: Henry Sinnreich <[email-masked]>
Date: Thu, 06 Jan 2000 16:16:29 -0600

Jonathan,

>Basically, if you use multicast instead of forking,

I believe the zeroconf WG
http://www.ietf.org/html.charters/zeroconf-charter.html
is counting on multicast for home networks for a number of reasons.
Multicast may be a valid approach.

Henry

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]On Behalf Of Jonathan
Rosenberg
Sent: Thursday, January 06, 2000 9:03 AM
To: ANIRBAN ROY
Cc: [email-masked]
Subject: Re: not able to understand the call flow for Home Phone
implementation

-Jonathan R.

---

From: "Daniel G. Petrie" <[email-masked]>
Date: Thu, 06 Jan 2000 22:35:04 -0500

This is not far from, if at all different than, what some call "multiple
station appearances".  This is a feature for which I would like to see a
a standard solution.  We proposed this to the TIA as a recommended
feature for SIP IP phones.

---

From: "David Oran" <[email-masked]>
Date: Fri, 7 Jan 2000 12:44:48 -0500

Of course, another way to think about this is that there is only one UA, and
the different instruments in the house are not in fact separate SIP UAs,
since there's only one phone number and one "call" at a time on all of them.
In this case, you could use MGCP or Megaco to have the user agent control
the various instruments and use multicast or an RTP mixer to distribute the
audio properly.

Whether this approach is at all desirable hinges on a number of factors.
Here's some test cases:
a)If two of the home phones are currently talking to someone and one of the
two hangs up, can it now make an outgoing call? If the answer is yes, then
this isn't really the same as multiple instruments sharing a "line".
b)If I pick up a phone while somebody else is talking on another, do I get a
choice as to whether I join the current call or not?
c)If the far end hangs up, do the home phones stay in communication
indefinitely, or do they eventually get howler tone indicating you forgot to
hang up the line?
d)If one of the phones is currently off hook dialing out, are incoming calls
blocked to all the other phones?

So, do you REALLY want to exactly emulate the shared-line semantics of
current POTS phones?

Dave.

> Sent: Thursday, January 06, 2000 10:03 AM
> To: ANIRBAN ROY

---

From: Jonathan Rosenberg <[email-masked]>
Date: Fri, 07 Jan 2000 13:08:02 -0500

> So, do you REALLY want to exactly emulate the shared-line semantics of

I'm not at all sure we want to emulate the current semantics. For one, I
kind of like the capability of knowing when (and who) picks up on
several extensions; this would argue for these devices being SIP UAs and
sending a 200 OK as each picks up. If we take on this work (which there
does seem sufficient interest to do), the first task is to figure out
which scenarios are supported. It may turn out that the spec is some
general extensions and then a description of how some number of
different cases might be supported.

-Jonathan R.

---

From: "David Oran" <[email-masked]>
Date: Fri, 7 Jan 2000 13:33:03 -0500

> From: Jonathan Rosenberg [mailto:[email-masked]]
> Sent: Friday, January 07, 2000 1:08 PM
> To: David Oran
> Cc: ANIRBAN ROY; [email-masked]
[snip] 
> I'm not at all sure we want to emulate the current semantics. 
Bingo. My view exactly. That's why I started listing the mind-benders.

---

From: Henry Sinnreich <[email-masked]>
Date: Fri, 07 Jan 2000 14:41:25 -0600

Dave,
>the various instruments

and have the call agent for consumers in the LEC CO? Perish the thought.

Henry

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]On Behalf Of David Oran
Sent: Friday, January 07, 2000 11:45 AM
To: Jonathan Rosenberg; ANIRBAN ROY
Cc: [email-masked]
Subject: RE: not able to understand the call flow for Home Phone
implementation

Dave.