diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-18 14:16:04 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-18 14:16:04 +0000 |
commit | a3a00e30fc9f971fec48bc2f381350760539fa5b (patch) | |
tree | b9c8c47e2eff7e1cc4821792ca1bc273be5c8143 /rtp.c | |
parent | b094b07edf7698e33f77205e98df7283e32f7038 (diff) |
Send a few more rfc2833 events on hte "down" (bug #3339)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4834 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'rtp.c')
-rwxr-xr-x | rtp.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1105,7 +1105,7 @@ int ast_rtp_senddigit(struct ast_rtp *rtp, char digit) rtpheader[1] = htonl(rtp->lastts); rtpheader[2] = htonl(rtp->ssrc); rtpheader[3] = htonl((digit << 24) | (0xa << 16) | (0)); - for (x=0;x<4;x++) { + for (x=0;x<6;x++) { if (rtp->them.sin_port && rtp->them.sin_addr.s_addr) { res = sendto(rtp->s, (void *)rtpheader, hdrlen + 4, 0, (struct sockaddr *)&rtp->them, sizeof(rtp->them)); if (res <0) @@ -1115,14 +1115,14 @@ int ast_rtp_senddigit(struct ast_rtp *rtp, char digit) , ast_inet_ntoa(iabuf, sizeof(iabuf), rtp->them.sin_addr), ntohs(rtp->them.sin_port), payload, rtp->seqno, rtp->lastts,res - hdrlen); } - if (x ==0) { + if (x == 2) { /* Clear marker bit and increment seqno */ rtpheader[0] = htonl((2 << 30) | (payload << 16) | (rtp->seqno++)); /* Make duration 800 (100ms) */ rtpheader[3] |= htonl((800)); /* Set the End bit for the last 3 */ rtpheader[3] |= htonl((1 << 23)); - } else if ( x < 3) { + } else if ( x < 5) { rtpheader[0] = htonl((2 << 30) | (payload << 16) | (rtp->seqno++)); } } |