Bug 26070 - Fails to put a=sendonly and a=recvonly in SDP
Summary: Fails to put a=sendonly and a=recvonly in SDP
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: rakia (show other bugs)
Version: 0.8
Hardware: Other All
: medium normal
Assignee: Mikhail Zabaluev
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2010-01-15 15:24 UTC by Olivier Crête
Modified: 2010-02-16 00:27 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
syslog (from N900) (218.06 KB, text/plain)
2010-01-19 12:28 UTC, Olivier Crête
Details
stdout/stderr (from same call) (4.34 KB, text/plain)
2010-01-19 12:28 UTC, Olivier Crête
Details
tcpdump (from the same call again) (919.87 KB, application/octet-stream)
2010-01-19 12:29 UTC, Olivier Crête
Details
here are logs from tp-ssip from both sides (760.16 KB, application/x-tar-gz)
2010-01-20 11:10 UTC, Olivier Crête
Details

Description Olivier Crête 2010-01-15 15:24:55 UTC
When a unidirectional stream is added (or when a stream direction is changed), tp-ssip fails to put that into the SDP.
Comment 1 Mikhail Zabaluev 2010-01-17 03:46:52 UTC
I long thought it covered... Any specific examples with output under TPSIP_DEBUG=all TPORT_LOG=1?
Comment 2 Olivier Crête 2010-01-17 09:05:22 UTC
You just have to make a sip call between two N900s.
Comment 3 Olivier Crête 2010-01-19 12:28:31 UTC
Created attachment 32724 [details]
syslog (from N900)

Ok, my test case is: I called another device with video off. Then I upgrade to video on one side (so it should be sendonly, it doesnt). Then I upgraded from th other side. Then I downgraded (now the sendonly if there).
Comment 4 Olivier Crête 2010-01-19 12:28:52 UTC
Created attachment 32725 [details]
stdout/stderr (from same call)
Comment 5 Olivier Crête 2010-01-19 12:29:25 UTC
Created attachment 32726 [details]
tcpdump (from the same call again)
Comment 6 Mikhail Zabaluev 2010-01-20 03:21:26 UTC
(In reply to comment #3)
> Created an attachment (id=32724) [details]
> syslog (from N900)
> 
> Ok, my test case is: I called another device with video off. Then I upgrade to
> video on one side (so it should be sendonly, it doesnt).

It shouldn't: this way it allows the remote end to accept the video bidirectionally in the same re-INVITE transaction. The remote pending send flag attests to this on Telepathy side. If the other end accepts it as recvonly, the pending flag should be cleared and the direction drop to send only; but it didn't happen in this case.

> Then I upgraded from
> th other side.

It's interesting what happened on the other end: the response (to CSeq: 110088588 INVITE) was bidirectional already, but the transports had local addresses. That's bad form for rawudp if it had STUN properly set up.
Then, after four seconds, the other client sent its own re-INVITE (CSeq: 125847787 INVITE) with new NATified transport candidates.

Can you replay and collect the logs from the other end, with the same network configuration it used this time?

> Then I downgraded (now the sendonly if there).

That went seemingly all right.
Comment 7 Olivier Crête 2010-01-20 07:12:23 UTC
(In reply to comment #6)

> It shouldn't: this way it allows the remote end to accept the video
> bidirectionally in the same re-INVITE transaction. The remote pending send flag
> attests to this on Telepathy side. If the other end accepts it as recvonly, the
> pending flag should be cleared and the direction drop to send only; but it
> didn't happen in this case.

The other side is also a N900.. When it accepts the video upgrade, it doesn't start sending. So it should add a=recvonly, shouldn't it ?
Comment 8 Mikhail Zabaluev 2010-01-20 07:27:39 UTC
(In reply to comment #7)
> The other side is also a N900.. When it accepts the video upgrade, it doesn't
> start sending. So it should add a=recvonly, shouldn't it ?

Yes it should, that's why I'm asking for logs taken there.
Comment 9 Olivier Crête 2010-01-20 11:10:28 UTC
Created attachment 32747 [details]
here are logs from tp-ssip from both sides

Same use case ..

- 1 calls 2 audio-only
- 1 upgrades to video (recvonly/sendonly are lacking)
- 2 upgrades to video
- 2 downgrades (a=recvonly is represent in INVITE, OK replies with a=sendonly)
- 1 ends call
Comment 10 Mikhail Zabaluev 2010-01-21 04:46:44 UTC
(In reply to comment #9)
> Created an attachment (id=32747) [details]
> here are logs from tp-ssip from both sides

Thanks, I can see the problem now.
Comment 12 Mikhail Zabaluev 2010-02-16 00:27:30 UTC
The fix is merged upstream and available under tag telepathy-sofiasip-0.6.0, pending a proper fd.o release Real Soon Now.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.