removed our own tone creation from misdn_indicate, we just return -1. Now we get...
authorChristian Richter <christian.richter@beronet.com>
Mon, 3 Jul 2006 16:47:28 +0000 (16:47 +0000)
committerChristian Richter <christian.richter@beronet.com>
Mon, 3 Jul 2006 16:47:28 +0000 (16:47 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36867 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c
channels/misdn/isdn_lib.c

index bf0e7dd..6d02eeb 100644 (file)
@@ -1779,6 +1779,9 @@ static int misdn_call(struct ast_channel *ast, char *dest, int timeout)
 
        ast_setstate(ast, AST_STATE_DIALING);
        ast->hangupcause=16;
+       
+       if (newbc->nt) stop_bc_tones(ch);
+       
        return 0; 
 }
 
@@ -1945,9 +1948,8 @@ static int misdn_indication(struct ast_channel *ast, int cond, const void *data,
                p->bc->out_cause=17;
                if (p->state != MISDN_CONNECTED) {
                        misdn_lib_send_event( p->bc, EVENT_DISCONNECT);
-                       tone_indicate(p, TONE_BUSY);
+                       return -1;
                } else {
-
                        chan_misdn_log(-1, p->bc->port, " --> !! Got Busy in Connected State !?! ast:%s\n", ast->name);
                }
                break;
@@ -1961,7 +1963,7 @@ static int misdn_indication(struct ast_channel *ast, int cond, const void *data,
                                break;
                        case MISDN_CONNECTED:
                                chan_misdn_log(1, p->bc->port, " --> * IND :\tringing pid:%d but Connected, so just send TONE_ALERTING without state changes \n",p->bc?p->bc->pid:-1);
-                               tone_indicate(p, TONE_ALERTING);
+                               return -1;
                                break;
                        default:
                                p->state=MISDN_ALERTING;
@@ -1987,13 +1989,13 @@ static int misdn_indication(struct ast_channel *ast, int cond, const void *data,
 
                                }
 
+                               chan_misdn_log(1, p->bc->port, " --> * SEND: State Ring pid:%d\n",p->bc?p->bc->pid:-1);
+                               ast_setstate(ast,AST_STATE_RINGING);
                        
                                if ( !p->bc->nt && (p->orginator==ORG_MISDN) && !p->incoming_early_audio ) 
                                        chan_misdn_log(1,p->bc->port, " --> incoming_early_audio off\n");
                                else 
-                                        tone_indicate(p, TONE_ALERTING);
-                               chan_misdn_log(1, p->bc->port, " --> * SEND: State Ring pid:%d\n",p->bc?p->bc->pid:-1);
-                               ast_setstate(ast,AST_STATE_RINGING);
+                                       return -1;
                }
                break;
        case AST_CONTROL_ANSWER:
index 39ec08e..f45f670 100644 (file)
@@ -1878,7 +1878,9 @@ handle_event_nt(void *dat, void *arg)
                        }
                        else cb_log(-1, stack->port, "Couldnt find BC so I couldnt remove the Process!!!! this is a bad port.\n");
        
-                       handle_cr(stack, &frm);
+                       if (handle_cr(stack, &frm)<0) {
+                       }
+
                        free_msg(msg);
                        return 0 ;
                }