diff -ru asterisk-1.2.16/channels/chan_zap.c asterisk-1.2.16-cnet/channels/chan_zap.c --- asterisk-1.2.16/channels/chan_zap.c 2007-02-14 10:25:49.000000000 -0600 +++ asterisk-1.2.16-cnet/channels/chan_zap.c 2007-03-02 20:12:06.000000000 -0600 @@ -536,6 +536,7 @@ int priindication_oob; int radio; + int hearpulsing; /* (CNET) FXO pulsing audible to caller */ }; /** returns a new zt_chan_conf with default values (by-value) */ @@ -665,7 +666,10 @@ * kept as the one without the comma. for the moment, * until we add all fields. */ - .radio = 0 + .radio = 0, + + /* (CNET) Make FXO pulsing audible */ + .hearpulsing = 0 }; return chan_conf; @@ -750,6 +754,7 @@ unsigned int r2blocked:1; unsigned int sigchecked:1; #endif + unsigned int hearpulsing:1; /* (CNET) FXO pulsing audible to caller */ struct zt_distRings drings; @@ -4737,8 +4742,9 @@ #if 0 ast_log(LOG_DEBUG, "Read %d of voice on %s\n", p->subs[index].f.datalen, ast->name); #endif - if (p->dialing || /* Transmitting something */ - (index && (ast->_state != AST_STATE_UP)) || /* Three-way or callwait that isn't up */ + /* (CNET) Let audio through when FXO is dialing */ + if ((!p->hearpulsing && (p->dialing || /* Transmitting something */ + (index && (ast->_state != AST_STATE_UP)))) || /* Three-way or callwait that isn't up */ ((index == SUB_CALLWAIT) && !p->subs[SUB_CALLWAIT].inthreeway) /* Inactive and non-confed call-wait */ ) { /* Whoops, we're still dialing, or in a state where we shouldn't transmit.... @@ -7312,6 +7318,7 @@ tmp->use_callingpres = chan_conf.use_callingpres; tmp->priindication_oob = chan_conf.priindication_oob; tmp->priexclusive = chan_conf.priexclusive; + tmp->hearpulsing = chan_conf.hearpulsing; /* (CNET) Make FXO pulsing audible */ if (tmp->usedistinctiveringdetection) { if (!tmp->use_callerid) { ast_log(LOG_NOTICE, "Distinctive Ring detect requires 'usecallerid' be on\n"); @@ -9827,6 +9834,7 @@ ast_cli(fd, "Fax Handled: %s\n", tmp->faxhandled ? "yes" : "no"); ast_cli(fd, "Pulse phone: %s\n", tmp->pulsedial ? "yes" : "no"); ast_cli(fd, "Echo Cancellation: %d taps%s, currently %s\n", tmp->echocancel, tmp->echocanbridged ? "" : " unless TDM bridged", tmp->echocanon ? "ON" : "OFF"); + ast_cli(fd, "Caller Hears Pulsing: %s\n", tmp->hearpulsing ? "yes" : "no"); /* (CNET) */ if (tmp->master) ast_cli(fd, "Master Channel: %d\n", tmp->master->channel); for (x=0;xvalue, v->lineno); else chan_conf.amaflags = y; + } else if(!strcasecmp(v->name, "hearpulsing")) { + /* (CNET) FXO pulsing audible to caller */ + chan_conf.hearpulsing = ast_true(v->value); } else if(!reload){ if (!strcasecmp(v->name, "signalling")) { if (!strcasecmp(v->value, "em")) { diff -ru asterisk-1.2.16/Makefile asterisk-1.2.16-cnet/Makefile --- asterisk-1.2.16/Makefile 2007-01-09 20:16:45.000000000 -0600 +++ asterisk-1.2.16-cnet/Makefile 2007-03-02 20:25:29.000000000 -0600 @@ -336,6 +336,9 @@ endif endif +# mark as a CNET version +ASTERISKVERSION:=${ASTERISKVERSION}-cnet + ASTCFLAGS+= $(DEBUG_THREADS) ASTCFLAGS+= $(TRACE_FRAMES) ASTCFLAGS+= $(MALLOC_DEBUG)