Elison Niven
2008-07-05 04:56:24 UTC
Hi,
If an offer contains an a=sendonly line and the answer does not contain any
a=___ line,
What does that imply? Does that mean the remote UA has not accepted the mode
request and is still using sendrecv mode?
RFC 4566,sec 6:
a=sendrecv
...
If none of the attributes "sendonly", "recvonly", "inactive",
and "sendrecv" is present, "sendrecv" SHOULD be assumed as the
default for sessions that are not of the conference type
"broadcast" or "H332" (see below).
Does that mean the remote UA is still using the sendrecv mode?
Is it alright for a UA to expect the remote UA to send a=recvonly in the
answer to indicate acceptance of the mode when it sends a=sendonly in the
offer?
Look at this example from RFC4317:
3.2. Hold with Two Streams
In this example, two audio streams have been established in the first
offer/answer exchange. In this second offer/answer exchange, one of
the audio streams is placed on hold. Alice offers two media streams,
a bidirectional audio stream and a send-only telephone event stream.
Bob accepts both streams. Bob then puts Alice's audio stream on hold
but not the tone stream. Alice responds with identical SDP to the
initial offer.
[Offer]
v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s=
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 97
a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000
m=audio 49172 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=sendonly
[Answer]
v=0
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s=
c=IN IP4 host.biloxi.example.com
t=0 0
m=audio 49172 RTP/AVP 97
a=rtpmap:97 iLBC/8000
m=audio 49174 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=recvonly
[Second-Offer]
v=0
o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
s=
c=IN IP4 host.biloxi.example.com
t=0 0
m=audio 49172 RTP/AVP 97
a=rtpmap:97 iLBC/8000
a=sendonly
m=audio 49174 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=recvonly
[Second-Answer]
v=0
o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
s=
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 97
a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000
m=audio 49172 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=sendonly
See that in the second offer, Bob sends an a=sendonly line to put Alice on
hold, but Alice does not send it.
Shouldn't Alice put an a=recvonly line in the answer to indicate the
acceptance of the mode? Or is she still using a=sendrecv?
Regards,
Elison
If an offer contains an a=sendonly line and the answer does not contain any
a=___ line,
What does that imply? Does that mean the remote UA has not accepted the mode
request and is still using sendrecv mode?
RFC 4566,sec 6:
a=sendrecv
...
If none of the attributes "sendonly", "recvonly", "inactive",
and "sendrecv" is present, "sendrecv" SHOULD be assumed as the
default for sessions that are not of the conference type
"broadcast" or "H332" (see below).
Does that mean the remote UA is still using the sendrecv mode?
Is it alright for a UA to expect the remote UA to send a=recvonly in the
answer to indicate acceptance of the mode when it sends a=sendonly in the
offer?
Look at this example from RFC4317:
3.2. Hold with Two Streams
In this example, two audio streams have been established in the first
offer/answer exchange. In this second offer/answer exchange, one of
the audio streams is placed on hold. Alice offers two media streams,
a bidirectional audio stream and a send-only telephone event stream.
Bob accepts both streams. Bob then puts Alice's audio stream on hold
but not the tone stream. Alice responds with identical SDP to the
initial offer.
[Offer]
v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s=
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 97
a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000
m=audio 49172 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=sendonly
[Answer]
v=0
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s=
c=IN IP4 host.biloxi.example.com
t=0 0
m=audio 49172 RTP/AVP 97
a=rtpmap:97 iLBC/8000
m=audio 49174 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=recvonly
[Second-Offer]
v=0
o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
s=
c=IN IP4 host.biloxi.example.com
t=0 0
m=audio 49172 RTP/AVP 97
a=rtpmap:97 iLBC/8000
a=sendonly
m=audio 49174 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=recvonly
[Second-Answer]
v=0
o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
s=
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 97
a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000
m=audio 49172 RTP/AVP 98
a=rtpmap:98 telephone-event/8000
a=sendonly
See that in the second offer, Bob sends an a=sendonly line to put Alice on
hold, but Alice does not send it.
Shouldn't Alice put an a=recvonly line in the answer to indicate the
acceptance of the mode? Or is she still using a=sendrecv?
Regards,
Elison