[asterisk-bugs] [JIRA] (ASTERISK-26611) L16/16000 codec send little endian data with chan_sip

Asterisk Team (JIRA) noreply at issues.asterisk.org
Fri Nov 18 02:13:10 CST 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=233820#comment-233820 ] 

Asterisk Team commented on ASTERISK-26611:
------------------------------------------

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

> L16/16000 codec send little endian data with chan_sip
> -----------------------------------------------------
>
>                 Key: ASTERISK-26611
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26611
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General, Codecs/General, Core/RTP
>    Affects Versions: 13.7.0
>         Environment: Ubuntu 14.04.5  on i686 
>            Reporter: Vitaly Khalmansky
>
> I try use L16/16000 codec enabled by allow=slin16 in sip.conf of asterisk-13.7.0 on x86 arch with communication with softphone on top of pj-project.
> When play test wav file peer side heard noise instead of music.
> With other codec selected - music heard as expected.
> I run tests with MixMonitor on asterisk - record is music not noise.
> I convert wav file to raw sln16 and convert it to big-endian (because asterisk can't read big-endian wav files aka RIFX)
> In this case peer heard  music not noise!
> I run tcpdump for catch rtp stream and manually examine raw rtp data and raw sln16 (but big-endian) file.  
> Byte order in this sources is same!
> I make some review for asterisk source code and found: 
> a) asterisk allow to read only little-endian wav files aka RIFF
> b) when this type of file readed always convert to native machine byte order and define this format as slin16
> c) when select codec is L16 same format used and no convertion of byte order before send rtp 
> d) on little-endian machines this cause outgoing stream placed in little-endian byte order
> It breaks of RFC what define L16 have big-endian byte order.



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



More information about the asterisk-bugs mailing list