Asterisk
  1. Asterisk
  2. ASTERISK-5230

[patch] Asynchronous generation of outgoing frames when timing device available

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Severity: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Core/General
    • Labels:
      None
    • Mantis ID:
      5374
    • Regression:
      No

      Description

      One common complain from Asterisk users is its inability to generate outgoing RTP packets when incoming packets stop arriving, due to silence supression, for example. This is due to the fact that Asterisk generates outgoing frames in the same function where incoming frames are processed (ast_read). When this routine isn't called, outgoing framnes aren't generated either (well, unless a CNG frame arrives, which served as inspiration for this patch.)

      This patch basically forces Asterisk to always generate outgoing frames asynchronously when a timing device is available (zaptel). On the other end, if a timing device isn't available, Asterisk will fall back to generate outgoing frames synchronously, in ast_read.

      This patch was only tested for a few hours with a couple of SIP clients. As such, I cannot guarantee in any way, shape of form that it will work for everybody. It is my hope, however, that people test this patch and report any possible issues.

                • ADDITIONAL INFORMATION ******

      (NOTE: I faxed the disclaimer but never got any confirmation back from anyone.)

        Activity

        Hide
        dea added a comment -

        I have an older version of the patch running against SVN-trunk-r7668M
        and am quite pleased.

        Unforunately I cannot upgrade at this time, so I don't know how much
        value this report has.

        Show
        dea added a comment - I have an older version of the patch running against SVN-trunk-r7668M and am quite pleased. Unforunately I cannot upgrade at this time, so I don't know how much value this report has.
        Hide
        hypherion added a comment -

        I still cannot get internal_timing to actually enable on test-this-branch. It doesn't complain about the -I option anymore, but even with internal_timing=yes in asterisk.conf, it tells me it is disabled. It was working great when it was silence_suppresion.

        Show
        hypherion added a comment - I still cannot get internal_timing to actually enable on test-this-branch. It doesn't complain about the -I option anymore, but even with internal_timing=yes in asterisk.conf, it tells me it is disabled. It was working great when it was silence_suppresion.
        Hide
        Olle Johansson added a comment -

        Committed to svn trunk after approval by markster.

        Restored CNG support, fixed documentation and some other issues.

        Thanks everyone for your hard work with code and testing - this is how we extend Asterisk!

        /Olle and Mark

        Show
        Olle Johansson added a comment - Committed to svn trunk after approval by markster. Restored CNG support, fixed documentation and some other issues. Thanks everyone for your hard work with code and testing - this is how we extend Asterisk! /Olle and Mark
        Hide
        Olle Johansson added a comment -

        Rev 16473

        Show
        Olle Johansson added a comment - Rev 16473
        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 14189

        A team/oej/rtptiming/

        ------------------------------------------------------------------------
        r14189 | oej | 2008-01-15 17:47:22 -0600 (Tue, 15 Jan 2008) | 2 lines

        Issue ASTERISK-5230 - Internal timing for RTP

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=14189

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 14189 A team/oej/rtptiming/ ------------------------------------------------------------------------ r14189 | oej | 2008-01-15 17:47:22 -0600 (Tue, 15 Jan 2008) | 2 lines Issue ASTERISK-5230 - Internal timing for RTP ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=14189

          Dates

          • Created:
            Updated:
            Resolved:

            Development