]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 193614 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Mon, 11 May 2009 19:16:10 +0000 (19:16 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 11 May 2009 19:16:10 +0000 (19:16 +0000)
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.1@193616 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c

index b5c43d6e10af5b498127bdbee6a9596cd937ac0c..cd8876e5bae710d8d490cb0abd39df84bcc92618 100644 (file)
@@ -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: