From: Russell Bryant Date: Tue, 30 Jan 2007 19:36:28 +0000 (+0000) Subject: Merged revisions 52952 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~3327 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d11f8b7ccd97a6c7cb8ac32a4ebd0a49a059086b;p=thirdparty%2Fasterisk.git Merged revisions 52952 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r52952 | russell | 2007-01-30 13:33:12 -0600 (Tue, 30 Jan 2007) | 5 lines Only set the DTMF flag on the rtp structure if the DTMF mode is actually RFC2833, not just that it is not INFO. This makes it get set for inband DTMF as well, which is not valid. (issue #8936) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52953 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d3c611df88..c1478a53c7 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2756,7 +2756,7 @@ static int create_addr_from_peer(struct sip_pvt *dialog, struct sip_peer *peer) do_setnat(dialog, ast_test_flag(&dialog->flags[0], SIP_NAT) & SIP_NAT_ROUTE ); if (dialog->rtp) { - ast_rtp_setdtmf(dialog->rtp, ast_test_flag(&dialog->flags[0], SIP_DTMF) != SIP_DTMF_INFO); + ast_rtp_setdtmf(dialog->rtp, ast_test_flag(&dialog->flags[0], SIP_DTMF) == SIP_DTMF_RFC2833); ast_rtp_setdtmfcompensate(dialog->rtp, ast_test_flag(&dialog->flags[1], SIP_PAGE2_RFC2833_COMPENSATE)); ast_rtp_set_rtptimeout(dialog->rtp, peer->rtptimeout); ast_rtp_set_rtpholdtimeout(dialog->rtp, peer->rtpholdtimeout); @@ -4341,7 +4341,7 @@ static struct sip_pvt *sip_alloc(ast_string_field callid, struct sockaddr_in *si free(p); return NULL; } - ast_rtp_setdtmf(p->rtp, ast_test_flag(&p->flags[0], SIP_DTMF) != SIP_DTMF_INFO); + ast_rtp_setdtmf(p->rtp, ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_RFC2833); ast_rtp_setdtmfcompensate(p->rtp, ast_test_flag(&p->flags[1], SIP_PAGE2_RFC2833_COMPENSATE)); ast_rtp_settos(p->rtp, global_tos_audio); ast_rtp_set_rtptimeout(p->rtp, global_rtptimeout); @@ -13556,7 +13556,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int build_contact(p); /* Build our contact header */ if (p->rtp) { - ast_rtp_setdtmf(p->rtp, ast_test_flag(&p->flags[0], SIP_DTMF) != SIP_DTMF_INFO); + ast_rtp_setdtmf(p->rtp, ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_RFC2833); ast_rtp_setdtmfcompensate(p->rtp, ast_test_flag(&p->flags[1], SIP_PAGE2_RFC2833_COMPENSATE)); }