ast_sendtext_data() would create an incorrect T.140 text frame which
length include the null terminator byte. It causes ultimately RTP
packets to be send with this trailing 0. The proposed fix just set the
correct length to the text frame
ASTERISK-28089
Reported by: Emmanuel BUU
Tested by: Emmanuel BUU
Change-Id: I7ab1b9ed1e21683b2b667ea0a59d9aba3c77dd96
&& (ast_strlen_zero(content_type) || ast_begins_with(content_type, "text/"))
&& (ast_format_cap_has_type(ast_channel_nativeformats(chan), AST_MEDIA_TYPE_TEXT))) {
struct ast_frame f;
- size_t body_len = strlen(body) + 1;
+ /* T.140 payload does not include the null byte terminator */
+ size_t body_len = strlen(body);
/* Process as T.140 text (moved here from ast_sendtext() */
memset(&f, 0, sizeof(f));