aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorautomerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-03 10:38:41 +0000
committerautomerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-03 10:38:41 +0000
commit1605bd45a9b8af069fc169eeaab82c757cdf0131 (patch)
tree54566b4536dc727c361f1022ba309727ddc20981
parent788ae9dddc871dd56168ece91302536a9794cda9 (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@59802 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/misdn/chan_misdn_config.h2
-rw-r--r--channels/misdn_config.c23
2 files changed, 25 insertions, 0 deletions
diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h
index e21c59fdb..9305df500 100644
--- a/channels/misdn/chan_misdn_config.h
+++ b/channels/misdn/chan_misdn_config.h
@@ -68,7 +68,9 @@ enum misdn_cfg_elements {
/* general config items */
MISDN_GEN_FIRST,
+#ifndef MISDN_1_2
MISDN_GEN_MISDN_INIT, /* char[] */
+#endif
MISDN_GEN_DEBUG, /* int */
MISDN_GEN_TRACEFILE, /* char[] */
MISDN_GEN_BRIDGING, /* int (bool) */
diff --git a/channels/misdn_config.c b/channels/misdn_config.c
index cd6a7ffd7..2345bc235 100644
--- a/channels/misdn_config.c
+++ b/channels/misdn_config.c
@@ -128,7 +128,9 @@ static const struct misdn_cfg_spec port_spec[] = {
static const struct misdn_cfg_spec gen_spec[] = {
{ "debug", MISDN_GEN_DEBUG, MISDN_CTYPE_INT, "0", NONE },
+#ifndef MISDN_1_2
{ "misdn_init", MISDN_GEN_MISDN_INIT, MISDN_CTYPE_STR, "/etc/misdn-init.conf", NONE },
+#endif
{ "tracefile", MISDN_GEN_TRACEFILE, MISDN_CTYPE_STR, "/var/log/asterisk/misdn.log", NONE },
{ "bridging", MISDN_GEN_BRIDGING, MISDN_CTYPE_BOOL, "yes", NONE },
{ "stop_tone_after_first_digit", MISDN_GEN_STOP_TONE, MISDN_CTYPE_BOOL, "yes", NONE },
@@ -670,6 +672,7 @@ static void _build_port_config (struct ast_variable *v, char *cat)
void misdn_cfg_update_ptp (void)
{
+#ifndef MISDN_1_2
char misdn_init[BUFFERSIZE];
char line[BUFFERSIZE];
FILE *fp;
@@ -700,6 +703,26 @@ void misdn_cfg_update_ptp (void)
ast_log(LOG_WARNING,"Couldn't open %s: %s\n", misdn_init, strerror(errno));
}
}
+#else
+ int i;
+ int proto;
+ char filename[128];
+ FILE *fp;
+
+ for (i = 1; i <= max_ports; ++i) {
+ snprintf(filename, sizeof(filename), "/sys/class/mISDN-stacks/st-%08x/protocol", i << 8);
+ fp = fopen(filename, "r");
+ if (!fp) {
+ ast_log(LOG_WARNING, "Could not open %s: %s\n", filename, strerror(errno));
+ continue;
+ }
+ if (fscanf(fp, "0x%08x", &proto) != 1)
+ ast_log(LOG_WARNING, "Could not parse contents of %s!\n", filename);
+ else
+ ptp[i] = proto & 1<<4 ? 1 : 0;
+ fclose(fp);
+ }
+#endif
}
static void _fill_defaults (void)