[asterisk-bugs] [JIRA] (ASTERISK-21399) RTP Multicast of L16 (type 10): Asterisk and wireshark disagree

Sean Bright (JIRA) noreply at issues.asterisk.org
Tue May 30 10:57:57 CDT 2017


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

Sean Bright commented on ASTERISK-21399:
----------------------------------------

The problem with using Originate here (without passing the {{c(codec)}} option in the dial string) is that it will default to signed linear @ 8kHz. Multicast RTP has no SDP, so Asterisk tries to pick one of the static RTP payload assignments that match signed linear @ 8kHz and erroneously chooses payload 10 (L16 @ 44.1kHz - stereo).

The easiest work around for this is to pass a codec argument in the dial string:

{noformat}
MulticastRTP/basic/224.0.0.5:5000//c(ulaw)
{noformat}

The reason that it works in the {{Dial}} case, is because the channel performing the dial is already ulaw and the MulticastRTP channel picks up on that and uses it.

A better fix would be for MulticastRTP/UnicastRTP to use slin44 by default, and pick up payload code 11 instead of 10. That, coupled with the endianess issue (fix is up for review [here|https://gerrit.asterisk.org/#/c/5729/]) should make it work by default and wouldn't require passing a codec argument.


> RTP Multicast of L16 (type 10): Asterisk and wireshark disagree
> ---------------------------------------------------------------
>
>                 Key: ASTERISK-21399
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21399
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/General, Resources/res_rtp_multicast
>    Affects Versions: SVN
>         Environment: Debian 7.0, wireshark 1.8.2-5wheezy2
>            Reporter: Tzafrir Cohen
>            Severity: Minor
>         Attachments: full-dialed-multirtp.txt, full-originate-multirtp.txt, rtp.cap
>
>
> While trying to debug an RTP multicast issue, I tried to use the following in the Asterisk CLI to send an RTP multicast to the phone:
> originate MulticastRTP/basic/224.0.0.5:5000 application Playback long-test-file
> (The MoH could be used for <long-test-file>)
> The phone (Yealink SIP-T28P) reports that it was sent "HD", and and does not produce any useful sound, apart from low-volume noise.
> In order to reproduce the problem I recorded the sound using:
>   tcpdump -w rtp.cap -s0 'host 224.0.0.5'
> After a while I stopped the multicast channel using 'channel request hangup' and ended the recording. rtp.cap is attached.
> In wireshark:
> 1. Select Analyze -> Decode as -> RTP
> You will note that all packets now are parsed as having "Payload type: 16-bit uncompressed audio, stereo (10)".
> 2. Telephony -> RTP -> Stream Analysis
> 3. Try playing the audio in the player. Nothing heard.
> 4. Save Payload. Save it as 'rtp.sln' and 'play' will play it just fine, so Asterisk did not do anything to the content.



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



More information about the asterisk-bugs mailing list