From 4d1edcd4fde7916c9cf554baa50ced2a7e3f9b1e Mon Sep 17 00:00:00 2001 From: Nadi Sarrar <ns@beronet.com> Date: Tue, 3 Apr 2007 11:15:45 +0000 Subject: [PATCH] Merged revisions 59804 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r59804 | nadi | 2007-04-03 13:02:46 +0200 (Di, 03 Apr 2007) | 15 lines Merged revisions 59788,59803 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r59788 | nadi | 2007-04-03 11:37:00 +0200 (Di, 03 Apr 2007) | 2 lines Use the new sysfs way of mISDN 1.2 to check if a port is NT or not. ........ r59803 | nadi | 2007-04-03 12:40:58 +0200 (Di, 03 Apr 2007) | 2 lines ptp is the 5th bit, not the 4th. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59805 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/misdn/chan_misdn_config.h | 2 ++ channels/misdn_config.c | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h index eacc22b3e6..55c4166a77 100644 --- a/channels/misdn/chan_misdn_config.h +++ b/channels/misdn/chan_misdn_config.h @@ -83,7 +83,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 9e8bc9a8a0..48bfe724d5 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -323,8 +323,10 @@ static const struct misdn_cfg_spec gen_spec[] = { "\t2 - Messages + Message specific Informations (e.g. bearer capability)\n" "\t3 - very Verbose, the above + lots of Driver specific infos\n" "\t4 - even more Verbose than 3" }, +#ifndef MISDN_1_2 { "misdn_init", MISDN_GEN_MISDN_INIT, MISDN_CTYPE_STR, "/etc/misdn-init.conf", NONE, "Set the path to the misdn-init.conf (for nt_ptp mode checking)." }, +#endif { "tracefile", MISDN_GEN_TRACEFILE, MISDN_CTYPE_STR, "/var/log/asterisk/misdn.log", NONE, "Set the path to the massively growing trace file, if you want that." }, { "bridging", MISDN_GEN_BRIDGING, MISDN_CTYPE_BOOL, "yes", NONE, @@ -967,6 +969,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; @@ -997,6 +1000,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<<5 ? 1 : 0; + fclose(fp); + } +#endif } static void _fill_defaults (void) -- GitLab