Subject: Re: [Sipping] Early media; philosophical discussion

From: William Marshall <[email-masked]>
Date: Tue, 8 Apr 2003 08:50:48 -0400 (EDT)

Francois Audet wrote:
> What I am proposing is that there should be a mechanism in the INVITE to tell the
> gateway NOT to provide early media (at least for ringing). This would solve a lot of
> problems including the forking problem.

Use RFC3312

If the UAC doesn't want to deal with the potential of a forked
request, and/or wants to add an indication in the INVITE that says
"don't send early media" -- there is such a thing defined aleady.
Just use the mechanism in rfc3312 for peconditions.  The UAC then
_knows_ every endpoint that received the forked request, because
it has established a dialog with all of them and exchanged SDP
with all of them.  And if it doesn't want media, "a=inactive"
will do that.

This seems far better than defining a new flag in the INVITE.

Ans just a general comment on forking and media.  Consider the INVITE 
is forked to two destinations that both answer at about the same
time, and both send 200-OK responses, and both start sending media
simultaneously with sending the 200-OK responses.  Due to the
established race condition between media and the signaling response,
it is possible (if not likely) that the two media streams will arrive
at the UAC before the proxy straightens out the multiple answers
and sends a CANCEL (and possibly a BYE) to one of them.  So the UAC
already deals with this worste-possible-case of forked early
media.  Guessing correctly 50% of the time is probably the best
that can reasonably be done.

Bill Marshall
[email-masked]

-----original message-----
From: "Francois Audet" <[email-masked]>
Subject: RE: [Sipping] Early media; philosophical discussion
Date: Mon, 7 Apr 2003 17:58:07 -0700 

What I am proposing is that there should be a mechanism in the INVITE to
tell the 
gateway NOT to provide early media (at least for ringing). This would solve
a lot of 
problems including the forking problem.

I don't see why this would be difficult to do. There is no such thing as
early ringing media that is essential to the call when forking occurs
because
the endpoint receiving it will not be able to play it.

The gateway would do one of the following upon receiving the
no-early-ringing
indication:

1 - Not send early ringing if it knows he difference between early ringing
    and early media-to-avoid-clipping. This is possible only in certain
cases,
    for example when the gateway itself is providing the ringing (for
example
    if the gateway is a PBX or Public Exchange and the call terminates to a 
    phone on the switch). This method when applicable, is preferred because 
    it will avoid any possibility of clipping the "hello".

2 - Not send any early media at all. This is when the gateway does not know
    the difference between early ringing and early media-to-avoid-clipping 
    (for example, when the media is provide by another circuit-switch
upstream,
    when there is tandeming over the PSTN). The gateway will only
"cut-through" 
    when the connection indication is received. Note that there is a
possibility 
    of clipping part of the "hello" under certain circumstances (as we
discussed 
    earlier): however, this possibility would happen anyways since there is
no 
    way for the receiver to distinguish between various overlapping streams.

And yes, for the Native SIP (non-gateway) early media, we could use your
application 
server model. I agree on that (although it would be nice if we didn't need
to include
the join header in all calls, and if somehow the application server could
handle it).

> -----Original Message-----
> From: Gonzalo Camarillo [mailto:[email-masked]] 
> Sent: Friday, April 04, 2003 22:16
> To: Audet, Francois [SC100:4K02:EXCH]
> Cc: 'Christer Holmberg'; Watson, Mark [MOP:EP10:EXCH]; 
> Taylor, Tom-PT [CAR:5N00:EXCH]; [email-masked]'; 'Jon Peterson'
> Subject: Re: [Sipping] Early media; philosophical discussion
> 
> 
> Francois,
> 
> I have already answered this one in another note (I believe I sent it 
> yesterday). The gateway model is appropriate when the UAS is 
> not the one 
> "generating" the early media. This means that, a gateway cannot know 
> whether the early media is optional or not. A gateway does not know 
> whether the early media it is receiving from the 
> circuit-switched part 
> is optional or is essential to the call. Therefore, even if 
> this gateway 
> receives an indication from in the INVITE saying that the requested 
> forked, the gateway CANNOT DO ANYTHING. It needs to send the 
> media anyway.
> 
> However, a pure SIP UAS knows that what it is about to generate is a 
> message that says "Thanks for calling Francois, please wait". 
> Therefore, 
> it sends a separate INVITE (application server model), which 
> the UAC can 
> refuse if it is already overloaded with other stuff.
_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use [email-masked] for questions on current sip
Use [email-masked] for new developments of core SIP

---

From: "Francois Audet" <[email-masked]>
Date: Tue, 8 Apr 2003 11:21:43 -0700

> Well, if the INVITE reaches another gateway the result would 
> still be the same. Early media from the remote PSTN network 
> would not be forwarded, and would not reach the UAC gateway 
> and the PSTN network behind it.

Exactly: that's what we want.

The point is that with forking, in-band ringing is not useful because
it is completely arbitrary. You have to rely on in-band indications.
The UAC will then receive a bunch of 180s/183s (with no media) and decide
how to deal with it. If the UAC is a gateway, it will have to generate
whatever tone it feels appropriate. Gateways have to support this today
because there is never any garantee of in-band tones being provided by the
far-end.

This means absolutely NO modifications to UACs, be them gateways or native
SIP endpoints.

It only means modifications to:
1) Forking proxies
2) UAS gateways providing early media for ringing