[Asterisk-cvs] asterisk/channels chan_zap.c,1.297,1.298

markster at lists.digium.com markster at lists.digium.com
Fri Jul 16 21:44:41 CDT 2004


Update of /usr/cvsroot/asterisk/channels
In directory localhost.localdomain:/tmp/cvs-serv14231/channels

Modified Files:
	chan_zap.c 
Log Message:
Add separated dialplan support (bug #2043)


Index: chan_zap.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_zap.c,v
retrieving revision 1.297
retrieving revision 1.298
diff -u -d -r1.297 -r1.298
--- chan_zap.c	16 Jul 2004 22:15:30 -0000	1.297
+++ chan_zap.c	17 Jul 2004 01:30:43 -0000	1.298
@@ -319,6 +319,7 @@
 	int switchtype;				/* Type of switch to emulate */
 	int nsf;			/* Network-Specific Facilities */
 	int dialplan;			/* Dialing plan */
+	int localdialplan;		/* Local dialing plan */
 	int dchannels[NUM_DCHANS];	/* What channel are the dchannels on */
 	int trunkgroup;			/* What our trunkgroup is */
 	int mastertrunkgroup;	/* What trunk group is our master */
@@ -359,6 +360,7 @@
 static int switchtype = PRI_SWITCH_NI2;
 static int nsf = PRI_NSF_NONE;
 static int dialplan = PRI_NATIONAL_ISDN + 1;
+static int localdialplan = PRI_NATIONAL_ISDN + 1;
 
 #else
 /* Shut up the compiler */
@@ -1756,7 +1758,7 @@
 					(p->digital ? -1 : 
 						((p->law == ZT_LAW_ALAW) ? PRI_LAYER_1_ALAW : PRI_LAYER_1_ULAW)));
 		pri_sr_set_called(sr, c + p->stripmsd, p->pri->dialplan - 1,  s ? 1 : 0);
-		pri_sr_set_caller(sr, l, n, p->pri->dialplan - 1, 
+		pri_sr_set_caller(sr, l, n, p->pri->localdialplan - 1, 
 					l ? (ast->restrictcid ? PRES_PROHIB_USER_NUMBER_PASSED_SCREEN : 
 						(p->use_callingpres ? ast->callingpres : PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN)) : 
 						 PRES_NUMBER_NOT_AVAILABLE);
@@ -5927,6 +5929,7 @@
 					pris[span].switchtype = myswitchtype;
 					pris[span].nsf = nsf;
 					pris[span].dialplan = dialplan;
+					pris[span].localdialplan = localdialplan;
 					pris[span].pvts[pris[span].numchans++] = tmp;
 					pris[span].minunused = minunused;
 					pris[span].minidle = minidle;
@@ -8880,6 +8883,20 @@
 			} else {
 				ast_log(LOG_WARNING, "Unknown PRI dialplan '%s' at line %d.\n", v->value, v->lineno);
 			}
+		} else if (!strcasecmp(v->name, "prilocaldialplan")) {
+			if (!strcasecmp(v->value, "national")) {
+				localdialplan = PRI_NATIONAL_ISDN + 1;
+			} else if (!strcasecmp(v->value, "unknown")) {
+				localdialplan = PRI_UNKNOWN + 1;
+			} else if (!strcasecmp(v->value, "private")) {
+				localdialplan = PRI_PRIVATE + 1;
+			} else if (!strcasecmp(v->value, "international")) {
+				localdialplan = PRI_INTERNATIONAL_ISDN + 1;
+			} else if (!strcasecmp(v->value, "local")) {
+				localdialplan = PRI_LOCAL_ISDN + 1;
+			} else {
+				ast_log(LOG_WARNING, "Unknown PRI dialplan '%s' at line %d.\n", v->value, v->lineno);
+			}
 		} else if (!strcasecmp(v->name, "switchtype")) {
 			if (!strcasecmp(v->value, "national")) 
 				switchtype = PRI_SWITCH_NI2;




More information about the svn-commits mailing list