On 2/28/15 8:05 PM, brez wrote:
Hi Paul,

Please see inline..

On 2/28/2015 10:58 PM, Paul Kyzivat wrote:
On 2/28/15 3:36 PM, brez wrote:
Hello,

Is it possible to establish a session (INVITE) with SDP constructed in
such a way so that neither party initiates a media session, nor
allocates resources (ports) for a non-existent media session?

In principle you can send an initial offer with SDP that has no m-lines.

AFAIK that is valid.

Thanks for giving me direction. This is indeed a valid case which is
described in RFC3264, Section 5, Paragraph 4:

      The offer will contain zero or more media streams (each media stream
      is described by an "m=" line and its associated attributes). Zero
      media streams implies that the offerer wishes to communicate, but
      that the streams for the session will be added at a later time
      through a modified offer.

But I have recently had discussions with someone about this, and about
a UAS that wants to return 488 for this case. I *think* that in
*practice* you will find that many UASs will reject such an offer one
way or another.


Would that depend on the policy of service provider? i.e. you don't want
UAC who doesn't know how it wants to communicate, and by returning 488
you get rid of any such clients requesting your service.

Yes, policy is significant here.

The fundamental issue is that a session without media isn't useful in the long term. To make it useful, somebody has to do something more - typically another offer. But once the first offer is done it isn't clear where the responsibility resides? *Who* should do something? And what?

This isn't written down anywhere. Logically, I think it makes sense that the UA that caused this media-less situation should be responsible for fixing it. So if the initial offer had no m-lines, then that end should take responsibility for making another offer to fix it. (Of course, if it can, then why didn't it do so in the first offer?)

There is also another case, where the initial offer contains m-lines but the answer rejects them all but still accepts the INVITE. *That* case makes more sense. It can happen because the offer had no media acceptable to the answerer, but there are *some* media that the answerer would like to use. But there is danger in accepting the INVITE in this case: if the call has been forked, there might be another fork that will accept the media in the initial invite. If another UA accepts without media, it may preempt that. :-(

There is a special case in the wild: the offer has no media, but is accepted. Then messages are exchanged within the dialog using MESSAGE. (This is arguably an abuse of MESSAGE.) I think the intent to use the dialog this was is signaled somehow, so the answerer knows what to expect.

Bottom line - while this is a *possible* mechanism it seems only suited to some special cases.

        Thanks,
        Paul

_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to