Shaun Stokes <shaun@sysconfig.cloud> writes:
> The problem occurs when the 3rd party sends an SDP with the media
> attribute 'a=sendonly' on an existing session then follow with a
> RE-INVITE with-out an SDP, they claim that our 2xx offer in response
> should contain an SDP with-out 'a=sendonly' (or replace with
> 'a=sendrecv') based on the interpretation of a "brand new call" used
> below. Anthony Minessale II (FreeSWITCH lead) claims that "brand new
> call" is only intended to refer to codecs (not all media attributes)
> and that the 3rd party (Broadsoft) invented this concept on their own.

You aren't providing a very clear description of the specific sequence
of events.  But I don't think that matters.  There are general
principles which clarify many situations.

The first principle is that the standards allow devices a wide range of
behaviors, and many allowed behaviors are not very useful in practical
systems.  In the case of providing SDP within an existing dialog, there
are specific rules that a particular media stream (a sequential m-line
in the SDP) may not change its media type, and codec numbers should not
be assigned to different codecs.  But there is no MUST about e.g. what
directional attributes must be supplied.

The second general principle is that when a UA provides an offer, it
should (but not must) offer all the communication possbilities it is
willing to support (at that moment).  Adhering to this maximizes the
chance that the two UAs will agree on SDP that allows useful
communication.

A third general principle is that when a UA receives an answer, it must
be prepared to receive any subset of what it offered, and make the best
of it.

A fourth general principle is that when a UA receives an offer, it must
be prepared to receive pretty much anything (within the few rules that
apply to offer/answer generally), and provide an answer which is some
subset of the offer.

If you want a more detailed analysis, you'll have to provide a skeleton
of an actual message exchange.  And for that matter, a clear statement
of what you don't like about the situation.

One item I notice in your text, and I cannot tell whether it is simply a
typo, is that you speak of the far endpoint sending SDP with a=sendonly,
that is, media coming to you but not from you.  Then you speak of the
near endpoint sending SDP with a=sendonly, which means, media coming
from you but not to you.  If the near endpoint was attempting to repeat
the current status of the media session, it would send a=recvonly.

As stated, the offer by the near endpoint is a=sendonly, and if the far
endpoint is in a state where it is only willing to send media, the
answer must contain a=inactive.  That leaves a state that is
standards-compliant, but probably not useful.

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

Reply via email to