https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r64515 | crichter | 2007-05-16 10:44:51 +0200 (Mi, 16 Mai 2007) | 9 lines
Merged revisions 64513 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r64513 | crichter | 2007-05-16 10:23:42 +0200 (Mi, 16 Mai 2007) | 1 line
in the case immediate=yes, we directly jump into the dialplan, where people can use PlayTones to indicate a Dialtone, so we don't need to to that by ourself. also we should not do a dialtone_indicate for incoming calls on a TE port in overlapdialmode.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64963
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
if ( !frame->samples ) {
chan_misdn_log(4, ch->bc->port, "misdn_write: zero write\n");
if ( !frame->samples ) {
chan_misdn_log(4, ch->bc->port, "misdn_write: zero write\n");
- if (ch->state == MISDN_WAITING4DIGS) {
- chan_misdn_log(4, ch->bc->port, "misdn_write: WAIT4DIGS ..\n");
+ if (!strcmp(frame->src,"ast_prod")) {
+ chan_misdn_log(1, ch->bc->port, "misdn_write: state (%s) prodded.\n", misdn_get_ch_state(ch));
+
+ if (ch->ts) {
+ chan_misdn_log(4,ch->bc->port,"Starting Playtones\n");
+ misdn_lib_tone_generator_start(ch->bc);
+ }
if (ts) {
cl->notxtone=0;
cl->norxtone=0;
if (ts) {
cl->notxtone=0;
cl->norxtone=0;
+ /* This prods us in misdn_write */
ast_playtones_start(ast,0, ts->data, 0);
ast_playtones_start(ast,0, ts->data, 0);
- chan_misdn_log(4,cl->bc->port,"Starting Playtones\n");
- misdn_lib_tone_generator_start(cl->bc);
ch->state = MISDN_INCOMING_SETUP;
}
ch->state = MISDN_INCOMING_SETUP;
}
- if ( !bc->nt && (ch->originator==ORG_MISDN) && !ch->incoming_early_audio )
- chan_misdn_log(1,bc->port, " --> incoming_early_audio off\n");
- else
- dialtone_indicate(ch);
-
chan_misdn_log(1, bc->port, "* Starting Ast ctx:%s dad:%s oad:%s with 's' extension\n", ast->context, ast->exten, ast->cid.cid_num);
strncpy(ast->exten,"s", 2);
chan_misdn_log(1, bc->port, "* Starting Ast ctx:%s dad:%s oad:%s with 's' extension\n", ast->context, ast->exten, ast->cid.cid_num);
strncpy(ast->exten,"s", 2);
if ( !dad_len && stop_tone )
stop_indicate(ch);
else
if ( !dad_len && stop_tone )
stop_indicate(ch);
else
+ if (bc->nt)
+ dialtone_indicate(ch);
if (ch->overlap_dial && !dad_len) {
if (ch->overlap_dial && !dad_len) {