Merged revisions 193614 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r193614 | rmudgett | 2009-05-11 14:11:29 -0500 (Mon, 11 May 2009) | 19 lines
  
  Merged revisions 193613 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r193613 | rmudgett | 2009-05-11 14:09:00 -0500 (Mon, 11 May 2009) | 12 lines
    
    Sent wrong message to clear a call we started if the other end has not responed yet.
    
    In the state MISDN_CALLING (i.e. SETUP was sent but no answer has arrived yet),
    it is not allowed to clear the call with RELEASE_COMPLETE.  It must be
    cleared with DISCONNECT.  A RELEASE_COMPLETE is only allowed as an answer
    to a SETUP.  (See Q.931 ch. 5.3.2, 5.3.2.a, 5.3.2.b)
    
    Patches:
        chan-misdn-ccstate7.patch uploaded by customer.
    
    JIRA ABE-1862
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@193615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Richard Mudgett 16 years ago
parent 156d70ea47
commit d111483ab8

@ -2824,12 +2824,11 @@ static int misdn_hangup(struct ast_channel *ast)
switch (p->state) {
case MISDN_INCOMING_SETUP:
case MISDN_CALLING:
p->state = MISDN_CLEANING;
/* This is the only place in misdn_hangup, where we
* can call release_chan, else it might create lot's of trouble
* */
ast_log(LOG_NOTICE, "release channel, in CALLING/INCOMING_SETUP state.. no other events happened\n");
ast_log(LOG_NOTICE, "release channel, in INCOMING_SETUP state.. no other events happened\n");
release_chan(bc);
misdn_lib_send_event( bc, EVENT_RELEASE_COMPLETE);
break;
@ -2850,6 +2849,7 @@ static int misdn_hangup(struct ast_channel *ast)
misdn_lib_send_event( bc, EVENT_DISCONNECT);
break;
case MISDN_CALLING:
case MISDN_ALERTING:
case MISDN_PROGRESS:
case MISDN_PROCEEDING:

Loading…
Cancel
Save