[asterisk-commits] trunk r29938 - in /trunk: channels/chan_misdn.c configs/misdn.conf.sample

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed May 24 00:58:53 MST 2006


Author: crichter
Date: Wed May 24 02:58:52 2006
New Revision: 29938

URL: http://svn.digium.com/view/asterisk?rev=29938&view=rev
Log:
fixed to early connect bug which came in yesterday.., also added the transmit of progress indicators through channel vars

Modified:
    trunk/channels/chan_misdn.c
    trunk/configs/misdn.conf.sample

Modified: trunk/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_misdn.c?rev=29938&r1=29937&r2=29938&view=diff
==============================================================================
--- trunk/channels/chan_misdn.c (original)
+++ trunk/channels/chan_misdn.c Wed May 24 02:58:52 2006
@@ -132,6 +132,7 @@
 	MISDN_ALERTING, /*!<  when Alerting */
 	MISDN_BUSY, /*!<  when BUSY */
 	MISDN_CONNECTED, /*!<  when connected */
+	MISDN_PRECONNECTED, /*!<  when connected */
 	MISDN_DISCONNECTED, /*!<  when connected */
 	MISDN_BRIDGED, /*!<  when bridged */
 	MISDN_CLEANING, /*!< when hangup from * but we were connected before */
@@ -2980,7 +2981,6 @@
 	}
 }
 
-
 void import_ies(struct ast_channel *chan, struct misdn_bchannel *bc)
 {
 	const char *tmp;
@@ -2996,6 +2996,9 @@
 
 	tmp=pbx_builtin_getvar_helper(chan,"PRI_USER1");
 	if (tmp) bc->user1=atoi(tmp);
+
+	tmp=pbx_builtin_getvar_helper(chan,"PRI_PROGRESS_INDICATOR");
+	if (tmp) bc->progress_indicator=atoi(tmp);
 }
 
 void export_ies(struct ast_channel *chan, struct misdn_bchannel *bc)
@@ -3014,7 +3017,8 @@
 	sprintf(tmp,"%d",bc->user1);
 	pbx_builtin_setvar_helper(chan,"_PRI_USER1",tmp);
 	
-	pbx_builtin_setvar_helper(chan,"_RDNIS",bc->rad);
+	sprintf(tmp,"%d",bc->progress_indicator);
+	pbx_builtin_setvar_helper(chan,"_PRI_PROGRESS_INDICATOR",tmp);
 }
 
 
@@ -3104,7 +3108,7 @@
 		ch->l3id=bc->l3_id;
 		ch->addr=bc->addr;
 
-		if (bc->nt) {
+		if (bc->nt && ch->state == MISDN_PRECONNECTED ) {
 			/* OK we've got the very new l3id so we can answer
 			   now */
 			start_bc_tones(ch);
@@ -3512,7 +3516,10 @@
 	}
 	
 	/*we answer when we've got our very new L3 ID from the NT stack */
-	if (bc->nt) break;
+	if (bc->nt) { 
+		ch->state=MISDN_PRECONNECTED;
+		break;
+	}
 	
 	/* notice that we don't break here!*/
 

Modified: trunk/configs/misdn.conf.sample
URL: http://svn.digium.com/view/asterisk/trunk/configs/misdn.conf.sample?rev=29938&r1=29937&r2=29938&view=diff
==============================================================================
--- trunk/configs/misdn.conf.sample (original)
+++ trunk/configs/misdn.conf.sample Wed May 24 02:58:52 2006
@@ -37,6 +37,20 @@
 ; default value: yes
 ;
 bridging=no
+
+
+;
+; watches the L1s of every port. If one l1 is down it tries to 
+; get it up. The timeout is given in seconds. with 0 as value it
+; does not watch the l1 at all
+; 
+; default value: 0
+;
+; this option is only read at loading time of chan_misdn, 
+; which means you need to unload and load chan_misdn to change the 
+; value, an asterisk restart should do the trick
+; 
+l1watcher_timeout=0
 
 ; stops dialtone after getting first digit on nt Port
 ;



More information about the asterisk-commits mailing list