mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-23 16:05:30 -07:00
5f19f10d26
The original chan_websocket implementation attempted to improve the call quality experience by generating silence frames to send to the core when no media was being read from the websocket and padding frames with silence when short frames were read from the websocket. Both of these required switching the formats on the channel to slin for short periods of time then switching them back to whatever format the websocket channel was configured for. Unfortunately, the format switching caused issues when transcoding was required and the transcode_via_sln option was enabled in asterisk.conf (which it is by default). The switch would cause the transcoding path to be incorrectly set resulting in malformed RTP packets being sent back out to the caller on the other end which the caller heard as loud noise. After looking through the code and performing multiple listening tests, the best solution to this problem was to just remove the code that was attempting to generate the silence. There was no decrease in call quality whatsoever and the code is a bit simpler. None of the other channel drivers nor res_rtp_asterisk generate silence frames or pad short frames which backed up decision. Resolves: #1785