Summary: | ASTERISK-01624: [patch] libiax2: combined sync with iaxclient: jitterbuffer, acking, PING response, and more. | ||
Reporter: | stevekstevek (stevekstevek) | Labels: | |
Date Opened: | 2004-05-14 18:16:59 | Date Closed: | 2004-09-25 02:46:01 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) libiax2-digium.patch | |
Description: | Here's some changes from iaxclient: all are either by me/my company and disclaimed, or from contributors with digium disclaimers on file [Steve Sokol or Michael van Donselaar] Jitter Buffering / timestamps - Only update history on voice frames, and not on retransmitted frames. - Defensiveness: drop wacko-timestamped voice frames. - always set min timestamp increment to 3, allowing shrinking by 2 on remote j/b without reordering. - basic port of asterisk's timestamp prediction to libiax2 [please let me know if this is OK, Mark GPL vs LGPL]. - don't update j/b history on non-voice or retransmitted frames. - use a larger jitter window [history], and shrink more slowly. Other: - Never turn last_ts backwards (i.e. an old retransmit making miniframe time-reconstruction broken) - Act upon PING/PONG immediately, not through jitter buffer. - Send ACKS when we should (we only did for IAX and VOICE frames, not for things like answer/text etc), but we _would_ ack those on retransmit.. - Remove old iax_do_event: It's value as a reference is negated by the real annoyance it makes in searching/debugging. If you want to see the old code, look at iax-0.2.3 or whatnot.. - quelch_moh | ||
Comments: | By: stevekstevek (stevekstevek) 2004-05-14 18:19:17 NOTE: We're still testing this stuff, especially the following: - ACKs - immediate PING/PONG - last_ts backward The other parts we've been testing for 1 or more weeks. By: Mark Spencer (markster) 2004-05-15 01:03:18 I went ahead and put it in. If it's broken just reopen |