Merged revisions 282859 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r282859 | mnicholson | 2010-08-19 14:44:00 -0500 (Thu, 19 Aug 2010) | 23 lines
  
  Merged revisions 277944 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r277944 | pabelanger | 2010-07-19 15:56:07 -0500 (Mon, 19 Jul 2010) | 16 lines
    
    Regression with T.38 negotiation
    
    Prior to 1.4.26.3 T.38 negotiation worked properly, in the case
    of the reporter.  
    
    (issue #16852)
    Reported by: cfc
    
    (closes issue #16705)
    Reported by: mpiazzatnetbug
    Patches:
          issue16705_2.diff uploaded by ebroad (license 878)
    Tested by: vrban, ebroad, c0rnoTa, samdell3
    
    Review: https://reviewboard.asterisk.org/r/754/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@282860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
Matthew Nicholson 15 years ago
parent c20e1d3f3f
commit d4cc26fa1e

@ -8537,7 +8537,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_set_write_format(p->owner, p->owner->writeformat); ast_set_write_format(p->owner, p->owner->writeformat);
} }
if (ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD) && !ast_sockaddr_isnull(sa) && (!sendonly || sendonly == -1)) { if (ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD) && (!ast_sockaddr_isnull(sa) || !ast_sockaddr_isnull(vsa) || !ast_sockaddr_isnull(tsa) || !ast_sockaddr_isnull(isa)) && (!sendonly || sendonly == -1)) {
ast_queue_control(p->owner, AST_CONTROL_UNHOLD); ast_queue_control(p->owner, AST_CONTROL_UNHOLD);
/* Activate a re-invite */ /* Activate a re-invite */
ast_queue_frame(p->owner, &ast_null_frame); ast_queue_frame(p->owner, &ast_null_frame);
@ -8553,7 +8553,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
if (sip_cfg.notifyhold) if (sip_cfg.notifyhold)
sip_peer_hold(p, FALSE); sip_peer_hold(p, FALSE);
ast_clear_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD); /* Clear both flags */ ast_clear_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD); /* Clear both flags */
} else if (ast_sockaddr_isnull(sa) || (sendonly && sendonly != -1)) { } else if ((ast_sockaddr_isnull(sa) && ast_sockaddr_isnull(vsa) && ast_sockaddr_isnull(tsa) && ast_sockaddr_isnull(isa)) || (sendonly && sendonly != -1)) {
int already_on_hold = ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD); int already_on_hold = ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD);
ast_queue_control_data(p->owner, AST_CONTROL_HOLD, ast_queue_control_data(p->owner, AST_CONTROL_HOLD,
S_OR(p->mohsuggest, NULL), S_OR(p->mohsuggest, NULL),

Loading…
Cancel
Save