diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index d74342cb197adb344b014c3f96e2b89032c8ba83..abf7ae6ae7131c6bddb336d3b74eddfc59b56d6b 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -4139,8 +4139,7 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level) { unsigned int *rtpheader; int hdrlen = 12; - int res; - int payload; + int res, payload = 0; char data[256]; struct ast_rtp *rtp = ast_rtp_instance_get_data(instance); struct ast_sockaddr remote_address = { {0,} }; @@ -4160,7 +4159,7 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level) /* Get a pointer to the header */ rtpheader = (unsigned int *)data; - rtpheader[0] = htonl((2 << 30) | (1 << 23) | (payload << 16) | (rtp->seqno++)); + rtpheader[0] = htonl((2 << 30) | (payload << 16) | (rtp->seqno)); rtpheader[1] = htonl(rtp->lastts); rtpheader[2] = htonl(rtp->ssrc); data[12] = level; @@ -4181,6 +4180,8 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level) AST_RTP_CN, rtp->seqno, rtp->lastdigitts, res - hdrlen); } + rtp->seqno++; + return res; }