diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 68adc5e74885febdd6d99f1fb771f79595acb444..1e01f9646e7f517cd2fc023eefc7635ded225bdf 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -150,6 +150,8 @@ struct chan_list {
 	int norxtone;
 	int notxtone; 
 
+	int incoming_early_audio;
+
 	int pipe[2];
 	char ast_rd_buf[4096];
 	struct ast_frame frame;
@@ -1210,6 +1212,8 @@ static int read_config(struct chan_list *ch, int orig) {
 	misdn_cfg_get( port, MISDN_CFG_TXGAIN, &bc->txgain, sizeof(int));
 	misdn_cfg_get( port, MISDN_CFG_RXGAIN, &bc->rxgain, sizeof(int));
 	
+	misdn_cfg_get( port, MISDN_CFG_INCOMING_EARLY_AUDIO, &ch->incoming_early_audio, sizeof(int));
+	
 	misdn_cfg_get( port, MISDN_CFG_SENDDTMF, &bc->send_dtmf, sizeof(int));
 
 	misdn_cfg_get( port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(int));
@@ -1733,7 +1737,11 @@ static int misdn_indication(struct ast_channel *ast, int cond)
 				p->state=MISDN_ALERTING;
 				chan_misdn_log(1, p->bc->port, " --> * IND :\tringing pid:%d\n",p->bc?p->bc->pid:-1);
 				misdn_lib_send_event( p->bc, EVENT_ALERTING);
-				tone_indicate(p, TONE_ALERTING);
+				
+				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);
 		}
@@ -2860,7 +2868,11 @@ static void do_immediate_setup(struct misdn_bchannel *bc,struct chan_list *ch ,
 			ret = misdn_lib_send_event(bc, EVENT_PROCEEDING );
 		}
 	}
-	tone_indicate(ch,TONE_DIAL);  
+
+	if ( !bc->nt && (ch->orginator==ORG_MISDN) && !ch->incoming_early_audio ) 
+		chan_misdn_log(1,bc->port, " --> incoming_early_audio off\n");
+	 else 
+		tone_indicate(ch,TONE_DIAL);  
   
 	chan_misdn_log(1, bc->port, "* Starting Ast ctx:%s dad:%s oad:%s with 's' extension\n", ast->context, ast->exten, AST_CID_P(ast));
   
diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h
index 84f346a943644eccefb412b86331e162cb66fb42..1c6bb106d1a0bacd4aec8478d0fb87204ede3920 100644
--- a/channels/misdn/chan_misdn_config.h
+++ b/channels/misdn/chan_misdn_config.h
@@ -43,6 +43,7 @@ enum misdn_cfg_elements {
 	MISDN_CFG_SENDDTMF,           /* int (bool) */
 	MISDN_CFG_HOLD_ALLOWED,        /* int (bool) */
 	MISDN_CFG_EARLY_BCONNECT,      /* int (bool) */
+	MISDN_CFG_INCOMING_EARLY_AUDIO,      /* int (bool) */
 	MISDN_CFG_ECHOCANCEL,          /* int */
 	MISDN_CFG_ECHOCANCELWHENBRIDGED,  /* int (bool) */
 	MISDN_CFG_ECHOTRAINING,        /* int (bool) */
diff --git a/channels/misdn_config.c b/channels/misdn_config.c
index 7716ce39e97647c8dbee456f4f1c484bbf490421..94114baca2f9aceb7cb8dcc93277c497ffc8c26b 100644
--- a/channels/misdn_config.c
+++ b/channels/misdn_config.c
@@ -104,6 +104,7 @@ static const struct misdn_cfg_spec port_spec[] = {
 	{ "senddtmf", MISDN_CFG_SENDDTMF, MISDN_CTYPE_BOOL, "no", NONE },
 	{ "hold_allowed", MISDN_CFG_HOLD_ALLOWED, MISDN_CTYPE_BOOL, "no", NONE },
 	{ "early_bconnect", MISDN_CFG_EARLY_BCONNECT, MISDN_CTYPE_BOOL, "yes", NONE },
+	{ "incoming_early_audio", MISDN_CFG_INCOMING_EARLY_AUDIO, MISDN_CTYPE_BOOL, "no", NONE },
 	{ "echocancel", MISDN_CFG_ECHOCANCEL, MISDN_CTYPE_BOOLINT, "0", 128 },
 	{ "echocancelwhenbridged", MISDN_CFG_ECHOCANCELWHENBRIDGED, MISDN_CTYPE_BOOL, "no", NONE },
 	{ "echotraining", MISDN_CFG_ECHOTRAINING, MISDN_CTYPE_BOOLINT, "0", 1 },
diff --git a/configs/misdn.conf.sample b/configs/misdn.conf.sample
index 09ade12cd61db740926bf9a0b084ed5913fe81aa..1715aaad65949d1c3230d3b1506ad778091cf951 100644
--- a/configs/misdn.conf.sample
+++ b/configs/misdn.conf.sample
@@ -197,6 +197,17 @@ localdialplan=0
 ;
 early_bconnect=yes
 
+
+;
+; turn this on if you like to send Tone Indications to a Incoming
+; isdn channel on a TE Port. Rarely used, only if the Telco allows
+; you to send indications by yourself, normally the Telco sends the 
+; indications to the remote party.
+; 
+; default: no
+;
+incoming_early_audio=no
+
 ; uncomment the following to get into s extension at extension conf
 ; there you can use DigitTimeout if you can't or don't want to use
 ; isdn overlap dial.