ZhuChaozheng / libjingle

Automatically exported from code.google.com/p/libjingle
0 stars 0 forks source link

New session state( received initiate ack), and added timeout for ack #402

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Take two browsers and two users logged into gmail. 
2. Close browser of user 1. 
3. Have user 2 call user 1. 
4. Times out after a large delay, maybe 50 seconds based on unwritable stream 
delay in sessionmanager.cc.

What is the expected output? What do you see instead?

If a user goes offline via a loss of connectivity, and you try to place a call 
to this user, the library has a default delay for writable stream. Since all 
requests are acked in the jingle protocol, I think it's an reasonable 
enhancement to actually track the receivedinitiate_ack as a new session state 
in session.cc, and also add a new error for an ack timeout, which could be much 
smaller, say 3 seconds. In the case of phones for example, waiting for this ack 
would signify that it's ringing on the other side, and before you receive the 
ack, you would be in a call setup or connecting state.

Diff of proposed changes attached.

Original issue reported on code.google.com by l...@tuenti.com on 17 Oct 2012 at 11:24

Attachments: