[asterisk-commits] branch crichter/0.3.0 - r8183 in /team/crichter/0.3.0: channels/ channels/mis...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed Jan 18 01:46:16 MST 2006


Author: crichter
Date: Wed Jan 18 02:46:08 2006
New Revision: 8183

URL: http://svn.digium.com/view/asterisk?rev=8183&view=rev
Log:
added support to set default presentation/screening in misdn.conf. This changes the behaviour of the presentation setting\!

Modified:
    team/crichter/0.3.0/channels/chan_misdn.c
    team/crichter/0.3.0/channels/chan_misdn_config.c
    team/crichter/0.3.0/channels/misdn/chan_misdn_config.h
    team/crichter/0.3.0/configs/misdn.conf.sample

Modified: team/crichter/0.3.0/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/team/crichter/0.3.0/channels/chan_misdn.c?rev=8183&r1=8182&r2=8183&view=diff
==============================================================================
--- team/crichter/0.3.0/channels/chan_misdn.c (original)
+++ team/crichter/0.3.0/channels/chan_misdn.c Wed Jan 18 02:46:08 2006
@@ -1233,71 +1233,63 @@
 		
 		/* Will be overridden by asterisk in head! */
 		{
-			char pres[128];
-			
-			misdn_cfg_get( port, MISDN_CFG_PRES, &pres, 128);
-			ast_log(LOG_NOTICE,"pres: %s\n",pres);
-			if (!strcasecmp("not_screened",pres)) {
-				bc->pres=1;
-				bc->screen=1;
-				ast_log(LOG_NOTICE,"pres: NOT SCREENED!\n");
-			} else {
-				bc->pres=0;
-				bc->screen=0;
-				ast_log(LOG_NOTICE,"pres: allowed!\n");
-			}
-			
-		}
-		
-		int def_callingpres;
-		misdn_cfg_get( port, MISDN_CFG_USE_CALLINGPRES, &def_callingpres, sizeof(int));
-		if ( def_callingpres) {
-			
-			switch (ast->cid.cid_pres & 0x60){
+			int pres, screen;
+			
+			misdn_cfg_get( port, MISDN_CFG_PRES, &pres, sizeof(int));
+			misdn_cfg_get( port, MISDN_CFG_SCREEN, &screen, sizeof(int));
+			chan_misdn_log(2,port," --> pres: %d screen: %d\n",pres);
+		
+			if ( (pres + screen) < 0 ) {
+			
+				switch (ast->cid.cid_pres & 0x60){
 				
-			case AST_PRES_RESTRICTED:
-				bc->pres=1;
-				chan_misdn_log(2, port, " --> PRES: Restricted (0x1)\n");
-				break;
+				case AST_PRES_RESTRICTED:
+					bc->pres=1;
+					chan_misdn_log(2, port, " --> PRES: Restricted (0x1)\n");
+					break;
 				
 				
-			case AST_PRES_UNAVAILABLE:
-				bc->pres=2;
-				chan_misdn_log(2, port, " --> PRES: Unavailable (0x2)\n");
-				break;
+				case AST_PRES_UNAVAILABLE:
+					bc->pres=2;
+					chan_misdn_log(2, port, " --> PRES: Unavailable (0x2)\n");
+					break;
 				
-			default:
-				bc->pres=0;
-				chan_misdn_log(2, port, " --> PRES: Allowed (0x0)\n");
-			}
-			
-			switch (ast->cid.cid_pres & 0x3){
+				default:
+					bc->pres=0;
+					chan_misdn_log(2, port, " --> PRES: Allowed (0x0)\n");
+				}
+			
+				switch (ast->cid.cid_pres & 0x3){
 				
-			case AST_PRES_USER_NUMBER_UNSCREENED:
-				bc->screen=0;
-				chan_misdn_log(2, port, " --> SCREEN: Unscreened (0x0)\n");
-				break;
-
-			case AST_PRES_USER_NUMBER_PASSED_SCREEN:
-				bc->screen=1;
-				chan_misdn_log(2, port, " --> SCREEN: Passed Screen (0x1)\n");
-				break;
-			case AST_PRES_USER_NUMBER_FAILED_SCREEN:
-				bc->screen=2;
-				chan_misdn_log(2, port, " --> SCREEN: Failed Screen (0x2)\n");
-				break;
+				case AST_PRES_USER_NUMBER_UNSCREENED:
+					bc->screen=0;
+					chan_misdn_log(2, port, " --> SCREEN: Unscreened (0x0)\n");
+					break;
+
+				case AST_PRES_USER_NUMBER_PASSED_SCREEN:
+					bc->screen=1;
+					chan_misdn_log(2, port, " --> SCREEN: Passed Screen (0x1)\n");
+					break;
+				case AST_PRES_USER_NUMBER_FAILED_SCREEN:
+					bc->screen=2;
+					chan_misdn_log(2, port, " --> SCREEN: Failed Screen (0x2)\n");
+					break;
 				
-			case AST_PRES_NETWORK_NUMBER:
-				bc->screen=3;
-				chan_misdn_log(2, port, " --> SCREEN: Network Nr. (0x3)\n");
-				break;
+				case AST_PRES_NETWORK_NUMBER:
+					bc->screen=3;
+					chan_misdn_log(2, port, " --> SCREEN: Network Nr. (0x3)\n");
+					break;
 				
-			default:
-				bc->screen=0;
-				chan_misdn_log(2, port, " --> SCREEN: Unscreened (0x0)\n");
-			}
-
-			
+				default:
+					bc->screen=0;
+					chan_misdn_log(2, port, " --> SCREEN: Unscreened (0x0)\n");
+				}
+
+			
+			} else {
+				bc->screen=screen;
+				bc->pres=pres;
+			}
 		}
 
 		

Modified: team/crichter/0.3.0/channels/chan_misdn_config.c
URL: http://svn.digium.com/view/asterisk/team/crichter/0.3.0/channels/chan_misdn_config.c?rev=8183&r1=8182&r2=8183&view=diff
==============================================================================
--- team/crichter/0.3.0/channels/chan_misdn_config.c (original)
+++ team/crichter/0.3.0/channels/chan_misdn_config.c Wed Jan 18 02:46:08 2006
@@ -96,7 +96,8 @@
 	{ "localdialplan", MISDN_CFG_LOCALDIALPLAN, MISDN_CTYPE_INT, "0", NONE },
 	{ "nationalprefix", MISDN_CFG_NATPREFIX, MISDN_CTYPE_STR, "0", NONE },
 	{ "internationalprefix", MISDN_CFG_INTERNATPREFIX, MISDN_CTYPE_STR, "00", NONE },
-	{ "presentation", MISDN_CFG_PRES, MISDN_CTYPE_STR, "allowed", NONE },
+	{ "presentation", MISDN_CFG_PRES, MISDN_CTYPE_INT, "-1", NONE },
+	{ "screen", MISDN_CFG_SCREEN, MISDN_CTYPE_INT, "-1", NONE },
 	{ "always_immediate", MISDN_CFG_ALWAYS_IMMEDIATE, MISDN_CTYPE_BOOL, "no", NONE },
 	{ "immediate", MISDN_CFG_IMMEDIATE, MISDN_CTYPE_BOOL, "no", NONE },
 	{ "senddtmf", MISDN_CFG_SENDDTMF, MISDN_CTYPE_BOOL, "no", NONE },

Modified: team/crichter/0.3.0/channels/misdn/chan_misdn_config.h
URL: http://svn.digium.com/view/asterisk/team/crichter/0.3.0/channels/misdn/chan_misdn_config.h?rev=8183&r1=8182&r2=8183&view=diff
==============================================================================
--- team/crichter/0.3.0/channels/misdn/chan_misdn_config.h (original)
+++ team/crichter/0.3.0/channels/misdn/chan_misdn_config.h Wed Jan 18 02:46:08 2006
@@ -35,7 +35,8 @@
 	MISDN_CFG_LOCALDIALPLAN,       /* int */
 	MISDN_CFG_NATPREFIX,           /* char[] */
 	MISDN_CFG_INTERNATPREFIX,      /* char[] */
-	MISDN_CFG_PRES,                /* int (bool) */
+	MISDN_CFG_PRES,                /* int */
+	MISDN_CFG_SCREEN,              /* int */
 	MISDN_CFG_ALWAYS_IMMEDIATE,    /* int (bool) */
 	MISDN_CFG_IMMEDIATE,           /* int (bool) */
 	MISDN_CFG_SENDDTMF,           /* int (bool) */

Modified: team/crichter/0.3.0/configs/misdn.conf.sample
URL: http://svn.digium.com/view/asterisk/team/crichter/0.3.0/configs/misdn.conf.sample?rev=8183&r1=8182&r2=8183&view=diff
==============================================================================
--- team/crichter/0.3.0/configs/misdn.conf.sample (original)
+++ team/crichter/0.3.0/configs/misdn.conf.sample Wed Jan 18 02:46:08 2006
@@ -213,17 +213,17 @@
 ;callgroup=1
 ;pickupgroup=1
 
-; Allows/Screens Callerid
-;
-; possible values: allowed,not_screened
-;
-; be aware, if you set to allowed you need to set a correct 
-; callerid in the dialplan or set it here in the misdn.conf
-; Some Telcos don't care about wrong callerids, others do !
-;
-; default value: allowed
-;
-;presentation=not_screened
+
+;
+; these are the exact isdn screening and presentation indicators
+; if -1 is given for both values the presentation indicators are used
+; from asterisks SetCallerPres application.
+; s=0, p=0 -> callerid presented not screened
+; s=1, p=1 -> callerid presented but screened (the remote end does not see it!)
+; 
+; defaule values s=-1, p=-1
+presentation=-1
+screen=-1
 
 ; this enables echocancellation, with the given number of taps
 ; be aware, move this setting only to outgoing portgroups!



More information about the asterisk-commits mailing list