aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_misdn.c
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-03 16:47:28 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-03 16:47:28 +0000
commit012ceb12eddc29172df6615e64d2c2643128d57a (patch)
tree36fd373f2ed95894517497ae6522d5c641b8cb24 /channels/chan_misdn.c
parent69b854b61fedcf0d2ec4e6126ca2d9e66bff7620 (diff)
removed our own tone creation from misdn_indicate, we just return -1. Now we get a lot fewer blocked in thread blah warnings..
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36867 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r--channels/chan_misdn.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index bf0e7ddad..6d02eebab 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -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: