diff options
author | Matthew Nicholson <mnicholson@digium.com> | 2011-06-09 17:43:27 +0000 |
---|---|---|
committer | Matthew Nicholson <mnicholson@digium.com> | 2011-06-09 17:43:27 +0000 |
commit | 53ef4bfc1642df5e3b63c425f386c5a35d10bdd8 (patch) | |
tree | da408ed2e7d5f234f5c022d3a2db3c858984242c /channels | |
parent | 0a8f9d2cf0872be7ffc623066c4220de3bdfb97c (diff) |
Merged revisions 322807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r322807 | mnicholson | 2011-06-09 12:37:07 -0500 (Thu, 09 Jun 2011) | 5 lines
don't drop any voice frames when checking for T.38 during early media
(closes issue ASTERISK-17705)
Review: https://reviewboard.asterisk.org/r/1186/
patch by oej
reported by oej
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index bcb4ea73a..30125bb2c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6344,7 +6344,11 @@ static int sip_write(struct ast_channel *ast, struct ast_frame *frame) } if (p) { sip_pvt_lock(p); - if (p->rtp) { + if (p->t38.state == T38_ENABLED) { + /* drop frame, can't sent VOICE frames while in T.38 mode */ + sip_pvt_unlock(p); + break; + } else if (p->rtp) { /* If channel is not up, activate early media session */ if ((ast->_state != AST_STATE_UP) && !ast_test_flag(&p->flags[0], SIP_PROGRESS_SENT) && @@ -6355,12 +6359,9 @@ static int sip_write(struct ast_channel *ast, struct ast_frame *frame) transmit_provisional_response(p, "183 Session Progress", &p->initreq, TRUE); ast_set_flag(&p->flags[0], SIP_PROGRESS_SENT); } - } else if (p->t38.state == T38_ENABLED) { - /* drop frame, can't sent VOICE frames while in T.38 mode */ - } else { - p->lastrtptx = time(NULL); - res = ast_rtp_instance_write(p->rtp, frame); } + p->lastrtptx = time(NULL); + res = ast_rtp_instance_write(p->rtp, frame); } sip_pvt_unlock(p); } |