[asterisk-bugs] [JIRA] (ASTERISK-28832) chan_mobile creates PCMA streams that make some VoIP clients crash or not render received audio

George Joseph (JIRA) noreply at issues.asterisk.org
Wed Apr 15 08:31:25 CDT 2020


     [ https://issues.asterisk.org/jira/browse/ASTERISK-28832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Joseph updated ASTERISK-28832:
-------------------------------------

    Status: Open  (was: Triage)

> chan_mobile creates PCMA streams that make some VoIP clients crash or not render received audio
> -----------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-28832
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28832
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Addons/chan_mobile
>    Affects Versions: 16.2.1
>         Environment: Tested and debugged on debian stretch on arm hardware (RPi 3).
> VoIP clients:
> - Gigaset VoIP N510 Pro (no audio)
> - Yeahlink SIP-T54W (no audio)
> - Linux VoIP client (crashes, not yet disclosed)
> BT Hardware:
> - iPhone XS
> - iPad Mini 3
> - Samsung Galaxy  GT-S7582
> Logical setup:
> User A <-> Mobile Network <-> BT-Hardware <-> chan_mobile <-> asterisk <-> pjsip <-> VoIP Client <-> User B
>            Reporter: Peter Turczak
>
> When using above combination, various VoIP clients (at user B's side) behave erratically.
> The problem occur to both calls from user A to user B and vice-versa. 
> In both cases, audio from B gets to A flawlessly. Audio from B to A either is replaced by silence on B's end or crashes the client altogether.
> Using wireshark at B's side, both audio streams played flawlessly. I saw that A->B packets contained only 48 byte payload per packet, while B-> A contained 160 byte payload/packet.
> I built several test fixtures and found out that RTP data frames with payload length below approximatly 80 bytes will crash or make several clients go deaf.
> Reading RFC 3551, section 4.2 states:
> {quote} A receiver SHOULD accept packets representing between 0 and 200 ms of audio data.  (For framed audio encodings, a receiver SHOULD accept packets with a number of frames  equal to 200 ms divided by the frame duration, rounded up.)  This restriction allows reasonable buffer sizing for the receiver.
> {quote}
> So this is basically a client issue, but all clients available to me are affected. To try out my theory, I built a patch for asterisk to use a smoother to repacketize the incoming stream from the BT device to the channel frame size.
> I'd like to contribute my patch if there is interest in it.



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



More information about the asterisk-bugs mailing list