[asterisk-bugs] [JIRA] (ASTERISK-25866) ChanSpy: allow usage of a long queue to store audio frames, to avoid audio loss

Jean Aunis - Prescom (JIRA) noreply at issues.asterisk.org
Fri Mar 25 08:15:56 CDT 2016


Jean Aunis - Prescom created ASTERISK-25866:
-----------------------------------------------

             Summary: ChanSpy: allow usage of a long queue to store audio frames, to avoid audio loss
                 Key: ASTERISK-25866
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25866
             Project: Asterisk
          Issue Type: New Feature
      Security Level: None
          Components: Applications/app_chanspy
    Affects Versions: 13.7.2
            Reporter: Jean Aunis - Prescom
            Severity: Minor


We noticed several times that ChanSpy is randomly losing audio frames, which are not transmitted to the spying party. This is not due to a network issue, as we could prove that Asterisk did not even send these lost frames to the spying peer.

I figured out that these missing frames were actually flushed by the audiohook, because ChanSpy creates its audiohook with the flags AST_AUDIOHOOK_TRIGGER_SYNC and AST_AUDIOHOOK_SMALL_QUEUE.

I suggest two modifications:
# do not set the flag AST_AUDIOHOOK_TRIGGER_SYNC if ChanSpy is called with the option "o", i.e. if we just listen to the incoming audio
# add an option "l" (for Long queue) to ChanSpy: if "l" is set, we do not set the flag AST_AUDIOHOOK_SMALL_QUEUE

As far as I understand, the philosophy of ChanSpy is to spy a channel with a minimum of delay in the audio, at the cost of audio quality. That is why I suggest to add an option instead of just removing the flag.

I made and tested this modification on my own, if you find it valuable I would push it to Gerrit for code review.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list